by Sergey Biryukov, mathematician and programmer at C3D Labs
Creating 3D fillets is one of the most complex tasks undertaken by a geometric kernel. Before creating the fillets, the application must know the arrangement of the 3D faces involved and, at the same time, be aware of adjacent faces that may also be affected by the operation. Some elements in the model may even be eliminated after the fillet is applied, while others may end up being split into two or more parts.
The problem is that it is impossible to take into account all possible construction outcomes ahead of the operation, and so we at C3D Labs use two approaches in solving the problem. Our first approach is to add, on a regular basis, new fillet construction cases to the kernel. Licensees of our software will find them in the updated C3D Modeler 2018.
For instance, one of special 3D filleting cases we recently added was for constructing elaborate screw propeller surfaces with the KOMPAS-3D MCAD system.
Our second approach involves adding new functions to the fillet operation to help when previous algorithms could fail. For instance, our C3D Modeler 2018 API is for the first time able to create a three-faced fillet. In this case, the selected face is completely replaced with the filleted surface, which basically connects the adjacent faces. In real life, it is quite challenging to accomplish this operation without advanced tools, because it requires an exact chain of fillet edges to avoid producing residual elements in the model, such as flat fragments or irregular curves.
This is exactly the kind of case when the three-edge fillet tool comes in handy. The result is a surface with smooth connections to faces adjacent to the reference face. Using this new filleting technique, a variety of surfaces can be constructed, with the fillet radius varying depending on the parameters of the fillet area.
As this function is new to the C3D Modeler, we have included a special surface for the task, one that is defined by several supporting curves. This in turn required a new algorithm involving a complex mathematical tool known as “numerical methods of equation solving.”
If you think that mathematical theory is not that relevant to software development, then you should know that developers of our geometric kernel create formulas more often than they write source code!
We invite you to submit filleting cases that our modeler might not yet handle. Contact us info@c3dlabs.com.