1. Home
  2. Knowledge Base
  3. Software Resources
  4. Design Smart With SOLIDWORKS Electrical Macros

Design Smart With SOLIDWORKS Electrical Macros

Let’s talk about Macros! Why are they important and how can we use them to design? First, let’s start with what a macro is. A macro is a sub-assembly that retains all the information that was associated with symbols and wires the macro was created from. This is possible because SOLIDWORKS Electrical stores it’s data in an SQL database. Furthermore, to SOLIDWORKS, there are two types of macro, a schematic level macro and a project level macro. The difference between the two being, a project level macro encompasses whole pages (think a common control schematic), while a schematic level will just be some small sub-assembly (think a motor starter circuit).

Schematic Level

By creating these two categories, SOLIDWORKS Electrical is affording us a lot of versatility. For example, in a situation where you are designing using the same transformer configuration maybe five times, you may only have very few changes and yet you must go through the arduous process repeatedly. This is a perfect opportunity to use a schematic level macro.

On the surface it may not seem too bad, but if you must do this across multiple projects, the time it takes to design adds up. If we were using another software where drawing was done with lines and the symbols weren’t smart, copy and paste may be a viable option. Now, with the introduction of smart components, where information is linked to a database, macros are very beneficial. In addition, when we need to make this same transformer circuit in another project, it can now be pulled in. Macros preserve all smart features. Formula based marking further compliments SOLIDWORKS Electrical’s ability to adjust your BOM automatically.

Project Level

Project level macros bring a different aspect to the table. This version gives us the ability to translate whole pages as opposed to smaller assemblies. For example, instead of redrawing schematics that are essentially the same, project level macros re-use old designs. Modifying these designs then decreases the time it takes to design. Exactly like schematic level macros, your reports and schematic level marks will be updated.


The next section details how to use both the schematic level and project level macro. Included in your macro should be complete circuits or sets of circuits. Wire styles and cables should be included. The SQL database stores this information and is vital to the functionality of the macros. This method of creation will decrease design time when re-using the macro.


The scenario is as follows: You are an engineer who designs conveyor systems. Your previous processes would be to create new motor and control circuits by hand every time, forcing you to update all documents manually (BOM, wiring diagrams, etc.). Macros will speed up the design process.

Building a manual BOM is not the best way to use your time. Here’s how to make it look like you have A/R in the Quantity Column automatically.

Schematic Level

  • The motor circuit we need is the same circuit we designed in a previous design. Going into that project, we create a macro from the old design. Highlighting the identified circuit and dragging it into our motor starter circuit group will create a macro. This creates a macro now usable across all projects.
Identified circuit from previous project
Macro created after dragging circuit into group
  • Now, returning to the current project, the macro is inserted into the new project. Drag and drop the circuit into the motor control schematic. The inserted macros generate new marks automatically. Finally, note motor M3, M4, and all cables have changed. SOLIDWORKS SQL data base is responsible for this. The database tracks use of macros, adjusting marks as predefined formulas dictate.
Repeated motor circuits demonstrating SolidWorks Electricals’ ability to adjust marks

Project Level

  • Firstly, project level macros use whole schematics. Therefore, it is important use broad schemes to maximize macro use. The methodology is as follows: it takes time to assign manufacturers parts and wire properties. If we had a project level macro, however, we will skip that aspect of the design process because everything is already assigned! In our case, we will develop the macro using a control schematic. Control schematics are very common and so developing a general template will be essential.
  • To do this, right click on the control circuit, then save it as a “Create project macro…”.
  • Finally, with the project macro created, it can now be inserted. Further modification may be necessary. To insert, right click on the book the macro will be associated with. Click “Create project macro…”, select the control circuit. Edit the page further from here.
Project macro insertion into project

 Enroll in SOLIDWORKS Subscription Services

Get The Full Benefits SOLIDWORKS Support With a CADimensions Subscription

Was this article helpful?

Related Articles

Need Support?

Can't find the answer you're looking for?
Contact Support