IntegrityWare, Inc. releases SOLIDS# geometric modeling kernel (in C#)
[ Back ]   [ More News ]   [ Home ]
IntegrityWare, Inc. releases SOLIDS# geometric modeling kernel (in C#)

San Diego, August 21, 2023 - IntegrityWare, Inc. announces the release of SOLIDS#, a geometric modeling kernel written entirely in the C# programming language.

We believe that SOLIDS# is the first fully functional geometric modeling kernel written completely in the C# programming language. C# is an extremely productive high-level programming language; and for geometric modeling, C# is also a very high-performance language due to the ease of algorithm optimization and parallel processing.  SOLIDS# is an Object-Oriented, non-manifold modeling kernel with a comprehensive suite of tools for solid, surface, curve, polygonal and subdivision surface modeling.  SOLIDS# has sufficient functional breadth and depth to be utilized in virtually any 3D modeling application. The Non-Manifold Topology (NMT) data structures allow the representation of objects impossible to represent using traditional manifold topological structures. The combination of solid / surface modeling tools with polygonal modeling tools makes SOLIDS# an excellent choice for applications development across a wide range of industries. The curve, surface and subdivision surface modeling (SubD) make SOLIDS# an outstanding choice for applications such as industrial design and graphical design. The fast intersection, ray-tracing and query tools make it optimal for analysis and measurement applications such as CMM, optical analysis, and NC. The ultra fast multi-threaded tessellation engine makes it an excellent choice for FEM analysis packages and high-performance graphics systems. Hidden curve removal is useful for drafting, drawing production, and documentation. 

High Level Feature List

This feature list includes some of the important high-level SOLIDS# tools and is not an exhaustive list.

SOLIDS# supports Boolean Union, Intersection and Difference of traditional manifold solid objects, plus the various combinations of curve, solid, surface and non-manifold objects. SOLIDS# supports non-manifold results. There is also a 2-D Boolean tool. 

The Merge tool is like a general Boolean case which simply combines two objects into a single topological network.

SOLIDS# supports both surface filleting and topological filleting. Highlights include: variable radius filleting, G2 & G3 blending surfaces, large radius cases.

Shelling & Offsetting 
SOLIDS# can shell (hollow out) or offset objects using both an extended surface or rounding algorithm.

Tessellation Engine 
The tessellation engine generates a polygonal approximation from a NURBS based boundary representation (BREP), which is very useful for graphics applications. All of the tessellation parameters and tolerances can be set by the user to achieve a wide variety of meshes suitable to the given application. It produces a "water tight" mesh from a solid (without cracks or gaps).

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

Advanced Surfacing Tools 
The Advanced Surfacing Tools give the user a set of tools to create higher order surfaces, with higher continuity connections between adjacent surfaces. These tools support G2 and G3 blending curves and surfaces. 

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 on a display approximation. The results are therefore suitable for accurate drawing production applications.

NURBS Ray-Firing 
SOLIDS# has a highly optimized, multi-threaded ray-firing utility that is able to fire tens of thousands of rays per second at NURBS surfaces and BREP objects, which is very useful for real time interference detection and optical analysis.

NC Machining Tools 
Includes cross-cut finish machining, a cutter surface, 2-D offsetting.

Sweeping and Primitive Creation 
SOLIDS# supports a large variety of sweeping and primitive creation tools like Box, Cylinder, Cone, Torus, Revolution, Extrusion, Sweep along Curve, Loft, Rail Sweep, Swung and Planar.

Topology Solver 
The Topology Solver supports a variety of solver operations (minimize, normalize, maximize, directed minimize, directed maximize, projected minimize, projected maximize, signed directed minimize, and 3D signed directed minimize) between two BREP objects, or between a BREP and a surface, curve or point.

SOLIDS# has a powerful sewing tool that can be used to combine trimmed surfaces into solids or open shells. The Sew tool is able to sew even very difficult models with relatively large gaps between adjacent edges.

SOLIDS# contains a comprehensive set of tools for intersecting various combinations of BREP geometry (surfaces, curves, 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 a fully functional polygonal modeling kernel. Operations include: Booleans, Decimation, Mesh Cleanup, Quad-Meshing, Ray-Firing, topological queries, and much more.

Mesh Tools 
SOLIDS# includes a highly optimized structure for handling large meshes such as those produced by scanning. It includes an integrated bounding volume hierarchy to enable very fast closest point measurement and ray tracing.

Subdivision Surfaces 
SOLIDS# includes support for Catmul-Clark subdivision surfaces. The software is set up to enable easy implementation of other subdivision algorithms. Also included are conversion tools to convert to and from a polygonal mesh.

Database IO 
Provides a mechanism 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.


SOLIDS# Cloud Computing

The development of .NET Core has enabled SOLIDS# to transparently migrate to all other .NET Core platforms such as Mac, Linux, and Unix. This makes SOLIDS# and excellent choice to develop cloud-based, or multi-platform applications. The upcoming .NET Core 3.0 release will support WPF and also enable our SOLIDS# application framework to be multi-platform.


SOLIDS# Applications are patented, advanced applications built on top of the SOLIDS# modeling kernel.  The package includes never-fail shelling/offsetting, Sub-D to NURBS conversion, triangle mesh to quads, mesh offsetting/insetting, quad fill, and other reverse engineering tools.  These patented tools can be utilized from either a direct API interface or as a separate executable that can be run in the background.                


Never-Fail Shelling

IntegrityWare has developed and patented an advanced shelling and offsetting tool that will offset even extremely complex shapes at large distances where there are many self-intersections. These cases typically fail in standard CAD offsetting tools.

Reverse Engineering Scanned and Sculpted Meshes

Using our patented technology, SOLIDS# Reverse Engineering is able to capture very small details from scanned and sculpted meshes when creating CAD NURBS BREP data. Our two-step process of Quad Wrap and Shrink Wrap give you great flexibility in determining the quality of the resulting CAD data.

Subdivision Surface to CAD

SOLIDS# Subdivision Surface to CAD conversion tools produce aesthetically pleasing Class A surfaces with tangent and curvature continuity from a polygonal subdivision surface control mesh. The subdivision surface has controls to allow both full and partial creasing of edges and vertices. It is even possible to constrain subdivision surfaces to previously created CAD models. This patented technology facilitates the design of organic shapes using subdivision modeling, with the ability to connect them with traditional NURBS CAD parts. 

Additional Polygonal Mesh Tools

SOLIDS# also offers the following tools for meshes: 


IntegrityWare Inc. is a company that specializes in advanced geometric modeling solutions. Founded in 1996, IntegrityWare has been providing advanced modeling solutions to a growing base of customers building industry-leading solutions. The SOLIDS++ geometric modeling kernel is an Object-Oriented non-manifold modeling kernel that provides a comprehensive suite of geometry and topology tools for solids modeling, surface modeling, curve modeling, polygonal modeling and non-manifold modeling. SOLIDS++ has been in development for more than 25 years, with research and development of the most advanced modeling solutions. The SOLIDS++ kernel is licensed to developers needing to provide the most advanced geometric modeling functionality to their customers.


For more information on IntegrityWare, Inc. and SOLIDS#, visit


IntegrityWare contact

David Gill, President


Read the complete story ...