0% found this document useful (0 votes)
250 views8 pages

Solidworks Api Demystified: Who Am I?

This document provides an introduction to programming with the SolidWorks API. It discusses: 1. The benefits of learning and using the SolidWorks API such as automating tasks, reducing errors, customizing SolidWorks, and enforcing standard procedures. 2. Key definitions related to programming with the SolidWorks API including programs, objects, macros, and the SolidWorks API itself. 3. An overview of topics that will be covered, such as getting started with the macro recorder, typical macro processes, finding code samples, and learning resources for programming languages and the SolidWorks object model.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
250 views8 pages

Solidworks Api Demystified: Who Am I?

This document provides an introduction to programming with the SolidWorks API. It discusses: 1. The benefits of learning and using the SolidWorks API such as automating tasks, reducing errors, customizing SolidWorks, and enforcing standard procedures. 2. Key definitions related to programming with the SolidWorks API including programs, objects, macros, and the SolidWorks API itself. 3. An overview of topics that will be covered, such as getting started with the macro recorder, typical macro processes, finding code samples, and learning resources for programming languages and the SolidWorks object model.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

SolidWorks API Demystified:

Who Am I?
Product Designer Certified SolidWorks
n Engineering since 1982. Professional (CSWP)
CAD user since 1991.
SolidWorks API
n

n SolidWorks user since 1998. SolidWorks User Group


Demystified n SMART (SolidWorks Milwaukee
CAD Administrator Area Resource Team)
n 20+ people on site. n http://www.smart-wi.com
Leonard Kikstra n Active member since 1999.
n Advise other sites.
Designer / CAD Administrator
RITE-HITE Products Corporation Lennys SolidWorks Resources
Productivity Gains - I want to:
Milwaukee, WI Website online Sept. 2003.
n Simplifying my job. n

n Make my computer do more n New home Sept. 2006.


work for me.
n Get the most out of the tools I Programming
use to do my job. n Programmed over 40
Lennys SolidWorks Resources: SolidWorks macros.
http://www.LennyWorks.com/SolidWorks n Most of these are available for
Blog: http://designsmarter.typepad.com/lennyworks/ free on the Internet.

SolidWorks API Demystified: SolidWorks API Demystified:


What is covered here? What is covered here?
Benefits: Getting Started with the Macro Recorder.
n Learning and using the SolidWorks API n Recording simple macros.
n Use as a discovery tool.
Definitions:
n Program Objects Why wont some recorded macro works?
n Macro API
n SolidWorks API Typical Macro Process.
n Automatic starting point.
Programming: n How a macro functions.
n Languages you can use to program.

More Basics:
n Macro Feature.
n Macro Toolbar.

SolidWorks API Demystified: SolidWorks API Demystified:


What is covered here? What is covered here?
Research. Getting help.
n Finding or writing the code you need.
Learning Tips.
Type Libraries. n Hands on

SolidWorks API Object Model. Learning Resources.


n SolidWorks
Programming strategies. n Visual Basic
n Examples

1
SolidWorks API Demystified: SolidWorks API Demystified:
What is NOT covered here? Benefits of learning and using.
Programming basics. Save Time:
n Automate common and repetitive tasks.
w Tasks are completed the same way every time.
Basic programming techniques.
w Lets your computer work as fast as it can to
complete a task.
n Reduce user input -> Reduces time.

Reduce Errors:
n Consistently retrieve or export data that
already exists in the SolidWorks documents.
n Reduce user input -> Reduces errors.

SolidWorks API Demystified: SolidWorks API Demystified:


Benefits of learning and using. Benefits of learning and using.
Develop useful tools to meet your specific Customize SolidWorks.
needs. n Add commands, change settings, etc...

Make your computer (do some of your) work Enforce standard procedures.
for you. n SolidWorks settings.
n Save time and money -> increase productivity. n Document templates.
n Increase consistency -> reduce errors. n Custom properties.
n Document settings.

SolidWorks API Demystified: SolidWorks API Demystified:


Definitions Definitions
Program SolidWorks API
n List of instructions that define what to do and how to do it. n Programming Interface for SolidWorks
n Allows other programs to access and control SolidWorks.
Object Oriented Programming n Allows other programs to access and modify SolidWorks data.
n Collection of objects used to define a program or data set. n Examples: SolidWorks Add-Ins
eDrawings SolidWorks ToolBox
FeatureWorks SolidWorks Utilities
Macro
PDMWorks SolidWorks Routing
n Similar to program
PhotoWorks COSMOSWorks
n Dependant on Parent program(s) to launch
n Control parent program.
n Parent program requires an API. Why?
n Allows developers to write programs that can run within SolidWorks and
access SolidWorks data.
Application Programming Interface (API) n Lets users build custom tools to suit their own needs.
n Consist of several sets of related functions or procedures. n Lets SolidWorks focus on their core products.
n Allows external programs to interact with, and control the application
n Read and modify the data sets created by the application.
Many SolidWorks Add-Ins have APIs.

