Getting started with SOLIDWORKS API
Getting started with SOLIDWORKS API

SOLIDWORKS API can be used in any COM-compatible language (i.e. C++, C#, VB.NET and Visual Basic). There are different types of applications which can be developed using the SOLIDWORKS API. Please refer the comparison table below for selecting the right type of the application which suits the requirements.

Method VBA Macros Add-ins VSTA Macros Stand-Alones Scripts Comments
Easy to start Yes No Yes Yes Yes Average time spent for a not experienced user to start a solution
Easy To Deploy Yes No No (should be easy but in practice usually a lot of problems) Yes Yes Time spent to make your software work on another machines
Protected Code No (only password protection) Yes (binaries) Yes (binaries) Yes (binaries) No A ways to IP protect your code
Scope of available Utility Libraries No (only obsolete VB6 libraries) Yes Yes Yes No Availability of utility functions for working with Databases, Files, XML etc.
Scope of available SolidWorks functions Limited Full Limited Limited Limited Some interfaces will only operate within the add-in such as the ones from SWPublished library
Reliability No (usually the problems with missed libraries etc) Yes Yes Yes No How much the solution is reliable across the SoldiWorks versions and PC workstations.
Debugging Easy (out of process) Complicated (in-process). Slow to restart because requiring to restart add-in/SolidWorks Complicated (in-process) Easy (out of process) No For in-process applications it is not possible to see and change SolidWorks at runtime from UI.
Requirement of additional software No Development IDE required No (Yes for SW 2018) Development IDE required No Development IDE usually consist of code text editor and compiler (e.g Visual Studio, Eclipse, CBuilder etc.)
User Friendly for the beginners Yes No No No No  
Performance Normal Good Good Normal Normal Operating performance