**SOLIDS++ has sufficient breadth and depth of functionality for most 3D design applications.**

SOLIDS++™ is not just a Solids Modeling Kernel, it is much more. SOLIDS++ is a Non-manifold Modeling Kernel that provides a comprehensive suite of tools for Solids Modeling, Surface Modeling, Curve Modeling, Polygonal Modeling and Non-Manifold Modeling. SOLIDS++ has sufficient breadth and depth of functionality to replace existing modeling kernels in traditional MCAD applications.

- Curve Modeling
- Surface Modeling
- Solid Modeling
- Non-Manifold Modeling
- Polygonal Modeling

The combination of traditional Solids Modeling Tools with Polygonal Modeling Tools make it a great choice for AEC applications development. The Curve and Surface Modeling Tools also make it great for applications such as industrial design and graphical design. The fast intersection, ray-tracing and query tools make it suitable for analysis applications such as CMM, Optical Analysis, and NC. The native Non-Manifold Topology and tessellation engine make it an excellent choice for FEM analysis packages. Hidden curve removal is useful for drafting, drawing production, and documentation generation.

Benefits

- Powerful Polygon tools for AEC applications Development
- Curve and Surface Tools for Industrial and Graphical Design
- Fast Ray Tracing for Optical Analysis
- Fast Measurement tools for Coordinate Measurement
- FEM Non-Manifold Topology and Tessellation

Non-Manifold Topology

The diagram below depicts the non-manifold topological (NMT) boundary representation. The NMT data structure allows the representation of objects impossible to represent using traditional manifold topological structures.

High Level Feature List

The feature list includes the important high level tools and is not an exhaustive list. For a comprehensive list of all of the classes and associated methods see our SOLIDS++ documentation license form which is online. Click "Documentation" to the left.

Boolean |
The SOLIDS++ Boolean is able to handle Union, Intersection and Difference of traditional manifold solid objects plus the various combinations of curve, solid, surface and non-manifold objects. They handle the very difficult coincident and tangency cases extremely well. They support results which are inherently non-manifold. We think that they are the most reliable, precise, NURBS based Booleans anywhere. There is also a tool for 2-D Booleans. |

Merge |
The Merge tool is like a general case of the Boolean which simply combines two objects into a single topological network. In fact, the Boolean is implemented by "Merge" plus selection and deletion of the unneeded topological elements. The Merge tool can be used in many other ways. For example, we utilize it in our Shelling and Filleting to resolve self-intersection cases. |

Filleting |
SOLIDS++ has both Surface Filleting and Topological Filleting. The surface filleting takes two surfaces and produces one or more fillets between them. There are many options to control the type of surface created and how it is trimmed. The Topological Filleting tool rounds edges of Brep object which may be either a closed solid, open shell or non-manifold object. Highlights include: variable radius filleting, G2 & G3 blending surfaces, large radius cases. See the Filleting White Paper |

Shelling & Offsetting |
SOLIDS++ can shell (hollow out) or offset objects using both an extended surface, or rounding algorithm. The extended surface algorithm extends and re-intersects surfaces at convex edges. For example, the extended offset of a box is a bigger box. The rounding algorithm produces a precise offset volume. For example, the rounded offset of a box is a filleted box. The shelling algorithm also supports extended shelling of open objects and can be used to produce an offset solid from an open shell. |

Tessellation Engine |
The Tessellation Engine takes a NURBS based boundary representation (Brep) and creates a polygonal approximation. All of the tolerances used to create the approximation can be set by the user to achieve a very large variety of meshes suitable to the given application. It is able to produce "water tight" meshes without cracks or gaps when the original object is a solid. Go to the POPLib page for more detailed information. |

Local Operations |
SOLIDS++ has a Local Operation Tool to replace the surface of one or more face and re-compute the surrounding edges by extension and intersection. For example, it is possible to replace a planar face of a box by a free form surface. |

Advanced Surfacing Tools |
The Advanced Surfacing Tools give the user a set of tools to create higher surfaces with higher continuity connections between adjacent surfaces. It is possible to produce G2 and G3 blending curves and surfaces with these tools. Higher continuity surface creation tools are essential for many Industrial Design applications where visual quality is very important. See the Blending White Paper; the Sweeping White Paper, and the Derivative Surface White Paper. |

Precise Hidden Curve Removal |
The SOLIDS++ hidden curve removal tool can determine the visibility of the edges of a Brep object from a given view point. It works directly on the precise 3-D geometry not a display approximation. The results are therefore suitable for drawing productions applications. |

NURBS Ray-Firing |
SOLIDS++ has a highly optimized NURBS Ray-Firing utility that is able to fire tens of thousands of rays per second at NURBS surfaces and Brep objects. We have many existing customers using our tools to do optical analysis because no other kernel matches our ray-firing performance. |

NC Machining Tools |
We have recently started development of a set of tools to leverage our geometry tools in the NC Machining arena. Our existing tools include cross-cut finish machining, a cutter surface, 2-D offsetting. |

Sweeping & Primitive Creation |
SOLIDS++ supports a large variety of sweeping and primitive creation tools. Included are: Box, Cylinder, Cone, Torus, Revolution, Extrusion, Sweep along Curve, Loft, Swung and Planar. |

Topology Solver |
The Topology Solver supports a variety of solver operations between two Brep objects or between a Brep and a surface, curve or point. Solver operations supported include: minimize, normalize, maximize, directed minimize, directed maximize, projected minimize, projected maximize, signed directed minimize, and 3D signed directed minimize. |

Sewing |
SOLIDS++ has a powerful sewing tool that can be used to combine trimmed surfaces into solids, or open shells. The tool can sew an entire Brep object, or just a selected set of edges. The sew tool does a lot of work to determine the optimal edge to utilize when combining two edges. The Sew tool is able to sew even very difficult models with relative large gaps between adjacent edges. |

Intersection |
There is a comprehensive set of tools for intersecting things. You can intersect the various combinations of Brep objects, surfaces, curves, and points. |

Trimming Tools |
The Trimming Tools allow users to create Brep faces from a large variety of input. It handles periodic surfaces, 3-D trimming curves, 2-D trimming curves, surfaces with C0 continuity, and many other difficult trimming problems often associated with importing data from different systems. |

Polygonal Modeling Kernel |
SOLIDS++ includes fully functional polygonal modeling kernel. Operations include: Booleans, Decimation, Mesh Cleanup, Quad-Meshing, Ray-Firing, topological queries, and much more. |

Database IO |
It is possible to serialize the SOLIDS++ Brep and Polygon objects by supplying the low level read/write methods associated with your native database. It is also possible to read/write the Brep and Polygon objects to/from files and i/o streams. |