2
SolidWorks API Demystified: SolidWorks API Demystified:
Accessing / Programming Macro Feature
Stand alone application Executable Embed macro as a feature in the model.
n Visual Basic Visual Basic .Net. n Executed every time macro feature rebuilds.
n Visual C++ Visual C++ .Net Visual C
w Programming environment outside of SolidWorks.
Overview of Macro Feature
w Must be compiled to use outside of programming environment.
n See SolidWorks API Help File
n Can start SolidWorks as background task.
n Required for creating Add-Ins/Dynamic Link Libraries (DLL).
Examples
n SolidWorks Add-Ins and API Help
SolidWorks Macro .swp file
n Mike Wilson (website)
n Microsoft Visual Basic for Applications.
w SolidWorks Program (.swp) is a single file.
w Must be launched from within SolidWorks.
w Installed with SolidWorks.
w No compiling necessary. (Slower than exe)
w Some limitations.

SolidWorks API Demystified: SolidWorks API Demystified:


Macro Toolbar Macro Toolbar
Running a macro New Macro
n Tools, Macro, Run. Run n Tools, Macro, New. New Macro
n Select macro. n Enter macro name.
n Macro will automatically run. n Visual Basic Editor automatically launched.

Record a macro Edit macro


n Tools, Macro, Record. Stop Record / Pause n Tools, Macro, Edit Edit Macro
n Complete tasks. n Select macro.
n Pause macro recorder if needed. w Visual Basic Editor automatically launched.

n Stop recorder and save new macro. n Make changes.


n Source for learning about object and their properties. n Test Macro.
w F5 to run macro.
w F8 to step thru the macro line by line.
n Save macro.
n Exit Visual Basic editor.

SolidWorks API Demystified: SolidWorks API Demystified:


Why wont a macro work? Automatic Starting Point
Pre-selections: Last procedure of the last module inserted into the macro.
n Required pre-selections may not be done before running the macro. n NOT module name specific.
n Improper pre-selections may cause problems for the macro. n NOT procedure name specific.
n Important: Run Macro
Macro incorrectly started
n Automatic starting point. Toolbar Button
n User must set module and routine starting point.
Written for different version of SolidWorks
n Incorrect Type Library References. Hotkey definition
w Version and macro specific. n User must set module and routine starting point.
n Changes in the SolidWorks API.
w Macro may be referencing obsolete API calls.

3
SolidWorks API Demystified: SolidWorks API Demystified:
Visual Basic Editor References Getting started with the Macro Recorder
How to: Great for simple macros.
n Tools | References menu n Toggle options on/off.
selections in the VB Editor
Discovery Tool
What does it do: n Provides insight into how SolidWorks sees the documents.
n Attach objects from another n Provides list of commands necessary to complete recorded tasks.
application to your project
n Standard descriptions of object
types, properties and methods. Records the following:
n Object selections.
Already set during macro n Menu selections.
recording. n Screen movements.
n Some dialog box selections.
w Does not record all selections in dialog boxes.
SolidWorks version specific. n Other actions taken.

Specific for each macro.

SolidWorks API Demystified: SolidWorks API Demystified:


Why wont some recorded macros work? Running And Testing a Macro
NOTES: Know where macro starts.
n The recorded macro will record the same objects and commands you used n Automatic starting point.
while recording the macro.
n An unmodified recorded macro will only work with the objects you
Testing macro or procedure
accessed during recording.
n [ F5 ] - Run macro.
n [ F8 ] - Step thru code line-by-line.
While recording your macro, you may be modifying the document, so n Start in current procedure.
remember the following:
n If the work is already done, there is nothing else for the macro to do.
n When running a recorded macro that modifies documents, the SolidWorks
documents must be in the same state, now, as they were when the macro
was first recorded.

Pre-selections:
n Required pre-selections may not be done before running the macro.
n Improper pre-selections may cause problems for the macro.

SolidWorks API Demystified: SolidWorks API Demystified:


