OpenCASCADE Technology (OCCT)
The underlying C++ geometric modeling kernel driving FreeCAD.
🔗 Related Concepts
Deepen your understanding with these related topics:
Definition
The open-source 3D CAD modeling engine providing geometric representation, boolean operations, and STEP translation algorithms.
Why it matters
Drives FreeCAD's capability to read/write high-fidelity industrial STEP files and compute B-Rep mathematical solids.
Technical Deep Dive & Core Mechanics
OpenCASCADE Technology (OCCT) operates within the DWG object hierarchy, where the model-space block record (named *Model_Space) and paper-space block records (named *Paper_Space, *Paper_Space0, etc.) serve as containers for all geometric entities. Every entity created through OpenCASCADE Technology (OCCT) is owned by exactly one block record, and this ownership determines which space the entity appears in. Cross-space references—such as viewport-frozen layers or annotative objects—add complexity by requiring the engine to resolve visibility rules that differ per viewport.
The AUDIT command examines the integrity of objects related to OpenCASCADE Technology (OCCT) by verifying handle chains, checking for orphaned dictionary entries, and validating cross-references between entity records. Corrupt handle pointers—often caused by abnormal program termination during a save—can make OpenCASCADE Technology (OCCT) elements invisible or unselectable without any visible error message, making periodic audits a necessary part of production workflows.
Step-by-Step Professional Implementation
Deploying OpenCASCADE Technology (OCCT) in a FreeCAD-based design workflow requires understanding of the workbench ecosystem and parametric kernel behavior:
- Select the Appropriate Workbench: Choose the correct FreeCAD workbench for the task (Part Design for solids, Sketcher for 2D constraints, TechDraw for drawings). Install required add-ons through the Addon Manager if your workflow depends on community extensions.
- Build a Clean Parametric Foundation: When using OpenCASCADE Technology (OCCT), start with a fully constrained sketch attached to a stable datum plane. Be aware of the topological naming issue — avoid referencing edges or faces that may be renumbered after feature modifications.
- Manage Data with Spreadsheets and Expressions: Drive key dimensions through a Spreadsheet workbench to centralize parametric control. Link expressions across features and assemblies so design changes propagate consistently without manual updates.
- Export and Interoperate: Export to STEP or IGES for interoperability with commercial CAD tools. Verify that the Open CASCADE kernel preserves geometry fidelity. Use TechDraw for 2D drawing output or export mesh formats (STL, OBJ) for visualization and 3D printing.
Advanced Troubleshooting & Error Diagnostics
Error patterns and resolutions for OpenCASCADE Technology (OCCT) in cross-platform CAD workflows:
- Missing SHX fonts after file transfer: Text in OpenCASCADE Technology (OCCT) displays as question marks or boxes when opened on a different workstation. Resolution: Install the required SHX fonts in the receiving system's font directory, or configure a font mapping file (acad.fmp or equivalent) to substitute available fonts for missing ones.
- Proxy object warnings on file open: OpenCASCADE Technology (OCCT) elements created by third-party applications show as proxy entities with reduced functionality. Resolution: Install the corresponding ObjectARX/ObjectEnabler application, or use EXPORTTOAUTOCAD to create a version with proxy objects exploded to basic geometry (accepting loss of smart behavior).
- Coordinate drift after multiple copy operations: OpenCASCADE Technology (OCCT) elements accumulate positional errors after repeated copy-rotate-mirror sequences. Resolution: Use absolute coordinate input (typing exact values) for precision placement rather than chaining relative operations. For critical alignments, verify final positions with the DIST or ID commands.
Cross-Discipline Collaboration & Handoff
FreeCAD-based workflows using OpenCASCADE Technology (OCCT) often need to integrate with commercial tools and open-source ecosystems:
- STEP/IGES Exchange: Export solid geometry to STEP AP214 for sharing with commercial CAD users (SOLIDWORKS, CATIA, NX). The Open CASCADE kernel handles most B-rep translations well, but verify fillet and chamfer fidelity — complex surface trims can sometimes degrade during conversion.
- IFC for BIM Workflows: Use the BIM Workbench's IFC export (via IfcOpenShell) for architectural coordination. Assign correct IFC classes and property sets before export so that BIM coordinators receive semantically rich models rather than generic shape representations.
- Community and Macro Sharing: Leverage FreeCAD's Python scripting and macro ecosystem to automate repetitive tasks. Share parameterized templates and scripts through version control (Git) so that team members and collaborators can reproduce designs and analyses on any platform without license constraints.
Common pitfalls
- Expecting consumer-grade mesh operations (STL) to behave natively like OCCT solid B-Rep geometry.
FreeCAD Ecosystem Context
This concept is a core structural element of the FreeCAD drafting and engineering environment developed by FreeCAD Community (FOSS). A completely free, open-source parametric 3D modeler designed primarily for mechanical engineering and hobbyists.
Relevant FreeCAD FAQs
❓ Is FreeCAD really free for commercial use?
Yes, FreeCAD is licensed under the open-source LGPLv2+ license. It is 100% free to download, use, copy, and distribute, including for high-end professional commercial projects without any limits.
❓ Can FreeCAD open SOLIDWORKS files?
FreeCAD cannot read proprietary SOLIDWORKS native files directly. The standard workflow is to export SOLIDWORKS designs as neutral STEP files, which FreeCAD reads with excellent fidelity.
❓ How do I create a parameter sheet in FreeCAD?
You can open the Spreadsheet workbench, create variables, define unique cell aliases, and then link those variables to sketch dimensions using the formula editor.
⚡ Concept Self-Test
Test your understanding of this concept to lock in your memory. Completing this quiz will automatically sync to your career learning progress.
🎓 Recommended Practice Lessons
Step-by-step practical exercises and certification-aligned paths chosen by our editors to master this concept:
FreeCAD 1.0 Ultimate Beginners Crash Course in 1 hour for 3D printing
🌳 Semantic Crossroads & Navigation Pathways
Trunk-Branch-Leaf ModelExplore cross-referenced learning lanes. Connect this specific method back to macro CAD coordinate foundations, parent software environments, and sibling parameters in our shared taxonomy map.
Global Foundations
Core glossary, interactive graph, and domain-wide concept index.
Ecosystem Integration
Parent design environments and platforms implementing this method natively.
Active Context & Neighbors
Current active term and close sibling concepts:
Discover More
Practical Workflow Tips
From years of production CAD work, here are field-tested approaches to OpenCASCADE Technology (OCCT):
- Save incremental versions before major edits: Before performing operations that touch many entities related to OpenCASCADE Technology (OCCT), save a numbered backup (e.g., project_v12.dwg). The UNDO command has limits, and some operations cannot be fully reversed once saved.
- Use named views to navigate efficiently: In drawings where OpenCASCADE Technology (OCCT) spans multiple areas, create named views (VIEW command) for each zone. This eliminates repetitive pan-zoom sequences and ensures consistent viewport positions.
- Establish a layer naming convention early: OpenCASCADE Technology (OCCT) elements should follow a systematic layer naming scheme from the first drawing. Retrofitting layer organization onto a mature drawing set is far more time-consuming than setting it up correctly at the beginning.
- Test plot settings on a single sheet first: Before batch-plotting a full sheet set with OpenCASCADE Technology (OCCT) elements, print one representative sheet to verify lineweights, colors, and text sizes.