Macro, 3DEXPERIENCE, Performance, Troubleshooting, and Industry Guide

CATIA · Macro · 3DEXPERIENCE · Troubleshooting

Overview

Running CATIA in real production takes more than modeling — it also takes automation (Macros), platform migration (3DEXPERIENCE), ENOVIA integration, performance tuning, and error-recovery know-how.

This page bundles Macro fundamentals with automation examples, V5 → 3DEXPERIENCE migration practice, PDM / PLM integration, large-assembly performance optimization, representative error messages and how to recover, 2024 – 2025 new features, and industry-specific focus (automotive, aerospace, shipbuilding).

Refer to pages 01 – 05 for workbench basics.

1. Macro (CATScript · VBScript · VBA · VB.NET)

1.1 Choosing a Language

CATIA supports four automation languages.

LanguageTraitsUse
CATScriptCATIA-native, the oldestLegacy assets
VBScript (CATVBS)General-purpose, lightweight, easy to distributeMost day-to-day automation
VBAEmbedded in CATIA, supports UserFormTools that need a UI
VB.NET / C#Advanced automation, needs Visual StudioLarge tools, COM servers

The field default is CATVBS, VBA when you need a UI, and VB.NET when productizing an in-house tool.

1.2 Writing Your First Macro

  1. Tools → Macro → Macros, or Alt+F8
  2. New → pick CATScript or CATVBS
  3. Write code in the editor → save
  4. Run to execute, or bind to an icon on the ribbon / toolbar

1.3 Basic Structure (CATVBS)

Sub CATMain()
    Dim oPartDoc As Document
    Set oPartDoc = CATIA.ActiveDocument

    Dim oPart As Part
    Set oPart = oPartDoc.Part

    Dim oBody As Body
    Set oBody = oPart.MainBody

    MsgBox "Body Name: " & oBody.Name
End Sub

The CATIA global object is the entry point, and you descend the hierarchy ActiveDocument → Part → Body → Features.

1.4 Automation Examples

Example 1 — Mass report for every Product in an assembly

Sub CATMain()
    Dim oDoc As Document
    Set oDoc = CATIA.ActiveDocument
    Dim oProduct As Product
    Set oProduct = oDoc.Product

    Dim i As Integer
    For i = 1 To oProduct.Products.Count
        Dim oChild As Product
        Set oChild = oProduct.Products.Item(i)
        MsgBox oChild.Name & ": " & oChild.Analyze.Mass & " kg"
    Next
End Sub

Example 2 — Export the Drawing BOM to Excel Walk the BOM Table on a drawing and write each cell into an Excel workbook. One of the most common patterns in the field, used for automating BOMs handed to purchasing and QA.

Example 3 — Batch-convert a folder to STEP A loop that uses FileSystemObject to open each .CATPart in a target folder, exports STEP via Part.ExportData, then closes. Used to run overnight batch conversion of hundreds of delivery files.

1.5 Macro Practical Tips

  • AutoCompletion — enable it at Tools → Options → General → Script Editor → AutoCompletion
  • Infer Tool (Macro Recorder) — records commands and drafts a CATScript skeleton. Extremely useful as a starting point.
  • Object Browser — press F2 to navigate COM objects
  • Error Handling — pair On Error Resume Next with Err.Number checks
  • PartNumber ≠ Name — a Part's PartNumber is the part number (e.g., A-100), while Name is the Instance name. Confusing the two tangles BOM extraction.

1.6 Resources

  • scripting4v5.com — tutorials and samples
  • Dieter R. Ziethen, CATIA V5 Macro Programming with VB Script, McGraw-Hill (2013)
  • Emmett Ross, CATIA V5 Macros (eBook)
  • COE (CATIA Operators Exchange) forum

2. Migrating to 3DEXPERIENCE

2.1 Why Migrate

  • All new Dassault Systèmes investment is focused on 3DEXPERIENCE
  • V5 is in maintenance mode (limited new functionality beyond R2025)
  • Integrates PLM / BOM / Simulation / Manufacturing
  • Cloud collaboration and remote work
  • AI features introduced from R2024x onward

2.2 V5 → 3DEXPERIENCE Transition Map

AreaV53DEXPERIENCE
LaunchWindows Start menuCompass (web / client)
Functional groupingWorkbenchRole + App
Storage unitLocal files like .CATPart3DXML + PLM DB
SaveFile → SaveSave with options (PLM)
SearchWindows Explorer6WTags (platform search)
PermissionsOS-levelCollaborative Space
RevisioningManualAutomatic (A, B, C …)

2.3 Compass and Roles

The Compass (blue circle at the top left) has four sectors.

  • Information Intelligence (north) — search, dashboards
  • Content & Simulation (east) — CATIA, SIMULIA, DELMIA apps
  • 3D Modeling (south) — Part / Assembly / Shape apps
  • Social & Collaborative (west) — 3DSwym, 3DSpace, 3DDrive

