-
Notifications
You must be signed in to change notification settings - Fork 6
SolidWorks Plugin
The Chrono::SolidWorks add-in enables direct export of SolidWorks assemblies for multibody simulation in the Chrono C++ environment.
- Operating System: Windows 10 or 11
- SolidWorks: Supported versions 2011 onwards (64-bit)
-
Add-in Installer: Provided in
/acsl-chorno-simulator/libraries/chrono-solidworks-plugin/
Important
- You must use a Windows system with a native SolidWorks installation. SolidWorks is not stable on virtual machines or when run through Wine on Linux.
- The add-in provided is for Chrono 9.0.1. Compatibility with other Chrono versions is not guaranteed; see Chrono releases for details.
- SolidWorks versions v2022 through v2025 are tested and supported; later versions may also work.
- This section assumes that a supported version of SolidWorks is already installed and that the project repository has already been cloned.
- The installer automatically detects SolidWorks and registers the add-in.
- There is no need to change the installation location or any installer parameters.
Run the installer located in /acsl-chorno-simulator/libraries/chrono-solidworks-plugin/.
SolidWorks Add-in Installer Prompt β Hit Next
After installation, look for the Chrono add-in icon in the right-side SolidWorks Task Pane.
SolidWorks Add-in Pane
Tip
If you encounter issues, consult the Chrono::SolidWorks User Manual or the SolidWorks plugin repository.
Important
Before Exporting:
- Units: Please make sure your model is in SI (mmgs) units for easier workflow.
- Export only from Assemblies: Do not export from single Parts.
- SubAssemblies: Treated as single rigid bodies unless set as Flexible in SolidWorks.
- Motors: Defined via Coordinate Systems at the top assembly level (not inside Parts).
- Collision: Disabled by default; must be enabled per Solid Body (not per Part).
-
Primitive Collision Shapes: Assigning a primitive collision shape will set the material of the selected body to
Air.
Note
Collision detection and contact calculations are computationally expensive. Only flag bodies as collidable if necessary.
Best Practice:
For complex bodies, wrap them with a simple primitive (box, sphere, cylinder) as a separate solid body. The wrapper's material is set to Air to avoid double-counting mass or inertia.
To enable collision on a body:
- Expand the Part tree in SolidWorks, locate the relevant Solid Body, and select it.
- In the Chrono add-in panel, choose the type of collision shape:
- Primitive Shape (preferred): Automatically detected if the body matches a basic shape. The body is set to air material and made semi-transparent.
- Mesh (do not use unless necessary): For complex shapes, a mesh is auto-generated. For best simulation performance, consider replacing the mesh with a hand-optimized one post-export.
Warning
After enabling collision, a custom label is prefixed to the solid body name. Do not modify this prefix. Undoing a collision assignment may not be possible with the standard Undo function, so as the saying goes:** measure twice, cut once**.
Chrono motors are defined by placing a Coordinate System (Assembly tab β Reference Geometry) at the top assembly level.
To add a Chrono motor:
- In the Chrono add-in, click Motors.
- Select the desired motor type and its governing function.
- Select a top-level Coordinate System and click Add marker.
- Select the slave and master Parts and assign them accordingly.
- Click Create motor.
- A custom property appears under the selected Coordinate System. Use the Motors > Select Marker button to edit or remove motor properties.
- These properties are ignored by SolidWorks installations lacking the Chrono add-in.
Caution
It is not recommended to add motors through the plugin. Instead, define the axis frame in SolidWorks and let the acsl-chrono-simulator UAV API handle motor setup. The information in this section is provided strictly to explain the pluginβs functionality.
-
Separate .obj for each subpart:
Assemblies or Parts with multiple solid bodies can export as individual mesh files or as a single combined mesh. -
Export Scale:
The plugin automatically converts units to SI (meters, kilograms, seconds). The scale setting allows further adjustment if needed.
Tip
- It is recommended to export as separate objects.
- If the assembly units are in SI (mmgs), the plugin automatically exports them in meters, kilograms, and seconds. You do not need to change the Export Scale setting.
acsl-chrono-simulator -- A Project Chrono-based high-fidelity simulator for UAVs Developed by Giri Mugundan Kumar and Andrea L'Afflitto
- How to Use the Simulator
- How to Set Up A New UAV
- Structure of the UAV Control System
- Fundementals of adaptive control