Table of contents
- Overview
- Tutorial
- Technical Overview
-
User Guides
-
Foundation Classes
- Introduction
- Basics
- Collections, Strings, Quantities and Unit Conversion
- Math Primitives and Algorithms
- Modeling Data
-
BRep Format
- Introduction
- Format Common Structure
- Locations
-
Geometry
- 3D curves
-
Surfaces
- Plane - < surface record 1 >
- Cylinder - < surface record 2 >
- Cone - < surface record 3 >
- Sphere - < surface record 4 >
- Torus - < surface record 5 >
- Linear Extrusion - < surface record 6 >
- Revolution Surface - < surface record 7 >
- Bezier Surface - < surface record 8 >
- B-spline Surface - < surface record 9 >
- Rectangular Trim Surface - < surface record 10 >
- Offset Surface - < surface record 11 >
- 2D curves
- 3D polygons
- Triangulations
- Polygons on triangulations
- Geometric Sense of a Curve
- Shapes
- Appendix
-
Modeling Algorithms
- Introduction
- Geometric Tools
- Topological Tools
- The Topology API
- Standard Topological Objects
- Object Modification
- Primitives
- Boolean Operations
- Fillets and Chamfers
- Offsets, Drafts, Pipes and Evolved shapes
- Sewing
- Features
- Hidden Line Removal
- Meshing
-
Boolean Operations
- Introduction
- Overview
- Terms and Definitions
- Data Structure
- Root Classes
-
Intersection Part
- Initialization
- Compute Vertex/Vertex Interferences
- Compute Vertex/Edge Interferences
- Update Pave Blocks
- Compute Edge/Edge Interferences
- Compute Vertex/Face Interferences
- Compute Edge/Face Interferences
- Build Split Edges
- Compute Face/Face Interferences
- Build Section Edges
- Build P-Curves
- Process Degenerated Edges
- General description of the Building Part
-
General Fuse Algorithm
- Arguments
- Results
-
Examples
- Case 1: Three edges intersecting at a point
- Case 2: Two wires and an edge
- Case 3: An edge intersecting with a face
- Case 4: An edge lying on a face
- Case 5: An edge and a shell
- Case 6: A wire and a shell
- Case 7: Three faces
- Case 8: A face and a shell
- Case 9: A shell and a solid
- Case 10: A compound and a solid
-
Class BOPAlgo_Builder
- Fields
- Initialization
- Build Images for Vertices
- Build Result of Type Vertex
- Build Images for Edges
- Build Result of Type Edge
- Build Images for Wires
- Build Result of Type Wire
- Build Images for Faces
- Build Result of Type Face
- Build Images for Shells
- Build Result of Type Shell
- Build Images for Solids
- Build Result of Type Solid
- Build Images for Type CompSolid
- Build Result of Type Compsolid
- Build Images for Compounds
- Build Result of Type Compound
- Post-Processing
- Splitter Algorithm
-
Boolean Operations Algorithm
- Arguments
- Results. General Rules
-
Examples
- Case 1: Two Vertices
- Case 2: A Vertex and an Edge
- Case 3: A Vertex and a Face
- Case 4: A Vertex and a Solid
- Case 5: Two edges intersecting at one point
- Case 6: Two edges having a common block
- Case 7: An Edge and a Face intersecting at a point
- Case 8: A Face and an Edge that have a common block
- Case 9: An Edge and a Solid intersecting at a point
- Case 10: An Edge and a Solid that have a common block
- Case 11: Two intersecting faces
- Case 12: Two faces that have a common part
- Case 13: Two faces that have a common edge
- Case 14: Two faces that have a common vertex
- Case 15: A Face and a Solid that have an intersection curve.
- Case 16: A Face and a Solid that have overlapping faces.
- Case 17: A Face and a Solid that have overlapping edges.
- Case 18: A Face and a Solid that have overlapping vertices.
- Case 19: Two intersecting Solids.
- Case 20: Two Solids that have overlapping faces.
- Case 21: Two Solids that have overlapping edges.
- Case 22: Two Solids that have overlapping vertices.
- Case 23: A Shell and a Wire cut by a Solid.
- Case 24: Two Wires that have overlapping edges.
- Class BOPAlgo_BOP
- Building Draft Result
- Building the Result
-
Section Algorithm
- Arguments
- Results and general rules
-
Examples
- Case 1: Two Vertices
- Case 1: Case 2: A Vertex and an Edge
- Case 1: Case 2: A Vertex and a Face
- Case 4: A Vertex and a Solid
- Case 5: Two edges intersecting at one point
- Case 6: Two edges having a common block
- Case 7: An Edge and a Face intersecting at a point
- Case 8: A Face and an Edge that have a common block
- Case 9: An Edge and a Solid intersecting at a point
- Case 10: An Edge and a Solid that have a common block
- Case 11: Two intersecting faces
- Case 12: Two faces that have a common part
- Case 13: Two faces that have overlapping edges
- Case 14: Two faces that have overlapping vertices
- Case 15: A Face and a Solid that have an intersection curve
- Case 16: A Face and a Solid that have overlapping faces.
- Case 17: A Face and a Solid that have overlapping edges.
- Case 18: A Face and a Solid that have overlapping vertices.
- Case 19: Two intersecting Solids
- Case 20: Two Solids that have overlapping faces
- Case 21: Two Solids that have overlapping edges
- Case 22: Two Solids that have overlapping vertices
- Class BOPAlgo_Section
- Building the Result
- Volume Maker Algorithm
- Cells Builder algorithm
- Algorithm Limitations
- Advanced Options
- Errors and warnings reporting system
- Usage
-
Shape Healing
- Overview
-
Repair
- Basic Shape Repair
- Shape Correction.
-
Repairing tools
- General Workflow
- Flags Management
- Repairing tool for shapes
- Repairing tool for solids
- Repairing tool for shells
- Repairing tool for faces
- Repairing tool for wires
- Repairing tool for edges
- Repairing tool for the wireframe of a shape
- Tool for removing small faces from a shape
- Tool to modify tolerances of shapes (Class ShapeFix_ShapeTolerance).
- Analysis
-
Upgrading
- Tools for splitting a shape according to a specified criterion
- General splitting tools.
- Specific splitting tools.
-
Customization of shapes
- Conversion of indirect surfaces.
- Shape Scaling
- Conversion of curves and surfaces to BSpline
- Conversion of elementary surfaces into surfaces of revolution
- Conversion of elementary surfaces into Bspline surfaces
- Getting the history of modification of sub-shapes.
- Remove internal wires
- Conversion of surfaces
- Unify Same Domain
- Auxiliary tools for repairing, analysis and upgrading
- Shape Processing
- Messaging mechanism
-
Visualization
- Introduction
- Fundamental Concepts
- Application Interactive Services
-
3D Presentations
- Glossary of 3D terms
- Graphic primitives
- Graphic attributes
-
3D view facilities
- Overview
- A programming example
- Define viewing parameters
- Orthographic Projection
- Perspective Projection
- Stereographic Projection
- View frustum culling
- View background styles
- Dumping a 3D scene into an image file
- Ray tracing support
- Display priorities
- Z-layer support
- Clipping planes
- Automatic back face culling
- Examples: creating a 3D scene
- Mesh Visualization Services
- VTK Integration Services (VIS)
-
IGES Support
- Introduction
- Reading IGES
- Writing IGES
- Using XSTEPDRAW
- Reading from and writing to IGES
-
STEP processor
- Introduction
- Reading STEP
- Writing STEP
- Physical STEP file reading and writing
- Using DRAW
- Reading from and writing to STEP
-
Extended Data Exchange (XDE)
- Introduction
-
Working with XDE
- Getting started
-
Shapes and Assemblies
- Initialize an XDE Document (Shapes)
- Get a Node considered as an Assembly
- Updating the Assemblies after Filling or Editing
- Adding or Setting Top Level Shapes
- Setting a given Shape at a given Label
- Getting a Shape from a Label
- Getting a Label from a Shape
- Other Queries on a Label
- Instances and References for Components
- Editing Shapes
- Management of Sub-Shapes
- Properties
- Colors and Layers
- Custom notes
- Reading and Writing STEP or IGES
- Using an XDE Document
-
OCAF
- Introduction
- The Data Framework
- Standard Document Services
- OCAF Shape Attributes
- Standard Attributes
- Visualization Attributes
- Function Services
- Example of Function Mechanism Usage
- XML Support
- GLOSSARY
- Samples
- TObj Package
-
Draw Test Harness
- Introduction
- The Command Language
- Basic Commands
- Graphic Commands
- OCAF commands
-
Geometry commands
- Overview
- Curve creation
- Surface creation
-
Curve and surface modifications
- reverse, ureverse, vreverse
- exchuv
- segment, segsur
- iincudeg, incvdeg
- cmovep, movep, movecolp, moverowp
- insertpole, rempole, remcolpole, remrowpole
- insertknot, insertuknot, insertvknot
- remknot, remuknot, remvknot
- setperiodic, setnotperiodic, setuperiodic, setunotperiodic, setvperiodic, setvnotperiodic
- setorigin, setuorigin, setvorigin
- Transformations
- Curve and surface analysis
- Intersections
- Approximations
- Projections
- Constraints
- Display
- Topology commands
- General Fuse Algorithm commands
- Data Exchange commands
- Shape Healing commands
- Performance evaluation commands
- Simple vector algebra and measurements
- Inspector commands
- Extending Test Harness with custom commands
- Inspector
-
Foundation Classes
-
Developer Guides
- Building OCCT from sources
- Documentation System
- Coding Rules
- Contribution Workflow
- Guide to installing and using Git for OCCT development
-
Automated Testing System
- Introduction
- Organization of Test Scripts
- Creation And Modification Of Tests
- Advanced Use
-
APPENDIX
- Test groups
- Mapping of OCCT functionality to grid names in group *bugs*
-
Recommended approaches to checking test results
- Shape validity
- Shape tolerance
- Shape volume, area, or length
- Memory leaks
- Visualization
- Number of free edges
- Compare numbers
- Check number of sub-shapes
- Check pixel color
- Compute length, area and volume of input shape
- Parse output dump and compare it with reference values
- Compute length of input curve
- Check maximum deflection, number of triangles and nodes in mesh
- Debugging tools and hints
-
Upgrade from older OCCT versions
- Introduction
- Upgrade to OCCT 6.5.0
- Upgrade to OCCT 6.5.1
- Upgrade to OCCT 6.5.2
- Upgrade to OCCT 6.5.3
- Upgrade to OCCT 6.5.4
- Upgrade to OCCT 6.6.0
- Upgrade to OCCT 6.7.0
- Upgrade to OCCT 6.8.0
- Upgrade to OCCT 6.9.0
-
Upgrade to OCCT 7.0.0
- Removal of legacy persistence
- Removal of CDL and WOK
- Separation of BSpline cache
- Structural result of Boolean operations
- BRepExtrema_ExtCC finds one solution only
- Removal of SortTools package
- On-screen objects and ColorScale
- UserDraw and Visual3d
- Deprecation of Local Context
- Separation of visualization part from TKCAF
- Correction of interpretation of Euler angles in gp_Quaternion
- Zoom Persistent Selection
- Texture mapping of objects
- Shape presentation builders
- Upgrade to OCCT 7.1.0
-
Upgrade to OCCT 7.2.0
- Removed features
- Corrections in BRepOffset API
- Corrections in BRepOffset API
- Highlight style
- Elimination of implicit 3D Viewer updates
- Elimination of Quantity_NameOfColor from TKV3d interface classes
- Result of Boolean operations on containers
- Other changes
- BOP - Pairs of interfering indices
- Removal of the Draw commands based on old Boolean operations
- Change of Face/Face intersection in Boolean operations
- Restore OCCT 6.9.1 persistence
- Change in BRepLib_MakeFace algorithm
- Change in BRepFill_OffsetWire algorithm
- Change in Geom(2d)Adaptor_Curve::IsPeriodic
- Change in algorithm ShapeUpgrade_UnifySameDomain
- Changes in STL Reader / Writer
- Refactoring of the Error/Warning reporting system in Boolean Component
- License