Intro
Fillets create roundings on the edges of shapes. They are used to create smooth transitions between two or more surfaces on the shells and solids. Fillets can also be applied to create roundings between two or more edges in a wire. Fillets are used in many different industries to give a more organic look to the shapes and avoid sharp edges.
Fillets on a 3D solid
How fillets can be done on a solid?
In bitbybit we allow few ways to create fillets. If the shape is solid, you can simply apply a rounding of the given radius to all the edges of the solid. In case you want to apply a fillet to a single edge or few edges, you have to use indexes of the edges.
Fillet all edges of a solid
First let's see how to apply a fillet on all edges of the solid in the TypeScript, Rete and Blockly. This is quite simple, you'll just use the "fillet edges" command. Here are the examples:
How to know which index applies to which edge on the solid?
When you do not want to apply a single radius to all the edges of your shape, you must provide edge indexes and the list of radiuses in two separate arrays to a fillet edge command. You should first figure out which index applies to which edge on the solid. Index is an address of the edge on the particular shape. Indexes on edges, due to some legacy issues related to blockly, are starting with 1, not 0.
When using a drawAnyAsync command with occt shape entity, you can use OCCT shape options and turn on the "draw edge indexes" option. With this option turned on, you will see the indexes of the edges on the solid in 3D space. Keep in mind that after you apply the fillet, the number of edges on your shape will increase and old index values will not be valid anymore.
Below you will find the TypeScript, Rete and Blockly code examples that create a solid box and enable the drawing of edge indexes:
Applying variable radius on specific edges
When you know edge indexes you can apply a fillet with different radiuses on different edges. Below you will find the TypeScript, Rete and Blockly code examples that create a solid box and apply a fillet with different radiuses on different edges:
Applying fillets on 2D wires
Fillets can also be applied to create roundings between two or more edges in a wire. As with shapes, you can apply a fillet either globally to all of the corners of the wire or to specific corners. Below you will find the TypeScript, Rete and Blockly code examples that create a wire and apply a fillet with the same radius to all corners.
Applying fillets on specific corners of 2D wires
Fillets on a 2D wire
While it is often required to simply round all the corners of the wire with the same radius, it is also possible to apply different radiuses to different corners. Below you will find the TypeScript, Rete and Blockly code examples that create a wire and apply a fillet with different radiuses to different corners.