Running a Macro - Typical Steps Running a Macro Typical Steps
Launch Macro User Form Initialization
n Load type libraries. n Set program defaults.
n Set global variables, constants, enumerations. n Read data from document.
n Attach to SolidWorks. n Display data and form to user.

Is a document open in SolidWorks? Wait for input


n No, warn user that you need one, then end. n React to user input.
w Modify document.
w Read more data from document.
Get document type w Update user form.
n Wrong type, warn user and end. w Update document.
n Action buttons
Proceed w OK / Process.
w Cancel.
w Help.
w Other.

4
SolidWorks API Demystified: SolidWorks API Demystified:
Running a Macro - Action Research
Process Every macro you write will require some research.
n Process user requests based on form
values. Visual Basic
n Inform user of status during
n Learning Visual Basic
processing.
n Routines
n Inform user of errors encountered.
n Many different ways to complete a task.
n Inform user of status upon
completion.
n Wait for user OK. SolidWorks
n Learning the SolidWorks API
Clean up n Document Structure
n Close forms. n Feature Manager
n Clear out objects and variables. n SolidWorks API Add-Ins and Help File
n Close macro.
Existing macros

SolidWorks
SolidWorks API Demystified:
Visual Basic Programming - Objects ModelDoc2

What are they?


n Objects have attributes or properties.
n Some objects can contain other objects.
w Parent - Child relationships.

Can be accessed or modified by outside program.


n Must set an object to a variable to access its properties
w Meta-data - Information about object (properties).
w Features - Objects with an Object.
n Methods
w Command and syntax that provides access to objects properties or features.
n Accessors
w How to get the property or feature from parent.

SolidWorks API Demystified: SolidWorks API Demystified:


Examples - Recording and Writing a Macro Justification Example:
Example #1 - New Macro - Document Export

n Scope:
w Export documents to different file types.
w Drawings, Models, Configurations.
w 20 models to create 300 exported files.

n Manual process:
w Repetitive, Time consuming, User input required at all steps!
w Selecting file type by hand every time.
w Consistent configuration naming.
w Did I export all configurations?
w Estimate time to complete: 12-14 Hours

n Time comparison:
w Time to write: 8 Hours
w Automated: 1.5 Hours
w Saved first use: 10-12 Hours

n Macro can be reused many, many times.

5
SolidWorks API Demystified: SolidWorks API Demystified:
Justification Example: Assigning a Macro to a Shortcut/Hotkey.
Example #2 - Modify Macro - Change custom property value. How To:
n Tools, Customize
n Scope: n Keyboard tab
w All documents require addition or removal of a custom property. n Category: Macro
w 1000s of files. n Commands: Macro Name
w Found macro on internet, can modify for use.
n Shortcut key: Keyboard combination
n Click OK to complete.
n Manual process:
w Repetitive, Time consuming, User input required at all steps!
w Did I change all documents? NOTES:
w Did I make the right changes? n Macro must exist in \Macro directory in SolidWorks installation directory.
w Estimate time to complete: 20+ Hours n Must have a document open in SolidWorks to add a macro to a
shortcut/hotkey.
n Time comparison:
w Time to modify macro: 15 Minutes
w Automated: 2.5 Hours
w Saved first use: 17+ Hours

n Macro can be customized and reused many, many times.

SolidWorks API Demystified: SolidWorks API Demystified:


Assigning a Macro to a Toolbar Button. Tips - Learning
How To: Learn by example
n Right-Click toolbar, Customize n Find a good macro, and study how it works.
n Commands tab n Use [F8] in VB Editor to step thru code line-by-line.
n Category: Macro
n Grab and drag icon and drop on toolbar. Experiment
n Select a bitmap image to use on toolbar. n Write do nothing macros for Visual Basic or SolidWorks API.
n Fill out fields in dialog box: w Learn functions you havent used before.
w Tooltip - Balloon tip at arrow. w Develop your own functions or common routines.
w Prompt - Help info in status bar. w Test What If scenarios.
w Macro - Name and full path. n Save your code for later use.
w Method - Module and procedure.
w Shortcut - Keyboard combination.
n Click OK to complete.

NOTE:
n Must have a document open in SolidWorks to add a
macro to a toolbar.

SolidWorks API Demystified: SolidWorks API Demystified:


