## Overview A **large assembly** in CAD software is not defined by component count or physical size alone. It is defined by its impact on **system resources** and **productivity**. Performance degradation in large assemblies is primarily caused by poor modelling practices rather than hardware or software limitations, making design strategy the most critical factor in managing assembly performance. --- ## Key Concepts - **Large Assembly** – any assembly that consumes all available system resources and reduces design productivity - **Performance Bottleneck** – the combination of modelling habits, file management, and system configuration that causes slow performance - **Best Design Practice** – a set of modelling, assembly, and data management strategies that minimise performance loss - **Simplified Representation** – reduced-detail versions of components used to lower memory and processing demands --- ## Detailed Notes ### What Makes an Assembly "Large" - **Not** defined by component count or physical dimensions - Defined by two primary characteristics: - **Consumes all system resources** (memory, CPU, GPU) - **Hurts productivity** (slow operations, long wait times) ### Traits of Large Assemblies #### Physically Large - Requires layout planning or engineering input to position all components - Contains so many components that management, calculation, and memory demands reduce productivity #### Complex - Contains many **parametric relationships** between parts - Has a **large number of mates/constraints** - Taxes computing resources beyond comfortable limits - Includes many different component types requiring active management - Contains **imported data** that must be located and loaded at runtime - Features **geometric complexity** that is difficult and slow to rebuild #### Multi-Discipline / Multi-Source - Assemblies often span multiple systems and data sources: | Source Type | Example | |---|---| | Mechanical components | Custom-designed parts | | Standard/library parts | Fasteners, fittings, hardware | | Weldment structures | Fabricated frames, brackets | | Routed systems | Piping, wiring, tubing | | External vendor files | Purchased parts, subcontractor models | | Client-supplied files | Reference geometry, enclosures | --- ### Where Performance Degrades - Opening, closing, and saving files - Rebuild/regeneration time - Drawing creation and updates - Rotating, panning, and zooming - Inserting new components - Switching between part, assembly, and drawing environments - Adding or editing mates/constraints --- ### Root Cause of Performance Issues - **~80% of performance problems are under user control** - Poor software setup and data management options - Failure to plan work efficiently - Suboptimal modelling practices - **~20% of performance problems are under software control** - Bugs, algorithm efficiency, internal code - **Hardware upgrades alone will not solve performance issues** caused by poor modelling practices - Slower assemblies are an **accumulation of many small problems** — there is no single quick fix --- ### Best Design Practices #### Effective Part Modelling - Set a **proper origin** to simplify placement and mating - Use **simple, easy-to-build features** — avoid unnecessarily complex geometry - **Remove in-context relationships** where possible to reduce dependency chains - **Eliminate circular references** between features or parts - Create **simplified versions** of parts for use in large assemblies #### Effective Assembly Modelling - Organise components into logical **subassemblies** - Use the **proper level of detail** for the task at hand - Apply **proper mates/constraints** — avoid over-constraining or redundant mates #### Reducing Memory Load | Technique | Purpose | |---|---| | Quick open mode | Load only essential data on file open | | Lightweight mode | Load component graphics without full model data | | Large design review | Open assemblies in a read-only, resource-light state | | Simplified configurations | Display only the geometry needed for the current task | | Envelope/proxy components | Use low-detail stand-ins for complex purchased parts | | Draft quality drawings | Reduce drawing regeneration overhead | #### Data Sharing Best Practices - Ensure all team members have **access to necessary files** - Always work with the **most current version** of each file - Make changes to files **with responsibility and traceability** - **Protect files** from accidental overwrites by unauthorised users --- ### File Management Considerations - All project team members must have **appropriate file access** - Protect files from **accidental overwriting** by non-team members - Ensure **file properties and metadata** are filled in correctly ### Avoiding Common Pitfalls - **Inability to locate files** — use structured folder conventions or a data management system - **Working on the wrong version** — enforce version control practices - **Modelling problems** — follow best practice guidelines from the start - **Hardware problems** — use certified or recommended hardware configurations - **Network problems** — ensure reliable access to shared file locations ### Producing Parts, Assemblies, and Drawings Efficiently - Use **in-context features** only where appropriate during initial design - **Break in-context relationships** once the design stabilises - Share data between engineering, manufacturing, and design teams seamlessly - **Limit configurations** to two or three per component where possible - Design **simplified parts** to reduce rebuild overhead - Use **neutral-format bodies or simplified representations** for library or purchased parts --- ## Diagrams ### Large Assembly Performance Factor Breakdown ```mermaid pie title Root Cause of Performance Issues "User-Controlled Factors" : 80 "Software-Controlled Factors" : 20 ``` ### Best Practice Workflow for Large Assembly Design ```mermaid flowchart TD A[Plan Assembly Structure] --> B[Design Simplified Parts] B --> C[Set Proper Origins & Easy Features] C --> D[Organise into Subassemblies] D --> E[Apply Proper Mates/Constraints] E --> F[Use Lightweight/Simplified Modes] F --> G[Implement File & Version Management] G --> H[Optimised Large Assembly] style A fill:#2a9d8f,color:#fff style H fill:#2a9d8f,color:#fff ``` ### Three Pillars of Assembly Optimisation ```mermaid graph TD A[Large Assembly Optimisation] --> B[Effective Part Modelling] A --> C[Effective Assembly Modelling] A --> D[Memory & Data Management] B --> B1[Proper origins] B --> B2[Simple features] B --> B3[Remove in-context refs] B --> B4[Simplified versions] C --> C1[Subassembly organisation] C --> C2[Proper level of detail] C --> C3[Clean mates/constraints] D --> D1[Lightweight modes] D --> D2[Quick open / Design review] D --> D3[Version control & file access] ``` --- ## Key Terms - **Large Assembly** – an assembly that exhausts system resources and impairs productivity, regardless of component count - **In-Context Relationship** – a reference between parts created while editing one part within the context of the assembly; creates dependencies that slow rebuilds - **Circular Reference** – a dependency loop where Feature A depends on Feature B, which in turn depends on Feature A; causes rebuild errors and slowdowns - **Lightweight Mode** – a display state where components are loaded with graphical data only, without full model information - **Large Design Review** – a read-only, resource-efficient mode for viewing large assemblies without loading full model data - **Simplified Configuration** – a reduced-detail representation of a part or subassembly used to lower processing demands - **Mate/Constraint** – a geometric relationship (coincident, concentric, parallel, etc.) that positions one component relative to another - **Subassembly** – a self-contained group of components within a larger assembly, used to organise structure and improve performance - **Parametric Relationship** – a dimension- or equation-driven link between features that updates automatically when inputs change - **Neutral-Format Body** – a geometry file exported in a non-native format (e.g., STEP, Parasolid) to strip parametric history and reduce complexity --- ## Quick Revision - A **large assembly** is defined by its impact on resources and productivity — not by component count - **~80% of performance issues** are caused by user practices; only ~20% are software-related - Upgrading hardware alone **will not fix** assemblies slowed by poor modelling habits - **Effective part modelling** includes proper origins, simple features, and removing in-context/circular references - **Subassembly organisation** and clean mating strategies are essential for assembly performance - Use **lightweight, simplified, and quick-open modes** to reduce memory consumption - **File management** (version control, access rights, metadata) prevents costly errors in team environments - Limit configurations to **two or three per component** to avoid excessive rebuild overhead - Use **simplified or neutral-format parts** for library and purchased components - There is **no single quick fix** — performance is the result of many accumulated good (or bad) practices