This page contains a library of useful macros, utilities and scripts for SOLIDWORKS engineers. Macros are grouped by categories: part assembly, drawing, performance etc.
Follow the Programming VBA and VSTA macros using SOLIDWORKS API section for guidelines of using and creating macros in SOLIDWORKS.
Cannot find the macro for you? Submit the request macro form and our team will review your request and will try to add the macro to the library.
Best practices for organizing macro library
Toolbar+ is a part a free and open-source CAD+ Toolset add-in for SOLIDWORKS which allows organize the macro library in custom toolbars integrated to SOLIDWORKS environment. Add-in also allows to manage multi-user environment by storing the configuration in the centralized location.
Alternatively macro buttons can be created using native SOLIDWORKS functionality. Read Creating macro buttons in SOLIDWORKS toolbars for more information.
Explore this section to find productivity and automation tools which suit your needs.
For additional productivity add-ins visit the SOLIDWORKS Labs page.
Batch Running
in some cases it might be required to batch run macros for multiple files or folders with SOLIDWORKS files. Try Batch+ is a free stand-alone application part a free and open-source CAD+ Toolset.
Categories
- Import/Export
- Model
- Frame
- Assembly
- Developers
- Performance
- Custom Properties
- Part
- Cut-List
- Drawing
- Security
- Materials
- Sketch
- Geometry
- Motion Study
- Options
Import/Export
Automation of importing and exporting SOLIDWORKS files to different formats
Batch Export To Foreign Formats
Console application which exports all files from the specified folder to specified foreign format (e.g. eDrawings, html, stl, jpeg, etc.) using eDrawings API, without the need to have SOLIDWORKS installed or SOLIDWORKS license
Batch Export To Pdf
Console application which exports all files from the specified folder to PDF format using eDrawings API, without the need to have SOLIDWORKS installed or SOLIDWORKS license
Export Flat Patterns From Part Or Assembly Components
VBA macro to export flat patterns from all components of the active assembly or active part
Export Sketch To DXF/DWG
VBA macro to export the selected 2D sketch in SOLIDWORKS part or assembly file to the DXF or DWG file
Save Bodies To Parts
VBA macro to save all bodies (or selected bodies) in the SOLIDWORKS part document to individual files
Export Files
Script allows exporting of the SOLIDWORKS file into the foreign format using command line
Export Selected Bodies
VBA macro to export only selected bodies to foreign format (e.g. 3D xml, xaml, amf, 3mf)
Export To Multiple Formats
VBA macro to export file (or optionally all configuration or drawing sheets) to multiple formats
Export Sheets To PDF
VBA macro to export all sheets (or selected sheets) from multi-sheets drawing to individual PDF files
Export Part Or Component To STL
Macro exports selected assembly component or part to stl format without the need of activating the document. Macro can optionally apply transformation to the exported STL to reorient the output
Import STEP files
VBA macro to import STEP files and save as SOLIDWORKS files using a sub-folder with the same name.
Export Part File To Parasolid
Power Shell script to export part file to parasolid format (.xmp_bin) from command line via Document Manager API (without SOLIDWORKS)
Model
Automation of 3D Models (parts and assemblies) and 2D drawings
Display Callouts With Diameters For All Selected Circular Edges
Macro will display the callouts with the diameter values of all selected circular edges in the 3D model
Run Macro On Document Load
Macro runs VBA code (or another macro) automatically on file load using SOLIDWORKS API
Run Macro On Document Save
Macro runs VBA code (or another macro) automatically on file save using SOLIDWORKS API
Run Macro On New Document Creation
VBA macro to run other macros or code on every new document creation using SOLIDWORKS API
Set Title To Next Part Number
VBA Macro to set title with automatically incremented number from the shared file using SOLIDWORKS API for new files
Clear Layer
VBA macro to remove all items (annotations, sketch segments, blocks etc) from the specified layer in SOLIDWORKS document
Delete All Equations
Macro removes all of the equations (or optionally only broken equations) in the active model (part or assembly)
Create Configuration With Average Dimension Values
Macro will create child configuration where all the dimension will be set to average value based on the minimum and maximum values of the tolerance
Find-Replace Text In Dimension Names
Macro replaces the text in the dimension names of the selected feature or features
Delete Empty Folders
VBA macro deletes all empty feature folders in the SOLIDWORKS files (part or assembly)
Delete Feature Folder With All Children Features
Macro allows to delete all of the features in the selected folder in one click using SOLIDWORKS API
Delete rolled back features
VBA macro finds and deletes all features below the rollback bar
Rename All Features Sequentially
Macro renames all the features in the order preserving the base names using SOLIDWORKS API
Show All Comments Text
VBA macro to show text from comments in the active document using SOLIDWORKS API
Update XYZ Curve From File
VBA macro which updates coordinates of the free form (through XYZ points) curve from the linked external text file
Model Configurator
VBA macro feature which allows to configure the dimensions of the model via custom user Form
Automatically Run Macro On Model Load
Macro feature to run VBA code on model loading using SOLIDWORKS API
Automatically Run Macro On Rebuild
Macro allows to automatically run macros on every rebuild using the macro feature and designed binder attachment with SOLIDWORKS API
VBA macro to print SOLIDWORKS documents using the specified settings (printer name, printer range, orientation, paper size and scale)
Select Features By Type
VBA Macro to select all features in the active SOLIDWORKS model (part, assembly or drawing) by specifying its type
Select Standard Plane Or Origin By Type
Example demonstrates how to select standard plane (Top, Front or Right) and origin by specifying its type
Assign New File Name
VBA macro to automatically assign new file name for the document based on the referenced drawing view or custom property using SOLIDWORKS API
Export Table To CSV
Macro exports selected table or specified tables (BOM, General Table, Revision etc.) into CSV format allowing to export with or without header preserving the special symbols like comma (,) and new line symbol using VBA macro
Write Data From Excel Table Into General Table
Macro will read all the data from the Excel table and import it into the new general table of the active document or update existing table using SOLIDWORKS API
Frame
Automation of SOLIDWORKS menus, toolbars, 3rd party add-ins, documents management
Load/Unload Add-In
Macro to trigger (load/unload) the specified add-in using SOLIDWORKS API
Save All Documents Silently
VBA macro to save all currently opened modified documents silently (without the popup messages) using SOLIDWORKS API
Close All Documents Except Active
Closes all opened documents except of an active one using SOLIDWORKS API
Run Group Of Macros
Macro demonstrates how to run the group of macros within one macro using SOLIDWORKS API
Assembly
Automation of SOLIDWORKS assembly documents (*.sldasm): components, mates
Collect Reference Documents
VBA macro to collect all reference output files (e.g. DXF, PDF) from all folders into a single folder
Add Display Data Marks
VBA macro to add display data mark for configurations used in Large assembly to be opened in Large Design Review Mode or eDrawings
Copy Component Path
Macro copies the path of the selected components in assembly or drawing into the clipboard using SOLIDWORKS API
Count All Selected Components
Macro counts all unique components selected in the assembly and displays the result in the commands bar
Export Components Positions
This macro exports positions of components to an external CSV text file using SOLIDWORKS API
Remove All Mates And Fix Components
VBA macro to remove all mates and fix all top level components in the active SOLIDWORKS assembly
Make Independent With Drawing
VBA macro allows to make an independent copy of the selected component, update reference in assembly and copy associated drawing
Move To Folder
Macro move the components selected in the graphics area into a new folder in the feature manager tree
Copy Component Name To Component Reference
VBA macro to copy component name to the component reference using SOLIDWORKS with an ability to filter virtual components only
Open Components In Positions
VBA macro to open each selected component in the assembly in the separate window in the same position they appear in the current assembly view
Components Configurations Permutation
Macro performs a permutation for each components in the root level of the assembly using SOLIDWORKS API and saves the results as individual files
Purge Components Configurations
VBA macro to create copies of all selected components in the assembly and purge configurations in each of them
Replace Components
Macro demonstrates how to replace selected components in the batch preserving original selections using SOLIDWORKS API
Set Components Solving (Rigid or Flexible)
VBA macro to batch set the rigid or flexible option for selected components in the assembly using SOLIDWORKS API
Show Selected Assembly Component In The Window Folder
Example demonstrates how to open the folder of the selected component in the assembly in the Windows File Explorer
Find Where Used
VBA macro to find the assemblies within active assembly which are using the selected component using SOLIDWORKS API
Write Component Quantity To Custom Property
VBA macro which writes the total quantities of components in SOLIDWORKS assembly into custom property
Move Suppressed Mates Into A Folder
VBA macro to move suppressed mates in assembly into feature folder using SOLIDWORKS API
Open components in LDR mode
VBA macro to open all selected sub-assemblies and part components in the Large Design Review (LDR) mode and view only mode correspondingly
Manage All External References For Components
Example will break, lock or unlock all external references for the file or components in the active assembly using SOLIDWORKS API
Developers
Helpful utilities for developers building software utilizing SOLIDWORKS API
Capture SOLIDWORKS Commands
Macro allows capturing SOLIDWORKS and user commands into the list box
Identify Feature Definition And Specific Type
Helper methods allowing to identify the definition and specific type of the selected feature via SOLIDWORKS API and reflection
Performance
Boosting operational performance of SOLIDWORKS documents and application
Notify Long Running Command Completion
VBA macro to handle the long running commands in SOLIDWORKS (open, rebuild, suppress etc.) and beep to notify its completion
Reveal Hidden Features
Macro finds all features which are hidden in the SOLIDWORKS model and either displays or removes them
Toggle Scroll Item Into View
VBA macro to toggle on and off the scroll selected item into view option in SOLIDWORKS FeatureManager settings
Rebuild Model
VBA macro to force rebuild, hide all types and show isometric view of SOLIDWORKS model
Suspend Rebuild Operation
This macro allows to suspend rebuild operation for parts, assemblies and drawings to enhance the performance using SOLIDWORKS API
Upgrade Cosmetic Threads
VBA macro upgrades cosmetic threads to a new (SOLIDWORKS 2020) version which allows to improve performance of the document
Open Document In Quick View Mode From File Explorer
Tool to open SOLIDWORKS assembly or drawing in quick view (large design review) mode from the context menu in Windows file explorer
Custom Properties
Automation of SOLIDWORKS generic, configuration and cut-list custom properties
Auto Date Custom Property
VBA macro which creates a date custom property in SOLIDWORKS file in the specified format with an option to automatically update
Copy File Specific Custom Properties To Configuration Properties
Macro copies all the file specific properties into the properties of the active configuration
Link Custom Properties To File
VBA macro to link and auto-update multiple SOLIDWORKS custom properties from the external CSV/Text file into configuration or file
Rename Configurations Based On Custom Property
Macro renames all configurations of assembly or part into the value of the specified configuration specific custom property
Sort Custom Properties
VBA macro to sort file and configuration specific custom properties (in ascending and descending order) using logical order via SOLIDWORKS API
Copy Cut-List Custom Properties To Model
VBA macro to copy SOLIDWORKS custom properties from cut-list (sheet metal or weldment) to model or configuration
Link Cut-List Custom Properties To File Custom Properties
Macro feature to link specified custom properties from weldment cut-lists to SOLIDWORKS file custom properties
Manage Properties In Excel
Excel macro which allows very fast way to manage (read and write) SOLIDWORKS custom properties in a batch directly from Excel spreadsheet
Part
Automation of SOLIDWORKS part documents (*.sldprt): geometry, feature tree
Remove All Colors From Part
Macro demonstrates how to remove all colors from the part or assembly documents on all levels (face, feature, body, model) using SOLIDWORKS API
Rename Features Based On Type Names
VBA macro renames (translates) the features in the part feature tree using SOLIDWORKS API
Rename Flat Pattern After Cut-Lists
VBA macro to rename sheet metal flat patterns after the corresponding cut-list feature names
Cut-List
Automation of SOLIDWORKS cut-lists in Sheet Metal and Weldment parts and drawings
Colorize Cut Lists
SOLIDWORKS VBA macro to colorize all the cut-list item bodies (sheet metal and weldments) based on the value of the custom property
Exclude Selected Bodies From Cut-Lists
Macro excludes the solid bodies selected from the graphics area or from the feature tree from weldment or sheet metal cut-list using SOLIDWORKS API
Rename Cut-List Bodies
VBA macro to rename bodies within the SOLIDWORKS cut-list body folder (sheet metal or weldment) based on the predefined template (e.g. custom property value)
Rename Cut List Features
VBA macro to rename cut list features (sheet metal and weldment) based on custom properties using SOLIDWORKS API
Split To Configurations
VBA macro which creates individual configurations for all cut-list bodies (or unique bodies) in the active SOLIDWORKS part document for the drawing generation purpose
Drawing
Automation of SOLIDWORKS drawing documents (*.slddrw): tables, views, sheets
Change Layer For Selected Objects In Drawing
Macro will move all selected objects in the drawing sheet to specified layer using SOLIDWORKS API
Copy File Path Of All Assembly Component Drawings
VBA macro which copies all the referencing drawings paths of the components of the active assembly using SOLIDWORKS API
Copy Drawing View Properties
VBA macro to copy specified custom properties from the selected or default drawing view into the drawing properties
Export Dimensions Information
VBA macro to export dimensions information (name, position, location, zone, value, tolerance) from SOLIDWORKS drawing to the CSV file
Export Flat Patterns
VBA macro to export flat pattern views in the drawing active sheet to DXF or DWG or other format preserving the bend notes, annotations etc. using SOLIDWORKS API
Import/Export Layers
VBA macro imports and exports information about layers (description, color, style, thickness, visibility and will print) in the SOLIDWORKS drawings
Lock Sheet Format
VBA macro which locks (or password protects) the sheet format editing using SOLIDWORKS API
Open Associated Drawings
VBA macro to open the drawings associated to the component in its own window regardless of naming (with an option to open the drawing in detailing mode)
Open Drawing View Referenced Document
VBA macro opens the document referenced by the selected drawing view in the referenced configuration and display state
Rename Flat Pattern Views With Cut-List Names
VBA macro to rename all flat pattern views in the the active sheet after the respective cut-list names using SOLIDWORKS API
Rename Drawing Sheets With Custom Properties Values
Macro will rename all drawings sheets using the value of the specified custom property using SOLIDWORKS API
Replace Sheet Format
VBA macro to replace sheet formats in the drawing sheets based on the specified map
Scale Views Based On Geometry Size
VBA macro to scale drawing views in the current sheet based on the geometry size and specified map
Find And Delete Notes
VBA macro to find and delete notes in all SOLIDWORKS drawing sheets based on the text, regular expressions or empty values
Increment The Numeric Value In The Note
This macro increments the numeric value of the notes by matching regular expression (e.g. incrementing the revision) using SOLIDWORKS API
Print Notes Text To File
VBA macro to output all notes text to the text file from the SOLIDWORKS drawing file
Security
Enabling additional security and protection for the models and applications using SOLIDWORKS API
Add Watermark Feature
Adds the watermark feature (license) with custom message and name which cannot be deleted or edited
Materials
Automation of SOLIDWORKS materials database and properties in parts
Copy Custom Property From Material To Model
Macro demonstrates how to copy the specified custom property from the material database to the model custom property using SOLIDWORKS API and XML parsers
Sketch
Automation of SOLIDWORKS sketch, segments and relations
Import Points Cloud From CSV File Into Sketch
Macro imports the points cloud from the specified CSV file into the active 2D or 3D Sketch using SOLIDWORKS API
Export Sketch Coordinates
VBA macro to export coordinates of sketch points from the selected sketch with an ability to convert coordinate to user units and into the model space
Hide All Sketches
Macro will hide (blank) or show (unblank) all sketches (2D and 3D) in the active document using SOLIDWORKS API
Merge Sketches
VBA macro to merge selected sketches into a single 3D sketch using SOLIDWORKS API
Select Equal Arcs
VBA macro to find and select all arcs with diameter equal to the input arc using SOLIDWORKS API
Toggle Sketch Snapping
VBA macro to toggle on and off the sketch enable snapping option in SOLIDWORKS sketch
Geometry
SOLIDWORKS geometry automation: custom features, topology optimization
Create Selectable Bounding Box
VBA macro which creates 3D bounding box sketch based on the SOLIDWORKS bounding box with an ability to select sketch segments
Split Body By Faces
Macro splits the selected surface or solid body by faces creating individual sheet body for each face using SOLIDWORKS API
Copy Surfaces
SOLIDWORKS VBA macro to copy selected faces by calling the "Surface Offset" feature with distance 0
Motion Study
Automation of SOLIDWORKS Motion Study module
Animate Configurations
Macro demonstrates how to create an animation from configurations to represents model history or sheet metal folding
Options
SOLIDWORKS document and system option automation
Toggle white drawing background
VBA macro to toggle a white background with another color of your choice in drawings using system settings
Export All Document Options To Excel
Macro allows to export all document properties into excel format using SOLIDWORKS API and reflection
Set Shaded Image quality to coarse
SolidWorks VBA Macro to set the Shaded Image quality to coarse in Part and Assembly files. Also the checkmark "Apply to all referenced part documents" is set to ON if the active document is an assembly.