As software developers ourselves we tend to provide the best possible support and training materials for you to achieve your goals faster and deliver better products to your customers.
Complete a series of video tutorials and training courses to learn the basics of programming with geometric modeling kernel and jump-start the development of your software using C3D Toolkit.
Learn moreCheck the developer manual to get a brief overview of C3D Toolkit functionality. This document is intended for new users and those who are choosing a geometric modeling kernel for their software.
DownloadUnderstand the details with full technical documentation of C3D Toolkit elements, including geometric modeling kernel, constraint solver, visualization and model import/export.
ReadRead the technical documentation on Web Vision "Viewer API" module.
ReadThe possibility of wire frame extension, basing on earlier created curve extension algorithm, has been added. See MbResultType ExtendWireFrame(...) function in the file action_wireframe.h.
The class MbExtendCurveCreator does not support storing the source (extended) curve. Consequently, the constructor with curve in input parameter has been declared as deprecated.
The function CreateExtendedCurve(...), returning SPtr of creator, has been declared as deprecated. New API does not have any alternative.
The constructor of MbSimpleWireFrameCreator has been modified. Now it applies c3d::ConstWireEdgesSPtrVector instead of c3d::WireEdgesSPtrVector.
The conversion to shared ownership of data in the tree of mathematical expressions has been made (node BTreeNode and user function MbUserFunc);
these changes were made in the function for creating a mathematical expression tree CreateBTreeForEquation() (std::unique_ptr<BTreeNode> -> SPtr<BTreeNode>).
A new class MbPolymesh was added. It represnts a polygonal object storing a topopology through MbPolymeshTopo class. As realization
a new way of topology reporesentation was added. This representation in widely known as halfedge. Classes support this representation
are MbHalfedge, MbHalfedgeVertex, MbHalfedgeEdge, MbHalfedgeFacet, MbSegmentationLoop, MbSegmentationSubRegion. To store data
associated with topology classes MbHalfedgeAttrBoolFacet, MbHalfedgeAttrBoolEdge, MbHalfedgeAttrBoolVertex, MbHalfedgeAttrUintVertex,
MbHalfedgeAttrUintEdge, MbHalfedgeAttrUintFacet, MbHalfedgeAttrIntVertex, MbHalfedgeAttrIntEdge, MbHalfedgeAttrIntFacet,
MbHalfedgeAttrSizetEdge, MbHalfedgeAttrSizetFacet, MbHalfedgeAttrSizetVertex, MbHalfedgeAttrDoubleEdge, MbHalfedgeAttrDoubleFacet,
MbHalfedgeAttrDoubleVertex, MbHalfedgeAttrFloatEdge, MbHalfedgeAttrFloatFacet, MbHalfedgeAttrFloatVertex, MbHalfedgeAttrPoint3D,
MbHalfedgeAttrParameters, MbHalfedgeAttrNormalsVertex, MbHalfedgeAttrNormalsFacet, MbHalfedgeAttrDihedralAngles,
MbHalfedgeAttrSharpEdge, MbHalfedgeAttrCurvaturesVertex, MbHalfedgeAttrDensityVertex, MbHalfedgeAttrDirectionEdge3D,
MbHalfedgeAttrDirectionVertex3D, MbHalfedgeAttrSurfaces, MbHalfedgeAttrParamByEdge, MbHalfedgeAttrStrains were added.
To traverse this topology iterators EdgeFanIterator, EdgeFacetIterator, EdgeLoopIterator, EdgeEdgesIterator, SubregionRegionIterator,
LoopSubregionIterator were added.
To work with topology as a whole object functions GetConnectedFacetGroups,
GetConnectedRegionGroups, GetPolymeshRegions, GetPolymeshRegion, GetPolymeshRegionBorders, GetPolymeshOpenBorders,
GetSegmOpenBorders, GetPolymeshEdgePolyline, GetPolymeshLoopPolyline, PolymeshSection, CutPolymeshByPlane, CopyPolymeshPart were
added into action_polymesh.h file. All mentioned classes and fuctions are part of c3d namespace.
An output field has been added to the ExtensionValues structure that specifies options for representing the resulting body. ( op_shell_parameter.h ).
MakeSTEPEntities signature has changed - bool MakeSTEPEntities( MbSolid const &solid, std::vector<std::shared_ptr<const converter::SeBase>>& enitites ).
OS | Architecture | Compiler | Character set |
FreeBSD 12.2 | x64 | CLANG 10.0.1 | Unicode, Multi-Byte |
Ubuntu 18.04 | x64 | gcc 7.5 | Unicode, Multi-Byte |
Ubuntu 22.04 |
x64, arm64 |
gcc 11.3.0 | Unicode, Multi-Byte |
Scientific 7.2 | x64 | gcc 8.3.0 | Unicode, Multi-Byte |
Windows 10 | x86, x64 | MS Visual C/C++ 2015 - 2022 | Unicode, Multi-Byte |
MacOS 11.3 | x64, arm64 | CLANG | Unicode |
IOS 14.5 |
arm64 |
CLANG | Unicode |
Debian 9 | x64 | gcc 7.2 | Unicode, Multi-Byte |
Astra Linux Common Edition |
x64 |
gcc 7.2 |
Unicode, Multi-Byte |
OS | Architecture | Compiler | Character set |
Ubuntu 18.04 | x64 | gcc 7.2 | Unicode |
Ubuntu 22.04 | x64 | gcc 11.3.0 | Unicode |
Windows 10 | x86, x64 | MS Visual C/C++ 2015 - 2019 | Unicode, Multi-Byte |
Architecture | Character set | |
NetC3D (C3D Toolkit : kernel .Net binding) | x86, x64 | Unicode |
NetC3dToolkit (C3D Toolkit .Net binding) | x86, x64 | Unicode |