Programming Strategies Programming Strategies
Start small and work your way up Use subroutines and functions
n Write and test small portions of code before continuing to larger portions. n Simplifies code.
n Start with a basic program, then add more functionality and flexibility n Allows repeated use of common code.
later.
w Each feature added, requires more programming and increases macro
complexity and potential for problems. Use existing code
n KISS: Keep It Short and Simple. n Dont re-invent the wheel.
n Saves time and your effort.
n Keep sample code on hand for later use.
Know that there are multiple ways to complete tasks
n Export your own code for later use in other macros.
n Conditional statements.
w If Then, Else, End If True/False n Create and use Templates for creating similar macros in the future.
w Select Case ., End Case Response based on value.
w For . Next Set number of times to repeat.
w Do While . End Loop Dont know how many times.
n Multiple conditions may require nested statements.
n The best method may not be the first one you develop or discover.

6
SolidWorks API Demystified: SolidWorks API Demystified:
Programming Strategies Programming Strategies
Add comments to your code Plan for multiple users or distribution
n Helps you and others understand what you did, and why. n Think about other people who may be using your macros.
n Helps you remember what you did or why you did it that way. n Macro may be used for needs other than initially intended.
n Identify what the routines are doing. n User customization of existing macro.
w Not every user will know how to modify a macro.
w External settings file for modifiable default settings.
Use variable/constant/enumeration names that make sense. w Macro defaults if settings file is not found.
n Do not encrypt names n Different companies have standards, procedures and needs.
w Use myCounter insteaf of myCnt.
n Capable of running on different versions of SolidWorks
n Makes code more readable.
n Keep your variable names unique and separate from Visual Basic and
SolidWorks variable names.
myCounter vbCounter swxCounter
n Be careful that you dont use command or system variables as your own
variable names

SolidWorks API Demystified: SolidWorks API Demystified:


Programming Strategies Tips - Getting Help
Plan for use in multiple versions of SolidWorks SolidWorks API Help File.
n API can check what version of SolidWorks is in use.
SolidWorks API forum.
Error trapping.
n Think of ways that users may (unintentionally) misuse your macro. SolidWorks API Support.
w Wrong document type, Improper selections, etc
n SolidWorks API functionality only.
n Error trapping can be one of the toughest part of programming.
n Not for learning.

Be specific!
n Repeatable problem.
w Identify steps leading up to problem.
w Identify specific conditions that lead to problem.
n Identify specific problem you are experiencing.
n Dont send complete macro.
w Provide simple code to demonstrate.

Dont expect help with programming techniques.

SolidWorks API Demystified: SolidWorks API Demystified:


Resources - Installed with SolidWorks Resources - SolidWorks website
SolidWorks Application Programming Interface. API programming tips and updated help files.

SolidWorks API and Add-Ins help file. SolidWorks Express Newsletter - API Examples
n Explains object structure and command syntax.
n 490+ ready to use Visual Basic examples. Download projects, sample programs and macros.
n The #1 resource for learning the SolidWorks API
n Best help file I have seen for writing macros.
SolidWorks Developer Kit. (SDK)
n Not required.
Visual Basic for Applications Version 6. n Contains working sample programs.
n SolidWorks 2001Plus and later. n New SDK for each version of SolidWorks.
n Visual Basic for Applications Help File. n Separate SDKs for Add-Ins.

Online Tutorial - SolidWorks API. SolidWorks World Presentations.


n Record, Save, Edit a macro.

List of SolidWorks Resellers.


n SolidWorks API Training classes.

7
SolidWorks API Demystified: SolidWorks API Demystified:
Resources - Examples (Users) Resources - Visual Basic Programming
Lennys SolidWorks Resources Macros, Tips, Blog Websites
n http://www.lennyworks.com/solidworks
n Tutorial and Lessons
Mike Wilsons Modeling Techniques Macro Feature n May be Visual Basic Specific.
n http://www.mikejwilson.com/solidworks/solidworks_files.htm n Some provide better explanation and examples.
n Find a site with a training style you like.
Matt Lombard Macros, Tips, Blog n May not be able to provide help with SolidWorks API specific questions.
n http://mysite.verizon.net/mjlombard/
Forums
Joe Jones at New Hampshire CAD Tutorials
n http://www.nhcad.com/sw_macros/index.html n May be Visual Basic Specific.
n May not be able to provide help with SolidWorks API specific questions.
Stefan Berlitzs SolidWorks Tools Macros, Tips, Blog
n http://www.swtools.de Search the web

SolidWorks Tips & Things API Tips n Too many to list.


n http://www.solidworktips.com/

SolidWorks API
Demystified
Leonard Kikstra
Designer / CAD Administrator
RITE-HITE Products Corporation
Milwaukee, WI

Lennys SolidWorks Resources:


http://www.LennyWorks.com/SolidWorks
Blog: http://designsmarter.typepad.com/lennyworks/

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy