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 similar functionality available in the C++ modeling kernel. For everything we have worked at optimizing, the worst result we have achieved is a factor of two slower than C++. However, most functions perform better in C#; we often achieve results up to 10 times faster in Solids# because of the ease of algorithm optimization and parallel processing. One of the great advantages that we have noticed is the 4x to 10x improvement in development time for applications running on the Solids# kernel. See SOLIDS# press release. And the SOLIDS# press release on MCAD Cafe.
Solids# Cloud Computing
The development of .NET Core has enabled Solids# to transparently migrate to all other .NET Core and .NET standard platforms such as the Mac, Linux, and Unix. This makes Solids# and excellent choice to develop Cloud-based applications. The upcoming .NET Core 3.0 release will support WPF and also enable our Cyborg3D application framework to be multi-platform. Take a look at the Power Surfacing add-in for SOLIDWORKS® and the Cyborg3D Mesh2CAD standalone application on our nPowerSoftware site to see what we have been able to produce with our C# based modeling kernel. Below is a summary of the IntegrityWare products:
Solids# is a fully functional geometric modeling kernel written in the C# language.
The Solids# Applications provide advanced applications in the area of reverse engineering for subdivision surfaces, scanned meshes and sculpted meshes into CAD compatible NURBS Breps.
Solids++ is a full function geometric modeling kernel written in the C++ language.
POPLib++ (Polygon Optimization Library) is a subset of Solids++ designed specifically for converting CAD data into a high quality, water tight polygonal meshes.
Our data translation libraries provide the ability to import and export standard CAD formats such as STEP, IGES, SAT, and openNURBS
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 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 and depth, as well as 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 performance. I spent 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. The Power Surfacing RE plug-in for SOLIDWORKS and our Cyborg3D Mesh2CAD standalone product levered this reverse engineering technology to achieve great success. 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# Modeling Kernel, the Solid# Applications, and
Cyborg3D for licensing as IntegrityWare OEM library products alongside Solids++.