2.4 Key CATIA Apps

  • Part Design, Assembly Design, Drafting
  • Generative Shape Design, Imagine & Shape
  • xDesign — web-based lightweight modeling (SOLIDWORKS-like UX)
  • xShape — Sub-D surfacing
  • xGenerative Design — Visual Scripting + Generative (Grasshopper-like)
  • Function-Driven Generative Designer (FGD) — Topology Optimization
  • Sketch Tracer / Natural Sketch

2.5 Migration Practical Tips

  • V5 users tend to get lost on day one. The fastest entry path is to search app names with Compass's Search.
  • Most V5 shortcuts survive. Add Compass-switching shortcuts on top.
  • "A save is effectively a DB commit." Clicking Cancel or the Unlock button by mistake can lose work, so discipline matters.
  • V5 assets are migrated via a dedicated Data Upload tool. Feature preservation exceeds 95%, but Class A and specialty features need verification.
  • Invest in Dassault's official three-day training for at least your key users.

3. ENOVIA / PDM Integration

3.1 ENOVIA Overview

Dassault Systèmes's PLM. Optional in V5 (ENOVIA V5 VPM, SmarTeam), built in for V6 / 3DEXPERIENCE.

  • Vaulting — central repository
  • Check-in / Check-out — file locking
  • Revision Control — automatic version management
  • Lifecycle — In Work → Frozen → Released → Obsolete
  • Change Management — ECO / ECR
  • BOM — EBOM (Engineering) / MBOM (Manufacturing)

3.2 Save Options

When saving an Assembly in V5, distinguish these four choices.

  • Save — current file only
  • Save All — every referenced file
  • Save Management — change paths / names (rename)
  • Save with Link (ENOVIA) — PLM save that preserves links

3.3 Release Process

  1. In Work — work in progress
  2. Frozen — editing locked, in review
  3. Released — approved, production-ready
  4. Obsolete — retired

Each transition is bound to the internal ECO / ECR workflow.

3.4 3DEXPERIENCE Collaborative Space

  • Collaborative Space — a permission scope per project
  • Maturity State — Private / Collaborative / Protected / Released / Obsolete
  • Bookmarks / Tags — search and classification
  • 3DMessaging — real-time collaboration messaging
Note A poorly designed Collaborative Space is a common trap: one team piles hundreds of gigs of data into Private, cutting off access for other teams. Lock down the permission scheme at project kickoff.

4. Performance and Large Assemblies

4.1 Cache System (CGR)

Path: Tools → Options → Infrastructure → Product Structure → Cache Management.

  • Working with cache — a .CGR is generated automatically when a .CATPart is loaded
  • Cache Size — default 2 GB, large assemblies call for 10 – 50 GB
  • Local Path — a fast local SSD
  • Release Path — a network share where the team shares CGRs

.CGR carries tessellation and representation only, with no mathematical geometry. At about one-tenth the size of the original, it is ideal for bulk loading.

4.2 Design Mode vs. Visualization Mode

  • Design Mode — fully loaded, editable, higher memory
  • Visualization Mode — CGR only, non-editable, lower memory

Switch via Part right-click → Representations.

Tip The standard flow for assemblies of 10,000+ parts is to open in Visualization Mode and promote only the parts needing edits to Design Mode.

4.3 Large-Assembly Tips

  • Open → arrow → Advanced to partially load only selected Sub-Products
  • Tick Tools → Options → Product Structure → Product Visualization → Do not activate default shapes on open
  • Reduce the Undo Stack Size from 20 to 5 (Tools → Options → General → PCS)
  • Hide regions outside the current work area
  • Enable Hyperthreading in BIOS
  • Aircraft-scale assemblies demand 128 – 256 GB RAM, NVMe SSD, and a Quadro / RTX A-series GPU

4.4 Performance Optimization Checklist

  • Cache enabled + local SSD
  • Lower-fidelity Display options applied
  • Large Database mode
  • Reduced Undo Stack
  • Default shapes disabled
  • Visualization Mode as default
  • Minimal Workbench Startup
  • Unused Workbenches unloaded

5. Troubleshooting

5.1 CATDUA V5 — Data Recovery

A built-in CATIA diagnostic / recovery utility. File → Desk → right-click Document → CATDUAV5.

  • Repairs broken links
  • Fixes Feature Tree index errors
  • Removes sources of performance degradation
  • Cleans invalid references
Tip Make running CATDUA once a week or after major changes a team standard. It is the core of preventive maintenance.

5.2 Broken Links

Causes include renamed / relocated referenced files, network-drive changes, structural shifts due to revisions, and copy-paste (CCP) in unusual orders.

Fixes: Edit → Links → select the broken entry and use Replace / Deactivate / Isolate, restore the source file's original name, run CATDUA, or, worst case, Isolate to cut the link and rebuild.

5.3 Update Errors

If a red gear icon appears during Update, check these.

  • Open sketch, or over-/under-constraint → fix inside the Sketch
  • Missing referenced geometry → Edit → Links
  • Excessive pattern-instance count → reduce count
  • Boolean conflict → reorder Bodies
  • Always read the cause log in the Edit → Update dialog first

