IntegrityWare Logo

Quick Links

IntegrityWare News


    IntegrityWare, Inc. updates it's website to reflect a new product line based on the Solids# modeling kernel. We believe that this is the only available modeling kernel completely implemented using the C# programming language.

  • Susan Blackman

    IntegrityWare, Inc. has lost a valuable employee. Sue passed away in late April from an aggressive form of cancer. I know many of you enjoyed working with her to solve your issues. She was a tremendous asset to our company and will be greatly missed. She worked for us for about 10 years. Sue contributed greatly to the usability of our products and their professional look. We will all miss you Sue!

Evolution of Integrityware

Our New Offerings

We believe that IntegrityWare has developed the only fully functional geometric modeling kernel written completely in the C# programming language. One of the surprising things about Solids# is the performance compared to the similar functionality available the C++ modeling kernel. For everthing we have worked at optimizing, the worst result we have achieved is a factor of two slower than C++. We often we achieve results up to 10 times faster in Solids# both because of algorithm optimization and parallel processing. One of the great advantages that we have noticed is the 4x to 10x decrease in development time for applications on top of the Solids# kernel.

The development of .NET Core has enabled Solids# to transparently migrate to all other .NET Core platforms such as the Mac, Linux, and Unix. The upcomming .NET Core 3.0 release will support WPF and also enable our Cyborg3D application framework to be multi-platform. Take a look at Power Surfacing add-in for SOLIDWORKS® and Cyborg3D Mesh2CAD standalone application on our nPowerSoftware site to see what we have been able to do with C#-based modeling kernel. Below is a summary of the IntegrityWare products:


  • Solids# Logo

    Solids# is a fully functional geometric modeling kernel written in the C# language. It contains classes to create and manipulate CAD Boundary Representations (BREP), polygonal meshes, subdivision surfaces, and compact meshes structure. The BREP utilizes a Non-Manifold Topological representation along with NURBS-based curves and surfaces. The polygonal meshes utilize the Face-Edge data structure. The subdivision surface mesh supports Catmul-Clark subdivision. The compact mesh is an indexed based format which is structured similar to the Wavefront OBJ file format.

    More Info.

  • Solids# Applications

    The Solids# Applications provide advanced applications in the area of reverse engineering for subdivision surfaces, scanned meshes and sculpted meshes into CAD compatable NURBS Breps.

    More Info.

  • Cybiorg3D Logo

    Cyborg3D# is an application development platform that utilizes the latest WPF technology to provide a 3D enviornment for creation of customized applications. There is a 3rd Party Takeover library which essentially allows the full customizaion of the user interface. Our high performance OpenGL based graphics processing provides an excellent platform for even very heavy graphics intense applications.

    More Info.

  • Solids++ Logo

    Solids++ is a full function geometric modeling kernel written in the C++ language. It contains classes to create and manipulate both CAD Boundary Representations (BREP) and polygonal meshes. It provides a Non-Manifold Topological representation along with NURBS-based curves and surfaces. Operations supported inclsude Boolean, Filleting, Shelling, Tessellation, etc.

    More Info.

  • POPLib++ Logo

    POPLib++ (Polygon Optimization Libary) is a subset of Solids++ designed specifically for converting CAD data into a high quality water tight polygonal meshes. POPLib is an industry leading tessellation engine. It can control of the tessellation using chord height tolerances, angular tolerances, maximum edge length and aspect ratio.

    More Info.

Our Story

IntegrityWare, Inc. was formed in 1996 with the goal of providing advanced geometric modeling technology. To achieve longevity, companies need to regularly reinvent themselves. This is the story of how we have done that over the years to arrive at the point where we are at today.

From 1996 through 2002 our primary focus was on developing the Solids++ geometric modeling kernel, This kernel included all of the functionality you would typically find in modeling kernels like Parasolid and ACIS such as 3D Booleans, Filleting, and Shelling. Our kernel was not as focused on mechanical design as those two were. We focused primarily on tools to do fast query and analysis. Solids++ found a home in applications doing precise NURBS ray tracing, precise distance measurement, tessellation of CAD data, data translation, etc.

Staring in 2002 we opened a new division of the company called nPowerSoftware. The focus of this division was to develop applications on top of the Solids++ kernel. Initially we developed plug-ins for 3DS Max, Maya, and Rhino. For several years we continued to develop both our Plug-ins and Solids++ kernel. One of the interesting benefits of also having end user products is that you push the underlying kernel and make lots of improvements in breadth, depth as well as the overall reliability and performance.

During 2006 I had to work from home for several months while I helped take care of my wife who was battling cancer. More out of curiosity than anything, I started messing around with C#. My assumption is that the performance differences between C++ and C# would prohibit C# from being used for serous geometric modeling software development. I did some prototyping in C# with the polygonal modeling part of the Solids++ kernel. Much to my surprise, with some reworking I was able to achieve similar perfomance. I spend the next year converting the C++ code in Solids++ into C# code to produce an early version of the Solids# geometry kernel.

Starting in 2007 we focused most of our new development on the Solids# kernel. Utilizing that Kernel we produced plug-in products for Modo and SOLIDWORKS. As part of this effort we developed the Solids# Applications for Subdivisions Surface Modeling and the conversion from Subdivision Surfaces to NURBS. After that we also worked for many years on the development of new reverse engineering technology. Power Surfacing RE plug-in for SOLIDWORKS and our Cyborg3D Mesh2CAD standalone product. These two products are leading the industry in reverse engineering organic scanned meshes and sculpted meshes (i.e. ZBrush meshes).

Starting late in 2018 we started the process of preparing the Solids# Modeking Kernel, the Solid# Applications, and Cyborg3D for licensing as IntegrityWare OEM library products alongside Solids++.