Solidworks api demystified
This presentation is the property of its rightful owner.
Sponsored Links
1 / 37

SolidWorks API Demystified PowerPoint PPT Presentation


  • 150 Views
  • Uploaded on
  • Presentation posted in: General

SolidWorks API Demystified. Leonard Kikstra Designer / CAD Administrator RITE-HITE Products Corporation Milwaukee, WI Lenny’s SolidWorks Resources http://www.lennyworks.com/solidworks. Who am I?. SMART User Group Active member since group started in 1999.

Download Presentation

SolidWorks API Demystified

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Solidworks api demystified

SolidWorks API Demystified

Leonard Kikstra

Designer / CAD Administrator

RITE-HITE Products Corporation

Milwaukee, WI

Lenny’s SolidWorks Resources

http://www.lennyworks.com/solidworks


Who am i

Who am I?

  • SMART User Group

    • Active member since group started in 1999.

  • Lenny’s SolidWorks Resources website.

    • Online Sept. 2003.

    • New home Sept. 2006.

  • Programmed over 30 macros for use in SolidWorks

    • Most of these are available for free on the Internet.

  • Product Designer

    • Engineering since 1982.

    • Cad user since 1991.

    • SolidWorks user since 1998.

  • CAD Administrator

    • 20+ people on site.

    • Advise other sites.

  • Interested in simplifying my job.

    • Make my computer do some of my work for me.


What is covered here

What is covered here.

  • General Information

    • What is the SolidWorks API?

    • Benefits of learning/using the API.

  • Getting Started.

    • Create and modify macros.

    • Finding your way.

    • When and Why.

  • Program examples

    • Justification

  • Where to get help.


What is the solidworks api

What is the SolidWorks API?

  • Application Programming Interface.

    • Allows other programs to access SolidWorks data and/or control SolidWorks.

    • Examples: SolidWorks Add-Ins

      • Cosmos, Toolbox, PhotoWorks, PDM Works, PDM Works Enterprise

  • Why?

    • Allow third party vendors to build applications that access SolidWorks and SolidWorks data.

    • Lets SolidWorks focus on their core products.

  • SolidWorks Add-Ins have API’s.

    eDrawingsSolidWorks ToolBox

    FeatureWorksSolidWorks Utilities

    PDMWorksSolidWorks Routing

    PhotoWorks


How can the api benefit you

How can the API benefit you?

  • Automate common and repetitive tasks.

    • Increase productivity.

    • Save time and money.

    • Standardize procedures.

  • Consistently retrieve or export data that already exists in the SolidWorks documents.

  • Develop useful tools to meet your specific needs.

  • Customize SolidWorks.

    • Add commands, change settings, etc…


Access the solidworks api

Access the SolidWorks API

  • Stand alone application Executable

    • Visual C++ .NetVisual Basic .Net. Visual C++Visual Basic

      Visual C

      • Programming environment outside of SolidWorks.

      • Must be compiled to use outside of programming environment.

    • Can start SolidWorks.

    • Required for creating Add-Ins/DLL’s.

  • SolidWorks Macro.swp file

    • Microsoft Visual Basic for Applications.

      • SolidWorks Program (.swp) is a single file.

      • Must be launched from within SolidWorks.

      • Installed with SolidWorks.

      • No compiling

      • Some limitations.


Solidworks macros

SolidWorks Macros

  • The macro recorder.

    • Start recorder.

    • Complete tasks.

    • Some settings in dialog boxes are not recorded.

    • Pause if needed.

    • Stop recorder and save new macro.

  • Running a macro

    • Run Macro

    • Select macro

    • Macro will automatically run

Stop Record / Pause

Run


Solidworks macros1

SolidWorks Macros

  • Edit macro.

    • Select macro.

    • Visual Basic Editor automatically launched.

    • Make changes.

    • Test Macro

    • F5 to run macro

    • F8 to step thru the macro line by line

    • Save macro.

    • Exit Visual Basic editor.

  • New Macro

    • Create a new macro without using macro recorder.

    • Enter macro name

    • Visual Basic Editor automatically launched.

Edit Macro

New Macro


Visual basic editor environment

Visual Basic Editor: Environment

  • Project:

    • SolidWorks Objects.

    • Definitions of SolidWorks Objects.

  • Forms.

    • Object based interface for user interaction.

    • Custom code programmed for each object in form.

  • Modules.

    • Modules that only contain code for the macro.

    • Common modules used in many macros.


Visual basic editor references

Visual Basic Editor: References

  • Access via “Tools | References” menu selections in the VB Editor.

  • Attach objects from another application to your project.

    • Standard descriptions of object types, properties and methods.

  • Selections are specific to each macro.

  • SolidWorks Type Libraries are version specific.


Writing a macro variables

Writing a macro: Variables

  • Local

    • Value retained only while in module or procedure where defined.

    • Value can change

    • Same variable name can be defined locally in multiple modules.

  • Global

    • Value retained through out all modules and procedures.

    • Value can change

    • Can be used set fixed values for common reference later.

      Pi = 4 * Atn(1) ' The infamous pi value

  • Constants

    • Assign a specific value to variable name.

    • Set once

    • CAN NOT be changed

    • CAN NOT use formula to define