5.4 Unresolved References

References shown as (...) in the Tree. An unloaded external reference, deletion, or rename is the cause. Use Tools → Parents/Children to trace the reference chain and re-point the path.

5.5 R2 (Release-to-Release) Errors

Occur when exchanging between different CATIA Releases. Moving from V5R21 → V5R29 can bring feature-incompatibility issues.

Note CATIA guarantees forward compatibility only. Opening an R21 file in R29 works, but there is no official way to open an R29 file in R21. Always align on Release with partners and customers.

5.6 Frequent Error Messages

ErrorCauseFix
"The profile is not closed"Gap in sketchSketch Analysis → Geometry
"Feature cannot be updated"Referenced geometry deletedEdit → Links
"Cannot resolve specifications"Over-constraintRemove a constraint
"License error"License-server issueContact IT, Tools → Options → License
"Memory allocation error"RAM shortageVisualization Mode, close other apps
"The document is locked"Another user holds the PDM lockWait for check-in

6. R2024x / R2025x New Features

6.1 AI-Driven

  • Command Intelligence — AI predicts the user's next command
  • Mechanical Interface Prediction — auto-predicts assembly interfaces
  • Interference-based Connection Assistant — interference-aware assembly assistant
  • Sketch Generative Constraints — auto-applies constraints to ISO rules (avoids over-constraint)

6.2 Generative Design

  • Function-Driven Generative Design — feed loads and manufacturing conditions → topology is generated automatically
  • CAE-driven Design Optimization (SIMULIA integration)
  • Lattice Structure — automatic lightweight lattices
  • Integration with additive manufacturing (AM)

6.3 Visual Scripting

  • Parametric Animation — auto-generates videos across a Parameter's range
  • Block-based Programming — no-code automation
  • xGenerative Design — procedural generation

6.4 Immersive / AR / VR

  • Mixed-reality review (HoloLens)
  • VR design review (Meta Quest, Varjo)
  • 3DLive web viewer

6.5 R2025x Highlights

  • Major upgrades to xGenerative Design
  • Official release of AI-powered Sketch Generative Constraints
  • New Parametric Animation commands
  • Expanded Mechanical Interface Prediction
  • Sustainability Indicator — carbon-emission tracking
  • Broader cloud collaboration

7. Industry Focus

7.1 Automotive

Body-in-White (BIW) — 10,000 – 20,000 parts, 3,000 – 5,000 spot welds. A Sheet Metal + GSD stack, shared Skeleton (A / B / C pillar reference lines), with Spot Weld patterns generated in batch via Macro.

Class A exterior panels — ICEM Shape Design / ICEM Surf, G2 / G3 continuity, Zebra / Highlight analysis, shut-line precision at ±0.2 mm.

Powertrain — Mold Tooling Design (die casting), draft analysis for ejection feasibility, mandatory design-intent annotations on the Tree.

Interior — Imagine & Shape (Sub-D), plastic-draft analysis, tactile evaluation via Human Builder + DMU.

7.2 Aerospace

Skins / fuselage — Aerospace Sheet Metal Design (ASL), hydroforming process, Double Curved Flange, Composites Design as a separate workbench.

Structure — Structure Design + Weld, rivet patterns via Catalog, Airbus standard ICY (Iconic Component) utilization.

Engines / turbines — combined GSD + FreeStyle, blade profiles built on Splines / Conics, SIMULIA thermal-analysis integration.

7.3 Shipbuilding

  • AEC Plant (Piping, HVAC)
  • Structure Design (hull framing)
  • Cable Tray (electrical)
  • The Dassault Marine & Offshore dedicated solution

7.4 Heavy Industry / Construction Equipment

  • Large Assembly Management is the core issue
  • Many welded structures — leverage Weld Design
  • Configuration management via Knowledgeware
  • 3D layout of hydraulic systems

7.5 Consumer Goods / Appliances

  • Exterior studies in FreeStyle / Imagine & Shape
  • Plastic-draft and shell analysis
  • Internal metal frame in Sheet Metal

Field Checklist

  • For repetitive tasks, was a draft sketched with the Macro Recorder?
  • Was the PartNumber vs. Name confusion verified in your macros?
  • If migrating to 3DEXPERIENCE, are Collaborative Space permissions designed?
  • In an ENOVIA setting, is check-in / check-out discipline established?
  • Is the Release Lifecycle (In Work → Frozen → Released) tied to the ECO / ECR process?
  • Are large assemblies run in Visualization Mode + CGR Cache?
  • Do your Undo Stack and Default Shapes settings match the performance guide?
  • Is CATDUA run on a weekly cadence?
  • Are internal and partner CATIA releases aligned for R2 compatibility?
  • Are you investing in R2024x+ AI features (Sketch Generative, Mechanical Interface)?
  • Are industry-recommended workbenches (ASL, ICEM, AEC Plant, etc.) reflected in the team guide?
Bookmark this site!
PC: Ctrl + D
Mobile: Browser menu → Add bookmark