Topologically dependent transformations

There is a class of operations required as part of the model topology. In interactive CAD, we can, using the mouse pointer, point to such an element and point it as a guide. This method is not available in scripted CAD. The general approach of ZenCad is that such an element is specified using the "closest point" method. When specifying an argument, a point is specified instead of a topology element. The selected element is the element, the distance to which from the topology element will be minimal.


Fillet

Body rounding operation. If the body is solid, the edges are modified. If flat - tops. Fillets are specified by radius r and an array of nearest pointsrefs. If refs == None, all elements of the topology are considered selected.

fillet(proto=model, r=radius, refs=referencedPoints)
fillet(proto=model, r=radius)
model.fillet(radius, referencedPoints)
model.fillet(radius)




Chamfer

Body chamfering operation. Unlike rounding, it is applied only to solid bodies. The chamfer is specified by the distance r taken from the edge to the chamfer line and an array of the nearest pointsrefs. If refs == None, all elements of the topology are considered selected.

TODO: asymmetrical chamfer.

chamfer(proto=model, r=radius, refs=referencedPoints)



Thicksolid

The operation of creating a thin-walled volumetric body. Defined by the prototype model shp and an array of points closest to the removed facesrefs. The wall thickness t is also specified. If the wall thickness is positive, the walls grow outward. If negative - inward.

thicksolid(proto=model, t=thickness, refs=referencedPoints)