General_Information
C3D Toolkit
Structure and Distinctive Features
C3D API
Functionality
Theoretical Foundations
Quick Start
Package
Test Application
Development in the .NET Environment
C3D Modeler
METHODS USED TO BODIES CONSTRUCTING
Constructing an Elementary Body
Constructing an Elementary Body Based on Control Points
Constructing an Elementary Body by a Given Surface
Constructing an Extrusion Body
Constructing a Revolution Body
Constructing a Body by Sections
Constructing a Body by Planar Sections
Creating a Body by a Specified Set of Faces or a Shell
Constructing an Open Body Based on a Surface
Constructing a Ruled Body
Constructing a Body from a Curve Grid
Constructing a Patch
Stiching Body Faces
Construction of Body Based on Curves or Curve Points
Construction of Body Based on Curves
Construction of Body Based on Curve Points
Construction of Equidistant Body
Extension of Body Face
Constructing an Ingot Body from Given Objects
Constructing a Body Based on a Polygonal Model
OPERATIONS ON BODIES
Boolean Operation on Bodies
Boolean Operation on Extrusion Body
Boolean Operation on Revolution Body
Boolean Operation with Kinematic Body
Boolean Operation with a Body Constructed on the Basis of Planar Sections
Cutting a Body into Parts
Cutting a Body by a Flat Contour
Cutting a Body by a Surface
Cutting a Body by a Shell
Constructing a Symmetrical Body
Rounding Off Body Vertices and Edges
Rounding Edges with a Constant Radius
Rounding Edges with a Variable Radius
Rounding Vertices and Adjacent Edges with a Constant Radius
Constructing a Body with Edge Chamfers
Constructing a Thin-Wall Body
Constructing a Thin-Wall Body with Various Wall Thickness
Constructing a Body by Thickening the Surface
Boolean Operation on a Body and a Set of Bodies
Merging a Set of Bodies
Splitting Body Faces
Constructing a Hole, Pocket or Slot in a Body
Constructing a Body with an Enforcement Rib
Face Body Sloping
Multiplication of Body
Dividing a shell into parts using a given set of edges
TWO-DIMENSIONAL CURVE CONSTRUCTION METHODS
Constructing a Two-Dimensional Straight Line/Segment
Constructing a Two-Dimensional Circle, Ellipse and their Arcs
Constructing Two-Dimensional NURBS Curve
Constructing a Regular Polygon
Constructing Two-Dimensional Cosine Wave
Constructing Two-Dimensional Compound Curve
Constructing Surface and Plane Intersection Curves
Constructing a Two-Dimensional Face Edge Curve
Projecting a Curve onto a Surface
CURVE CONSTRUCTION METHODS
Constructing a Line and a Segment
Constructing a Circle, an Ellipse, and Their Arcs
Construction of a Regular Polygon
Constructing a Compound Curve
Curve Extension
Wireframe Extension
SURFACE CONSTRUCTION METHODS
Elementary Surface Construction
NURBS Surface Construction
Construction of an extrusion surface
Construction of a Revolution Surface
Construction of a Surface Based on a Curve Grid
Construction of a Surface with Arbitrary Borders
DIRECT MODELING METHODS
Constructing a Modified Solid
Constructing a Deformable Body
Constructing a Deformable Block
Constructing a Smoothed Surface
Constructing a Transformed Body
SHEET METAL BODY CONSTRUCTION METHODS
Constructing a Sheet Body
Pairing Sheet Body Bends
Checking Whether a Face Can Be Fixed
Searching for Faces for a Curve
Searching for a Sheet Body Face
Searching for a Mate Face of a Sheet Body Bend
Searching for a Flat Sheet Body Face
Searching for a Mate Face in a Sheet Body
Determining the Distance Between Similar Faces
Searching for Similar Bends
Searching for a Tangency Point in a Sheet Body Bend
Searching for a Bend Centerline
AUXILIARY METHODS
Calculating the Depth of an Extrusion Body or the Angle of a Revolution Body
Determining the Curve Image for Extrusion or Rotation
Determining Extrusion or Rotation Parameters
Determining the Orientation of the Generatrix
Determining the Orientation of the Cutting Surface
Orientation of Сurves of a Swept Body
Copying the Guiding Curve of a Sweep Body
Constructing a rib
Checking a Curve for Ruled Body Construction
Checking Curve Parameters for Constructing a Ruled Body
Checking a Curve for Joint Body Construction
Checking Curve Parameters for Joint Body Construction
Constructing a Curve from a Set of Edges
Determining Curve Crossing Points
ELEMENTARY OBJECTS
Vector in three-dimensional space MbVector3D
Radius Vector of a Point in Three-Dimensional Space MbCartPoint3D
Homogeneous Vector in Three-Dimensional Space MbHomogenius3D
Local Coordinate System MbPlacement3D
Extended Matrix in Three-Dimensional Space MbMatrix3D
Bounding Box in Three-Dimensional Space MbCube
MbRect1D Univariate Dimension
MbVector in Two-Dimensional Space
MbDirection Normalized Vector in Two-Dimensional Space
Point Radius Vector in Two-Dimensional Space MbCartPoint
Homogeneous Vector in Two-Dimensional Space MbHomogeneous
Local Coordinate System MbPlacement
Extended Matrix in Two-Dimensional Space MbMatrix
Bounding Rectangle in Two-Dimensional Space MbRect
GEOMETRICAL OBJECTS
MbRefItem Reference Counter
Three-Dimensional Geometric Object MbSpaceItem
Topological Object MbTopItem
Two-Dimensional Geometric Object MbPlaneItem
TWO-DIMENSIONAL CURVES
Two-Dimensional Line MbLine
Two-Dimensional Line Segment MbLineSegment
MbPointCurve Two-Dimensional Curve-Point
Two-Dimensional Projection Curve MbProjCurve
Two-Dimensional Contour MbContour
CURVES
MbCurve3D Curve
MbLine3D Straight Line
MbLineSegment3D Straight-Line Segment
MbArc3D Elliptical Arc
Polyline MbPolyline3D
MbNurbs3D NURBS Curve
MbHermit3D Hermite Curve
MbBezier3D Bezier Composite Curve
Cubic Spline MbCubicSpline3D
Trimmed Curve MbTrimmedCurve3D
Reparametrized Curve MbReparamCurve3D
Equidistant Curve MbOffsetCurve3D
MbCharacterCurve3D Character Curve
MbConeSpiral Conical Spiral
MbCurveSpiral Variable Radius Spiral
MbCrookedSpiral Spiral with Curved Planar Axis
MbBridgeCurve3D Bridge Curve
MbContour3D Contour
MbPlaneCurve Plane Curve
MbSurfaceCurve Curve on Surface
MbSilhouetteCurve Silhouette Curve
MbContourOnSurface Contour on Surface
MbContourOnPlane Contour on Plane
MbSurfaceIntersectionCurve Surface Intersection Curve
SURFACES
MbSurface Surface
MbPlane Plane
MbCylinderSurface Cylindrical Surface
MbConeSurface Conical Surface
MbSphereSurface Spherical Surface
MbTorusSurface Toroidal Surface
MbExtrusionSurface Extrusion Surface
MbRevolutionSurface Revolution Surface
MbExpansionSurface Motion Surface
MbSpiralSurface Spiral Surface
MbEvolutionSurface Swept Surface
MbExactionSurface Swept Surface with Adaptation
MbSectorSurface Sectorial Surface
MbRuledSurface Ruled Surface
MbLoftedSurface Surface Based on a Family of Curves
MbElevationSurface Surface Based on a Family of Curves And a Guiding Curve
MbCornerSurface Surface Based on Three Curves
MbCoverSurface Coons Surface
MbCoonsPatchSurface Coons Surface
MbMeshSurface Surface Based on a Network of Curves
MbJoinSurface Joint Surface
MbSplineSurface NURBS Surface
MbOffsetSurface Equidistant Surface
MbChamferSurface Chamfer Surface
MbFilletSurface Fillet Surface
MbChannelSurface Fillet Surface
MbCurveBoundedSurface Surface with Arbitrary Borders
SPECIAL OBJECTS
MbFunction Function
MbConstFunction Constant Function
MbLineFunction Linear Function
MbCubicFunction Cubic Hermite Function
MbCubicSplineFunction Cubic Spline Function
MdCharacterFunction Character Function
Multiline MbMultiline
MbContourWithBreaks Two-Dimensional Contour with Breaks
MbRegion Region
MbLegend Auxiliary Geometric Object
MbMarker Marker
MbThread Thread Graphic Symbol
MbPointsSymbol Symbol
MbRough Surface Finish Symbol
MbLeader Leader Line Symbol
TOPOLOGICAL OBJECTS
MbTopologyItem Topological Object
MbFace Face
MbEdge Edge
MbVertex Vertex
MbCurveEdge Face Edge
MbLoop Face Cycle
MbOrientedEdge Oriented Face Edge
MbFaceShell Set of Faces
Copying a Set of Faces MbFaceShell
Naming of Faces, Edges and Vertices
Operation Principles of Change Flags of Topological Objects
OBJECTS OF GEOMETRIC MODEL
MbItem Geometric Model Object
MbSolid Solid Body
MbWireFrame Wireframe
MbPointFrame Point Frame
MbMesh Polygonal Object
MbInstance Insertion
MbAssembly Assembly Unit
MbSpaceInstance Three-Dimensional Object Insertion
MbPlaneInstance Two-Dimensional Object Insertion
MbAssistingItem Auxiliary Object
MbPolymesh Polygonal Object with Topology
MULTITHREADING
Thread-Safety of Kernel Objects
Multithreaded Caches Implementation
Cache Manager CacheManager
Base Cached Data Class AuxiliaryData
Garbage Collection in Cache Manager
Base Class for Objects that Require Garbage Collection
Class MbGarbageCollection
Kernel Multithreading Modes
Synchronization Objects
Locks
Base Synchronization Objects
Support of Multithreading in User Application
Protection of Parallel Code in User Application
The Examples of Notifying the Kernel about its Use in Parallel Computing
Quick Reference on Organizing Parallel cComputing Using C3D Interfaces
FORMAT C3D
Format for Storing Geometric Model
Notions and Terms
Geometric Model Serialization
Compact Format C3D
Extended Format C3D
Model Table of Contents
Working with Embodiments
Read and Write Streaming Objects
Base Class for Read and Write Streams
Write Streams
Read Streams
Scoped Progress Indicator for Reading Classes
Read-Write Stream
Model Tree
Streaming Objects
Modes of Streaming Operations
Stream States
Working with Streaming Buffer
Cluster
File Space
Read/write Position
Streaming Sequential Buffer
Streaming Buffer with Arbitrary Access
Memory Streaming Buffer
Reading and Writing Memory Buffer
Version Container
ATTRIBUTES
MbVisual Attribute Class for Storing Optical Properties of Geometric Objects for Display Properties
CONSTRUCTING TRIANGULATION
Triangulation Calculation Control
Constructing a Polygonal Object
Adding a Polygonal Object
Constructing Polygons for an Object
Constructing Triangulation for a Face
Constructing Triangulation for a Body
Constructing Polygonal Objects for a Set of Bodies
CONSTRUCTING FLAT PROJECTIONS
Data Required to Construct Flat Projections
Constructing Model Flat Projection
Constructing Polygonal Projections of Bodies
Constructing a Triangulation Outline
CALCULATION OF INERTIAL CHARACTERISTICS
Inertial Characteristics of a Model
Inertial Body Characteristics
Inertial Characteristics for a Set of Bodies
Inertial Characteristics of a Model
Surface Area Calculation
Solid Volume Calculation
C3D B-Shaper
Automatic Shell Recognition Mode by Polygon Mesh
MbMeshProcessor Class – Shell Creation
Recognition Tolerance
Polygon Mesh Segmentation Editing
Surface Reconstruction on a Segment
C3D PolyShaper
Features of Implementing a Doubly Linked List of Edges
Mesh Iterators
Segmentation and Segmentation Iterators
The Topology of the MbPolymeshTopo Polygon Object
General Purpose Methods
Methods for Working with the Mesh
Methods for Working with Segmentation
Methods for Working With Mesh and Segmentation Attributes
Mesh and Segmentation Attributes
Edge-Dependent Attributes
C3D Collision Detection
Detecting the Intersection of Two Bodies
Determining Collisions in the Set of Bodies
Collision Detection Queries
Configuring a Collision Detection Query
Grouping Bodies Included in the Control Set
C3D Solver
TWO-DIMENSIONAL GEOMETRIC SOLVER
Assignment of GCE Geometric Solver
Embedding in an Application
Supported Geometry Types
Types of Geometric Constraints and Dimensions
Basic Data Types of GCE Solver API
Geometric Constraint System
Representation of Geometric Objects
Degrees of Freedom
Add and Delete Geometric Objects
Fixing and Freezing Geometric Objects
Geometric Object Control Points
Scalar Variables
Linear Equation
API Call Journalling
Callback functions
TWO-DIMENSIONAL DIMENSIONS
Auxiliary Points of Distance Dimension
Driving and Variational Dimensions
Zero Dimensions and Signed Dimensions
Distance Dimension
Directed Distance Dimension
Distance From a Point to a Segment
Angular Dimensions
Angular Dimension Based on 3 or 4 Points
Radial and Diameter Dimensions
TWO-DIMENSIONAL LOGICAL CONSTRAINTS
Coincidence of a Point and Other Object
Alignment of Points
Parallelism/Perpendicularity
Collinearity
Equal Curve Properties
Unary Constraints: Horizontality/Verticality and Fixing Variants
Length Fixing
Radius Fixing
Angular Position Constraint
Tangency
Multiple and End Tangencies
Mirror Symmetry
Bisector
Middle Point
Mutual Object Positioning
CALCULATION OF TWO-DIMENSIONAL CONSTRAINTS
Calculating the Constraint System
Changing or Requesting the Geometry State
Initial Approximation
Underdefined Constraint Systems
Degrees of Freedom Analysis
Information Requests
Dragging of Geometric Objects
Geometric Transformation
Redundancy Test
TWO-DIMENSIONAL SPLINES AND PARAMETRIC CURVES
Spline Curves
General Parametric Curves
Constraints Based on Parametric Curves
THREE-DIMENSIONAL GEOMETRIC SOLVER
Terms and Definitions
Assigning the GCE geometric solver
Embedding the GCM component into an application
Supported geometry types
Supported constraint types
Basic data types of GCM solver API
Geometric constraint system
Representation of geometric objects
Adding and deleting geometric objects
Adding and deleting geometric restrictions
GCM_alignment option
Geometric scene clustering, assembly modeling
Evaluating the constraint system
Diagnostic codes of a solution
Driving dimensions
Journalling API calls of the GCM solver
C3D Converter
Converter Operation Principles
How to Work with the Converter
Exchange Format Features
IConvertorProperty3D Converter Property
ItModelDocument Model Document
IProgressIndicator Progress Indicator
Model Tree Architecture
Product Attributes
Model Configuration Import
C3D Converter Plugins
IFC Import
Import of Construction Format Metadata
Auxiliary Converter Methods
Creating a Solid from User Objects
Reference Materials
Operation Result Codes
MbResultType Enumeration
MbeStitchResType Enumeration
Blend Surface Construction Methods (Fillet or Chamfer)
Index
Index