SMLib™ Features

Boolean/Merge Operator

In the figure at the right, a base plane and a vertical curved surface have been combined into a single well defined object with the Merge operator.

The third surface is added and merged into the first two surfaces to complete the sides of the mouse. The result is again a well defined object.

When the top surface is added and merged into the other surfaces, a volume has been enclosed and a new region has been defined. The merge operator notifies the user that a solid has been constructed.

The next operation easily identifies and removes all the extra surface pieces, the “fins”. Our mouse is a complete solid.

One of the common steps required in order to manufacture such parts is to be able to split the part into its upper and lower halves. A splitting surface has been added and the merge operator divides the mouse maintaining a well defined object.

The splitting surface can be trimmed back to leave the mouse divided into two halves.

In opposition to a manifold solid modeler, a non-manifold (NMT) representation is necessary in order to merge a surface into a model. With an NMT modeler, the intermediate stages of the construction process are not required to be a closed solid.

Fillet Operator

Fillets with maximal, beveled and edge-tangency.

Fillets with reverse trim, linear cross section & mirror cross section.

Fillets with compliment cross section and multiple fillets.

This is a variable radius filleting example which uses a NURBS function as it’s law curve.

This is an illustration of a large radius fillet cut through a wall and a fillet flow around a boss.

This is a interesting fillet. What happens here is that the radius of curvature gets smaller than the fillet radius and produces self-intersecting rails. We do a step back and then blend between the rail curves to produce a surface. This is actually accomplished by one of our error handlers. The default handler simply returns an error. The “Blending” Self-Intersection Handler does some blending and creates a reasonable surface by stepping back a given distance from the intersection. The cross section of the fillet is no longer circular in that area.


Identify edges of feature to remove (in red)

Defeaturing tool returns the model without the feature and the feature as its own model

Identify edges of features to remove (in red)

Defeatured model

Identify edges of fillet to remove (in red)

De-filleted model

Shell Offset

Non-manifold sweeping – a point, curve, or face can be used to sweep to the next dimension whereby a face of a solid is used to create a new region sharing the same face. If the face is deleted, the result is a single solid.

Shelling – one of the most difficult operations in solid modeling occurs when the offset distance gets larger building the offset. An example of the usefulness of shelling is in machining parts where the offset shell is used for determining cutter paths.

N-Sided Patch

This is a nice image of the N-sided patch in action in the filleting of 6 edges at one vertex.