Writing a macro variable types

Writing a macro: Variable Types

  • Boolean- True or False

  • Integer- Whole numbers only

  • Long- Any numerical value

  • String- Any text based value

  • Variant- Can be any type

  • Array()- Spreadsheet of data

  • VariantArray()- Spreadsheet of data of any type.


Writing a macro objects

Writing a macro: Objects

  • Must name an object to access it’s properties

    • Meta-data - Info about object

    • Features - Sub-objects

  • Multiple tiers

    • Parent – Child relationships

  • Methods

    • Command and syntax that provides access to object’s properties

  • Accessors

    • Roadmap that shows how to get to object.

    • Command and syntax how to get to object from parent.


  • Writing a macro routines

    Writing a macro:Routines

    • Sub (Procedures)

      • Private- Can only access from module it resides in

      • Public- Can be accesses from any module

      • Run from top-down until completed

      • Can be access many times.

      • Can launch other routines.

      • Can pass variables between routines.

    • Function – Special Procedure

      • Must pass a variable to Function

      • Returns a value to variable in the calling procedure.


    Writing a macro testing and running

    Writing a macro:Testing and Running

    • Testing macro or procedure

      • F5Run macro

      • F8Step thru code

        line-by-line.

      • Start in current procedure.

    • Automatic starting point

      • Last procedure, in last inserted module

      • Not module name specific.

      • Not procedure name specific.


    Writing a macro typical steps launch

    Writing a macro:Typical Steps - Launch

    • Launch Macro

      • Load type libraries

      • Set global variables and constants

      • Attach to SolidWorks

    • Is a document open in SolidWorks?

      • No, warn user that you need one, then end.

    • Get document type.

      • Wrong type, warn user and end

    • Proceed……………


    Writing a macro typical steps user form

    Writing a macro:Typical Steps - User Form

    • User form

      • Preprocessing.

        • Set program defaults.

        • Read data from document.

      • Display user form to user.

    • Wait for input

      • React to user input.

        • Read more data from document.

        • Update user form.

        • Update document.

      • Action buttons

        • OK / Process

        • Cancel

        • Help

        • Other


    Writing a macro typical steps processing

    Writing a macro:Typical Steps - Processing

    • Process user requests based on form values.

    • Inform user of status during processing.

    • Inform user of errors encountered.

    • Inform user of status upon completion.

      • Wait for user OK.


    Writing a macro typical steps completion

    Writing a macro:Typical Steps - Completion

    • Close forms

    • Clear out objects and variables.

    • Close macro


    Macro feature

    Macro Feature:

    • Embed macro as a feature in the model.

    • Overview of Macro Feature

      • See SolidWorks API Help File


    Assigning a macro to a toolbar button

    Assigning a macro to a Toolbar Button.

    • Must have document open in SolidWorks

    • How To:

      • Rt. Click toolbar, Customize

      • Commands tab, Category: Macro

      • Drag icon and drop on toolbar.

      • Select an image to use on toolbar.

      • Fill out fields in dialog box:

        • Tooltip - Balloon tip at arrow.

        • Prompt - Help info in status bar.

        • Macro- Name and full path.

        • Method- Module and procedure.

        • Shortcut- Key combo to launch macro.

      • Click OK to complete


    When should i write my own macro

    When should I write my own macro?

    • Consistent retrieval & exporting of data.

      • Remove manual tasks and retyping errors.

      • Consistent results with consistent formatting.

      • Examples:

        • Retrieve and export a BOM from the assembly

          • No drawing required.

        • Create a list of all components in a directory.

    • Automating common or repetitive tasks.

      • Save valuable time and money.

      • Examples:

        • Exports SolidWorks documents to different file types.

        • Print all drawings in the current directory.

        • Print all drawings for all components in a current assembly.

        • Retrieve and export a BOM for multiple configurations.


    When should i write my own macro1

    When should I write my own macro?

    • Enforce compliance with standard procedures.

      • Provide an automated method to follow standards.

      • Consistent document appearance.

      • Examples:

        • Preset SolidWorks settings to your company standards.

        • Set annotations in document to use document defaults.

        • Copy document settings from “master” document to current document.

        • Simplifies adding standardized notes to drawings.

    • Need a special tool to automate a specific task.


    Justification to write a macro

    Justification to write a macro:

    • Define your needs.

      • What is the purpose of macro?

      • How often will you use it?

        • The more you use it, the more time you will save

    • Does it already exist?

      • Is there something available that’s close to what I need?

      • Can I modify something I already have?

      • Examples files:

        • Help file

        • SolidWorks Website

        • Lenny’s SolidWorks Resources


    Justification to write a macro1

    Justification to write a macro:

    • Example #1 - New Macro - Document Export

      • Scope:* Export documents to different file types.

        * Drawings, Models, Configurations

        * 20 models to create 300 exported files

      • Problems via manual way - Manual process, Repetitive, Time consuming, user input required at all steps!

        • Did I export all configurations?

        • Selecting file type by hand every time.

        • Consistent configuration naming.

        • Estimate time to complete:12-14 Hours

      • Time comparison:

        • Time to write:8 Hours

        • Automated:1.5 Hours

        • Saved first use:10-12 Hours

      • Macro can be reused many, many times.


    Justification to write a macro2

    Justification to write a macro:

    • Example #1 – Modify Macro – Change custom property value.

      • Scope:* All documents require change, addition or

        removal of a custom property.

        * 1000’s of files.

        * Found macro on internet, can modify for use.

      • Problems via manual way - Manual process, Repetitive, Time consuming, user input required at all steps!

        • Did I change all documents?

        • Did I make the right changes?

        • Estimate time to complete:20+ Hours

      • Time comparison:

        • Time to modify macro:15 Minutes

        • Automated:2.5 Hours

        • Saved first use:17+ Hours

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


    Tips learning

    Tips: Learning

    • Learn by example.

      • Find a good macro, and study how it works.

      • Use [F8] in VB Editor to step thru code line-by-line.

    • Experiment

      • Write “do nothing” macros for Visual Basic or SolidWorks API

        • Learn functions you haven’t used before.

        • Develop your own functions or common routines.

        • Test “What If” scenarios.

      • Save your code for later use.

    • Start small and work your way up.

      • Write and test small portions of code before continuing to larger portions.

      • Start with a “basic” program, then add more functionality and flexibility later.


    Tips sample code

    Tips: Sample Code

    • Add comments to your code

      • Helps you and others understand what you did, and why.

      • Helps you remember what you did.

      • Identify what routines are doing.

    • Use existing code

      • Don’t re-invent the wheel.

      • Saves time and your effort.

      • Keep sample code on hand for later use.

    • Know that there are multiple ways to complete tasks.

      • Conditional statements

        • If … Then, Else, End If- True/False

        • Select Case …., End Case- Response based on value.

        • For …. Next- Set number of times to do.

        • Do While …. End Loop- Don’t know how many times.


    Tips distribution

    Tips: Distribution

    • Think about other people who may be using your macros.

    • Used for other needs than initially intended.

    • User customization of existing macro.

      • Not ever user will know how to modify your macro.

      • External settings file for modifiable default settings.

        • Macro defaults if settings file is not found.

    • Different companies have standards, procedures and needs.

    • Capable of running on different versions of SolidWorks

      • API can check what version of SolidWorks is in use.


    Tips getting help

    Tips: Getting Help

    • SolidWorks API Help File

    • Help forums.

    • SolidWorks API Support.

      • SolidWorks API functionality only.

    • Be specific!

      • Repeatable problem.

        • Steps leading up to problem

      • Specific conditions lead to problem

        • Identify specific conditions.

      • Identify specific problem you are experiencing.

      • Don’t send complete macro. Provide simple code to demonstrate.

    • Don’t expect help with programming techniques.


    Resources for learning more

    Resources for learning more:

    • Installed with SolidWorks

      • SolidWorks API

        • Application Programming Interface

      • SolidWorks API and Add-Ins help file

        • Explains object structure and command syntax.

        • Many ready to use examples.

        • Best help file I have seen for writing macros.

      • Visual Basic for Applications version 6

        • SolidWorks 2001Plus and later

        • Visual Basic for Applications Help File.

      • Online Tutorial - SolidWorks API

        • Record, Save, Edit a macro.


    Resources for learning more1

    Resources for learning more?

    • SolidWorks web site:

      • API programming tips and updated help files.

      • SolidWorks Express Newsletter - API Examples

      • Download projects, sample programs and macros.

      • SolidWorks Developer Kit.

        • Not required

        • Contains working sample programs.

      • Presentations

    • Local VAR / SolidWorks Reseller

      • SolidWorks API Training classes


    Resources for learning more other websites api

    Resources for learning more?Other Websites - API

    • Lenny’s SolidWorks ResourcesMacros & Tips

      • http://www.lennyworks.com/solidworks

    • Mike Wilson’s SolidWorks Modeling TechniquesMacro Feature

      • http://www.mikejwilson.com/solidworks/solidworks_files.htm

    • Matt LombardMacros

      • http://mysite.verizon.net/mjlombard/

    • Joe Jones at New Hampshire CADTutorials

      • http://www.nhcad.com/sw_macros/index.html

    • Stefan Berlitz’s SolidWorks ToolsMacros

      • http://www.swtools.de website.

    • SolidWorks Tips & ThingsAPI Tips

      • http://www.solidworktips.com/


    Resources for learning more visual basic

    Resources for learning more?Visual Basic

    • Websites

      • “Tutorial” and “Lessons”

      • May be Visual Basic Specific.

      • Do not provide help with specific applications.

    • Forums

      • May be Visual Basic Specific.

      • Do not be able to provide help with specific applications.

    • Too many to list.

    • Some provide better explanation and examples.


    Solidworks api demystified1

    SolidWorks API Demystified


    Thank you

    Thank You!

    Lenny’s SolidWorks Resources

    has moved to

    http://www.LennyWorks.com/solidworks


  • Login