SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Automating With Excel:An Object-Oriented Approach Paul Gimbel Razorleaf Corporation
OK, Fine. Here’s What We’ll Do Obligatory Introductions Overview – Automation: Why? How Much? Who? Background For Our Example Automation Choices Excel Can Do That? Gimme a V! Gimme a B! Gimme an A! Commercially Available Solutions How To Choose a Design Automation Strategy Questions and (if you’re lucky) Answers
Not Sure If You Should Stay Here or Go See Lisa and Tammy’s “Migrating to ePDM”? I’ve got: Free Code!!! New ways of approaching automation with the same tools What can you do with SolidWorks? What can you do with SolidWorks and Excel? What can you do with SolidWorks, Excel and VBA? What can you do if you have money? And the overriding theme of What Is OOP (and how will it save me 15% or more on my car insurance) (Lisa and Tammy are showing case studies of migrating data into ePDM without the use of custom code down in 201 A-B.)
DISCLAIMER!!!     More Information Than Time There is so much that you can do with this stuff!! Liz wouldn’t give me a 14 hour session I may have to talk faster than the guy at the end of a car commercial Everything is documented in the PowerPoint Download it from the SolidWorks World Site (eventually) Download it from the Razorleaf Site (www.razorleaf.com) Give me a business card and I’ll email it to you (the ppt, not your card) Read the Presenter Notes!! Come on up after the session with any questions Follow me around the hallways until you can stop me Take my business card...take a few and hand them around
Who Is This Guy and Where Did He Come From? Razorleaf Corporation SolidWorks Service Partner Services ONLY (we’re not trying to sell you anything, we’re neutral) Data Management (EPDM, SmarTeam, Aras) Design Automation (DriveWorks, Tacton) Workflow Automation (Microsoft SharePoint and Tools) Paul Gimbel (aka “The Sherpa”) 10+ years as Demo Jock, Applications Engineer, Trainer, Support Tech 5 years as Design Automation Implementer Specializing in SolidWorks, DriveWorks, Tacton, Custom Programming (THERE! Now I can report this trip as reimbursable.) The  Sherpa
Where To Start “It’s All About The Process” – The Sherpa The most important thing to understand is the design process Immediately followed by the notion that it might change Map out your current process AS IT IS PERFORMED! Not how the ISO document says it should be performed. Ask around to the people that actually do the work Understand and prioritize your goals Time to market? Customizability? Standardization? Just lazy? Plan your vision – What will life look like?
Yup. This Slide AGAIN Process Technology From “Technology Induced Change And The Line Manager”, Dr. Eliot Levinson 7
“It’s All About The Process” Don’t just write a macro to push the same buttons, think bigger! Re-evaluate what SolidWorks can really do for you See the two previous (hidden) slides Download the presentation and open it in PowerPoint See some of my previous SolidWorks World presentations (www.razorleaf.com) Redesigning Processes for SolidWorks – SWW 2006 Lets Get Ready To Automate – SWW 2007 Automating Your Designs – SWW 2008 Using SolidWorks and API to Drive Complex Calculations – SWW 2009 Demystifying the SolidWorks API – SWW 2010 Automating Design Validation with the SolidWorks API – SWW 2010
Reality Check A couple automation realities you should know about: 100% automation is generally unachievable Typically, the last 10% of automation will not be worth it Customers will always request something you didn’t plan for Your drawings are probably going to require clean-up People will fight your efforts Your end users will be even stupider than you imagined Testing will take you far longer than you expect Your system will require ongoing maintenance and updates
Your Options Pure SolidWorks functionality SolidWorks Macros Microsoft Excel (and some VBA, of course) Maximized use of Excel and VBA Custom developed application Commercially available solution partner product AutoDesk Inven…nah, who are we kidding.
Pure SolidWorks Configurations Design Tables Sensors Equations Smart Components Mate References Design Checker SolidWorks Task Scheduler DriveWorksXpress FeatureWorks
What Do You Mean SolidWorks Has Limitations!?!? All of these functions require interaction with the user SolidWorks is required  Great for your reseller, not so great for your budget Puts non-engineers in an uncomfortable environment Requires at least some SolidWorks training Do you really want a salesperson opening your models!?!? Data management issues One file with tons of configurations? How big is that file, eh? Multiple people can’t edit one file Revision questions Save As Copy every time? What about updates?
SolidWorks Macros Designed to drive the SolidWorks User Interface Not all that automation-friendly OK to use for small functions Can be tough to share due to peoples individual settings Often requires specific pre-selections Everything plays on the screen (video performance aspect)
The Road To Excel Design Tables alone don’t address User Interface (Configuration Manager, to a small extent) Input values as opposed to output values Advanced Excel functionality  Leverage Excel Use Excel User Interface tools Data validation User Defined Functions Macros Add-Ins (Analysis Pack, Solver, etc.)
Excel and SolidWorks – So Happy Together Three Methods To Integrate SolidWorks and Excel Design Table Embedded in the SolidWorks model Must edit through SolidWorks Edit Table In New Window to gain access to Excel MUST BE IN THE DESIGN TABLE SHEET WHEN YOU EXIT!! External Spreadsheet with Macro to drive SolidWorks Requires SolidWorks API programming Separates workbook from SolidWorks model Does not require SolidWorks (until macro is run) Shareable (through Excel Share Workbook functionality) Can be used to drive multiple SolidWorks files Can be used to drive other things as well, not just SW Spreadsheet with Macro Inserted as OLE Object
What Excel Brings To The Party (a six pack?) Formatting Charts Easy User Interfaces Advanced equation functionality VBA Custom functions Macros Object-Oriented Programming (well, sort of)
Just A Little Bit Of Work Makes A Huge Difference Some People’s Idea of an Excel User Interface Less Than Twenty Minutes Of Work
Building User Interfaces in Excel ,[object Object]
Lists, error and warning dialogs, tool tipsIn-Cell Dropdowns Input Messages Error Messages Warning Messages
Building User Interfaces in Excel ,[object Object]
Control user’s attention based on input
Data Validation
Lists, error and warning dialogs, tool tips,[object Object]
Lists, error and warning dialogs, tool tips
Conditional Formatting
Control user’s attention based on input
Tools, Protection
Unlock/show only cells you want them to be able to change,[object Object]
Lists, error and warning dialogs, tool tips
Conditional Formatting
Control user’s attention based on input
Tools, Protection
Unlock/show only cells you want them to be able to change
Control Toolbox
VB-Style input device that can fill in your cells,[object Object]
Lists, error and warning dialogs, tool tips
Conditional Formatting
Control user’s attention based on input
Tools, Protection
Unlock/show only cells you want them to be able to changeControl Toolbox VB-style input devices that can fill in your cells ,[object Object]
Help users understand what information they need to input,[object Object]
Calculations in Excel Name Your Cells and Ranges Just as in SolidWorks, it makes equations easier to read Add Comments In adjoining cells or with the comment tool Keep your formulas simple whenever possible Multiple calculation steps are easier to troubleshoot Intelligent Layouts Don’t scatter stuff all over the place Consider cells that may need to be adjacent for lookups, etc. Give this collection of cells a single name
2.9 Searches until it finds a value that is “greater than” the search value, then goes back to take the previous one. Working with Ranges in Excel Index: Return the value at row n, column m Match: Which row is this value in? Specify which order values are in (asc/desc) or exact matches Combine with Index to do a lookup on any column VLookup/HLookup: Find value in first column/row RangeLookup = FALSE: “No, I only want exact matches” RangeLookup = TRUE: “Yes, find me the closest match” VLookup(110,VoltageRange,2,FALSE) = 1.73 VLookup(290,VoltageRange,2,FALSE) = N/A# VLookup(359,VoltageRange,2,TRUE) = 25
Dealing With Unknown Quantities Count: How many numbers are in the range? CountA: How many non-blank cells are in the range? Columns/Rows: How many columns/rows are in the range? DGet: Return any value in a range based on criteria Range “Holes” DGet(Holes,”Dia”,Criteria1) = 0.250 DGet(Holes,”Number”,Criteria2) = 2 DGet(Holes,”Number”,Criteria3) = #NUM! DGet(Holes,”Dia”,Criteria4) = #VALUE! Criteria1Criteria2            Criteria3   Criteria 4 26
More Cool Excel Functions Indirect: Display range/cell based on a formula Ceiling/Floor: Rounds up/down to the next multiple SumIf: Totals all of the values in a range that meet a criteria =SumIf(ThicknessRange,”>0.25”,PriceRange) DSum: Add values from records that meet a criteria Error Trapping: IsErr IsError Error.Type IsNA IsBlank ,[object Object]
IsNumber
IsText
IsNonText
Type27
What Excel Brings To The Party (a six pack?) Formatting Charts Design Binder Easy User Interfaces Advanced equation functionality VBA Custom functions Macros Object-Oriented Programming (well, sort of) 28
OK, Enough Easy Stuff…On To The VBA Use VBA to AUGMENT Excel Custom functions Macros Connections to other programs (like SolidWorks) Do As Much As You Can In Excel Easier to troubleshoot Easier to maintain Faster to develop 29
Custom Functions – Repetitive Calculations Tired of typing in the same equations? PublicFunctionCylVolume(Radius AsDouble, Height AsDouble) AsDouble Dim Pi AsDouble Pi = 4 * Atn(1)			       ‘ArcTangent of 1 = pi/4…I think CylVolume = Pi * Radius * Raidus * Height EndFunction Now you can just use: = CylVolume(Radius, Height)  	or  =CylVolume($B$4, C5)  	(if you haven’t been paying attention and you don’t know that you’re supposed to name your cell ranges) 30
Custom Functions – Fill in Excel Gaps Excel missing a function you want? No problem! PublicFunction Divisible(Value AsDouble, Divisor AsDouble) AsBoolean Dim Compare AsInteger Compare = CInt(Value / Divisor) If Compare = (Value / Divisor) Then 	Divisible = True Else 	Divisible = False EndIf EndFunction Now all I do is put THIS in my cell: =If(Divisible(Length,StdSpacing),Length / StdSpacing,0) Note: Because we’re converting a Double to an Integer, this only works for numbers up to 32767. This was not an issue in my application as the model only supported up to 48”. But you may want to put a check in there so you don’t get overflow errors. 31
Custom Functions - Conversions What about converting units or data types? (or both!) Public Function FeetInches(TotalInchesAsDouble) AsString Dim Feet AsInteger Dim Inches AsDouble Feet = Application.WorksheetFunction.RoundDown(TotalInches / 12,0) FeetInches = Feet & “’ “ Inches = (TotalInches – (Feet * 12)) If Inches > 0 Then FeetInches = FeetInches & “- “ & Inches & chr(34)   ’(34 is ASCII for “) EndIf EndFunction Now you can use the equation: =“LENGTH = “ & FeetInches(Length) To get: LENGTH = 4’ – 6.125” The example in your handout actually picks up on increments of 1/32” 32
Custom Functions - Handling Sets of Data Excel Cannot Really Handle Arrays Of Data It can do ranges, but ranges need a known number of cells Paul’s Solution: Store lists of values in a single cell (ex. “1.25|17|21.1375|9”) Create a series of functions to manipulate these lists ListQty – How many entities are in the list? GetListValue – Give me the nth member of the list. FindValueInList – Is this value in the list? Where? SortList, FlipList, InsertIntoList – Control the order RangeToList – Convert a range of cells into a list Don’t like the pipe (|) character?  Just change it to whatever you like in the SPLIT/JOIN commands. 33
How To Program In VBA The Ultimate Process For Non-Programmers: Determine what you want your program/code snippet to do Think of some “keywords” to describe it (if you know the functions you need to use, you’re ahead of the game) http://www.google.com (add “VBA” and/or “Excel” to search) Ctrl-C Ctrl-V Tweak Also check out www.krugle.org Also look to Excel VBA and SW API Help files.  They’re actually helpful.  I know! I was shocked, too. 34
Programming Tips For Excel DOCUMENT THE $#^@ OUT OF EVERYTHING!!! Anything after an apostrophe (‘) is a comment…use them!! Option Explicit It’s the “Require Fully Defined Sketches” of the VBA world Intellisense…good. Typing…bad. If you don’t see the option that you need, something’s wrong. Compile and Test Often Programmatic sanity checks Insert Test Code Use Debug Tools Step Into, Step Over, Watches, Breakpoints 35
The Object Browser 36
Getting Around In Excel With VBA To access a named cell (you named them all, right!!?!?) Thickness = Worksheets(“Calcs”).Range(“TestCell”).Value Running through the cells in a named range Dim MyCell As Excel.Range ‘Even a single cell is treated as a range For Each MyCell in Worksheets(“Calcs”).Range(“TestRange”) 	Total = Total + MyCell.Value Next MyCell ‘Looping through the TestRange What if you have rows (i.e. a multi-column range)? Dim MyRow As Excel.Range	‘We’re going to cycle through the rows For Each MyRow in Worksheets(“Calcs”).Range(“TestRange”).Rows 	Total = Total + MyRow.Cells(1,3).Value ‘Row 1, Column 3 of the range Next MyRow ‘Looping through the TestRange 37
Absolute Row and Column References Can I just put in Row and Column references, like: Thickness = Worksheets(“Sheet1”).Range(“A1:A1”).Value Thickness = Worksheets(“Sheet1”).Cells(4,9).Value Sure, but I would have to slap you silly Readability…Minus 10 style points What if the range moves…Minus 10 style points Debugging…Minus 10 style points Scalability…Minus 10 style points Portability…Minus 10 style points Chances of anyone else understanding your code…Minus 30! 38
Object-Oriented Programming** “Everything you need to do in the SolidWorks API has to be done by or to an object.” Class – A definition (blueprint) of something (think: blank spec for a washer or bolt) Interface – A more generic definition incorporating multiple classes (ex. Hardware) Object – A specific instance of a class (completed spec - ex. 1/4-20 x 3 SHCS) Property – A parameter value that an object has (ex. Diameter) Method – Something (sub or function) that an object can do (ex. Install) Accessor – A method used to get an object (ex. GetFeature, GetChildren) Dot(.) –Separates an object from its property or method or “child” objects Ex. Bolt.Length or Bolt.Thread.item(“Lead”).Pitch Instantiate – To make a real thing as defined by a class Ex. Upper Flange Bolt #3 or Rear Axle Nut Those are then called “instances” and “objects” **To appease any true code junkies out there. VBA doesn’t REALLY support full OOP with inheritance and polymorphism, but this is a DEMYSTIFYING session. I don’t want to MYSTIFY this stuff any more than it is.
The SolidWorks API Object Example (VBA) Early Bound Object Declarations aka “Fully Qualified” (+5 Style Points) Object assignment (instantiation) requires the keyword Set in VBA only HoleDepth and HoleDiameter are Properties of the WizardHoleFeatureData2 object Example: Creating a Hole Wizard Hole Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swFeatMgr As SldWorks.FeatureManager Dim swFeat As SldWorks.Feature Dim swWzdHole As WizardHoleFeatureData2 Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swFeatMgr = swModel.FeatureManager …more code here… Set swWzdHole = swFeatMgr.CreateDefinition(swFmHoleWzd) swWzdHole.HoleDepth = 0.15 swWzdHole.HoleDiameter = 0.0555 … Set swFeat = swFeatMgr.CreateFeature(swWzdHole) …more code here… CreateDefinition and CreateFeature are Methods (functions)

Weitere ähnliche Inhalte

Was ist angesagt?

Using Rational Publishing Engine to generate documents from Rational Rhapsody
Using Rational Publishing Engine to generate documents from Rational RhapsodyUsing Rational Publishing Engine to generate documents from Rational Rhapsody
Using Rational Publishing Engine to generate documents from Rational RhapsodyGEBS Reporting
 
Five Things I Wish I Knew the First Day I Used Tableau
Five Things I Wish I Knew the First Day I Used TableauFive Things I Wish I Knew the First Day I Used Tableau
Five Things I Wish I Knew the First Day I Used TableauRyan Sleeper
 
Project management with trello 101
Project management with trello 101Project management with trello 101
Project management with trello 101Phung Cuong
 
Ms excel basic about Data, graph and pivot table
Ms excel basic about Data, graph and pivot table Ms excel basic about Data, graph and pivot table
Ms excel basic about Data, graph and pivot table Alomgir Hossain
 
MS Excel Learning for PPC Google AdWords Training Course
MS Excel Learning for PPC Google AdWords Training CourseMS Excel Learning for PPC Google AdWords Training Course
MS Excel Learning for PPC Google AdWords Training CourseRanjan Jena
 
Oracle APEX Cheat Sheet
Oracle APEX Cheat SheetOracle APEX Cheat Sheet
Oracle APEX Cheat SheetDimitri Gielis
 
Formulas and functions - By Amresh Tiwari
Formulas and functions - By Amresh TiwariFormulas and functions - By Amresh Tiwari
Formulas and functions - By Amresh TiwariAmresh Tiwari
 
Ms Excel Tutorials
Ms Excel TutorialsMs Excel Tutorials
Ms Excel TutorialsLUZ PINGOL
 
Charts in EXCEL
Charts in EXCELCharts in EXCEL
Charts in EXCELpkottke
 
PowerPivot and PowerQuery
PowerPivot and PowerQueryPowerPivot and PowerQuery
PowerPivot and PowerQueryin4400
 
Step by step guide on how to manage your projects and organize anything using...
Step by step guide on how to manage your projects and organize anything using...Step by step guide on how to manage your projects and organize anything using...
Step by step guide on how to manage your projects and organize anything using...RegieSeminiano
 
Excel Crash Course: Pivot Tables
Excel Crash Course: Pivot TablesExcel Crash Course: Pivot Tables
Excel Crash Course: Pivot TablesBobby Jones
 
Tableau Architecture
Tableau ArchitectureTableau Architecture
Tableau ArchitectureVivek Mohan
 
Curso de Excel 2010 Básico
Curso de Excel 2010 BásicoCurso de Excel 2010 Básico
Curso de Excel 2010 BásicoJorgina Cunha
 
RPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usageRPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usageGEBS Reporting
 
CSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and moreCSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and moreRuss Weakley
 
Table of contents, footnote & endnote in ms word
Table of contents, footnote & endnote in ms wordTable of contents, footnote & endnote in ms word
Table of contents, footnote & endnote in ms wordAltacit Global
 

Was ist angesagt? (20)

Pivot Tables
Pivot TablesPivot Tables
Pivot Tables
 
Using Rational Publishing Engine to generate documents from Rational Rhapsody
Using Rational Publishing Engine to generate documents from Rational RhapsodyUsing Rational Publishing Engine to generate documents from Rational Rhapsody
Using Rational Publishing Engine to generate documents from Rational Rhapsody
 
Five Things I Wish I Knew the First Day I Used Tableau
Five Things I Wish I Knew the First Day I Used TableauFive Things I Wish I Knew the First Day I Used Tableau
Five Things I Wish I Knew the First Day I Used Tableau
 
Project management with trello 101
Project management with trello 101Project management with trello 101
Project management with trello 101
 
Ms excel basic about Data, graph and pivot table
Ms excel basic about Data, graph and pivot table Ms excel basic about Data, graph and pivot table
Ms excel basic about Data, graph and pivot table
 
MS Excel Learning for PPC Google AdWords Training Course
MS Excel Learning for PPC Google AdWords Training CourseMS Excel Learning for PPC Google AdWords Training Course
MS Excel Learning for PPC Google AdWords Training Course
 
Oracle APEX Cheat Sheet
Oracle APEX Cheat SheetOracle APEX Cheat Sheet
Oracle APEX Cheat Sheet
 
Trello Basic Tutorial
Trello Basic TutorialTrello Basic Tutorial
Trello Basic Tutorial
 
Formulas and functions - By Amresh Tiwari
Formulas and functions - By Amresh TiwariFormulas and functions - By Amresh Tiwari
Formulas and functions - By Amresh Tiwari
 
Ms Excel Tutorials
Ms Excel TutorialsMs Excel Tutorials
Ms Excel Tutorials
 
Charts in EXCEL
Charts in EXCELCharts in EXCEL
Charts in EXCEL
 
PowerPivot and PowerQuery
PowerPivot and PowerQueryPowerPivot and PowerQuery
PowerPivot and PowerQuery
 
Step by step guide on how to manage your projects and organize anything using...
Step by step guide on how to manage your projects and organize anything using...Step by step guide on how to manage your projects and organize anything using...
Step by step guide on how to manage your projects and organize anything using...
 
Excel Crash Course: Pivot Tables
Excel Crash Course: Pivot TablesExcel Crash Course: Pivot Tables
Excel Crash Course: Pivot Tables
 
Tableau Architecture
Tableau ArchitectureTableau Architecture
Tableau Architecture
 
Curso de Excel 2010 Básico
Curso de Excel 2010 BásicoCurso de Excel 2010 Básico
Curso de Excel 2010 Básico
 
Data Visualization with Tableau - by Knowledgebee Trainings
Data Visualization with Tableau - by Knowledgebee TrainingsData Visualization with Tableau - by Knowledgebee Trainings
Data Visualization with Tableau - by Knowledgebee Trainings
 
RPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usageRPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usage
 
CSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and moreCSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and more
 
Table of contents, footnote & endnote in ms word
Table of contents, footnote & endnote in ms wordTable of contents, footnote & endnote in ms word
Table of contents, footnote & endnote in ms word
 

Ähnlich wie Automating With Excel An Object Oriented Approach

Sww 2008 Automating Your Designs Excel, Vba And Beyond
Sww 2008   Automating Your Designs   Excel, Vba And BeyondSww 2008   Automating Your Designs   Excel, Vba And Beyond
Sww 2008 Automating Your Designs Excel, Vba And BeyondRazorleaf Corporation
 
Automation Of Reporting And Alerting
Automation Of Reporting And AlertingAutomation Of Reporting And Alerting
Automation Of Reporting And AlertingSean Durocher
 
Data Workflows for Machine Learning - Seattle DAML
Data Workflows for Machine Learning - Seattle DAMLData Workflows for Machine Learning - Seattle DAML
Data Workflows for Machine Learning - Seattle DAMLPaco Nathan
 
OSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningOSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningPaco Nathan
 
No more Three Tier - A path to a better code for Cloud and Azure
No more Three Tier - A path to a better code for Cloud and AzureNo more Three Tier - A path to a better code for Cloud and Azure
No more Three Tier - A path to a better code for Cloud and AzureMarco Parenzan
 
Data Workflows for Machine Learning - SF Bay Area ML
Data Workflows for Machine Learning - SF Bay Area MLData Workflows for Machine Learning - SF Bay Area ML
Data Workflows for Machine Learning - SF Bay Area MLPaco Nathan
 
Data Science for non techies using KNIME 08 Weeks Training
Data Science for non techies using KNIME 08 Weeks TrainingData Science for non techies using KNIME 08 Weeks Training
Data Science for non techies using KNIME 08 Weeks TrainingAli Raza Anjum
 
Domain oriented development
Domain oriented developmentDomain oriented development
Domain oriented developmentrajmundr
 
Getting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataGetting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataCory Foy
 
User Driven Software Architecture
User Driven Software ArchitectureUser Driven Software Architecture
User Driven Software ArchitectureSimon Guest
 
...and thus your forms automagically disappeared
...and thus your forms automagically disappeared...and thus your forms automagically disappeared
...and thus your forms automagically disappearedLuc Bors
 
Access tips access and sql part 4 building select queries on-the-fly
Access tips  access and sql part 4  building select queries on-the-flyAccess tips  access and sql part 4  building select queries on-the-fly
Access tips access and sql part 4 building select queries on-the-flyquest2900
 
Software fundamentals
Software fundamentalsSoftware fundamentals
Software fundamentalsSusan Winters
 
Top10 Salesforce.com Admin Tools
Top10 Salesforce.com Admin ToolsTop10 Salesforce.com Admin Tools
Top10 Salesforce.com Admin Toolsdebm_madronasg
 
Interface Usability - Adding Schweppervescence
Interface Usability - Adding SchweppervescenceInterface Usability - Adding Schweppervescence
Interface Usability - Adding SchweppervescenceSSW
 
Brochure data science learning path board-infinity (1)
Brochure   data science learning path board-infinity (1)Brochure   data science learning path board-infinity (1)
Brochure data science learning path board-infinity (1)NirupamNishant2
 
Tableau Online Training in canada
Tableau Online Training in canadaTableau Online Training in canada
Tableau Online Training in canadaBoundTechS
 

Ähnlich wie Automating With Excel An Object Oriented Approach (20)

Sww 2008 Automating Your Designs Excel, Vba And Beyond
Sww 2008   Automating Your Designs   Excel, Vba And BeyondSww 2008   Automating Your Designs   Excel, Vba And Beyond
Sww 2008 Automating Your Designs Excel, Vba And Beyond
 
Automation Of Reporting And Alerting
Automation Of Reporting And AlertingAutomation Of Reporting And Alerting
Automation Of Reporting And Alerting
 
Data Workflows for Machine Learning - Seattle DAML
Data Workflows for Machine Learning - Seattle DAMLData Workflows for Machine Learning - Seattle DAML
Data Workflows for Machine Learning - Seattle DAML
 
OSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine LearningOSCON 2014: Data Workflows for Machine Learning
OSCON 2014: Data Workflows for Machine Learning
 
No more Three Tier - A path to a better code for Cloud and Azure
No more Three Tier - A path to a better code for Cloud and AzureNo more Three Tier - A path to a better code for Cloud and Azure
No more Three Tier - A path to a better code for Cloud and Azure
 
Data Workflows for Machine Learning - SF Bay Area ML
Data Workflows for Machine Learning - SF Bay Area MLData Workflows for Machine Learning - SF Bay Area ML
Data Workflows for Machine Learning - SF Bay Area ML
 
Data Science for non techies using KNIME 08 Weeks Training
Data Science for non techies using KNIME 08 Weeks TrainingData Science for non techies using KNIME 08 Weeks Training
Data Science for non techies using KNIME 08 Weeks Training
 
Domain oriented development
Domain oriented developmentDomain oriented development
Domain oriented development
 
Getting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataGetting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and Data
 
User Driven Software Architecture
User Driven Software ArchitectureUser Driven Software Architecture
User Driven Software Architecture
 
...and thus your forms automagically disappeared
...and thus your forms automagically disappeared...and thus your forms automagically disappeared
...and thus your forms automagically disappeared
 
Access tips access and sql part 4 building select queries on-the-fly
Access tips  access and sql part 4  building select queries on-the-flyAccess tips  access and sql part 4  building select queries on-the-fly
Access tips access and sql part 4 building select queries on-the-fly
 
NEXiDA at OMG June 2009
NEXiDA at OMG June 2009NEXiDA at OMG June 2009
NEXiDA at OMG June 2009
 
Software fundamentals
Software fundamentalsSoftware fundamentals
Software fundamentals
 
Top10 Salesforce.com Admin Tools
Top10 Salesforce.com Admin ToolsTop10 Salesforce.com Admin Tools
Top10 Salesforce.com Admin Tools
 
Interface Usability - Adding Schweppervescence
Interface Usability - Adding SchweppervescenceInterface Usability - Adding Schweppervescence
Interface Usability - Adding Schweppervescence
 
Brochure data science learning path board-infinity (1)
Brochure   data science learning path board-infinity (1)Brochure   data science learning path board-infinity (1)
Brochure data science learning path board-infinity (1)
 
Tableau PPT
Tableau PPTTableau PPT
Tableau PPT
 
Tableau ppt
Tableau pptTableau ppt
Tableau ppt
 
Tableau Online Training in canada
Tableau Online Training in canadaTableau Online Training in canada
Tableau Online Training in canada
 

Mehr von Razorleaf Corporation

COE 2017: Your first 3DEXPERIENCE customization
COE 2017: Your first 3DEXPERIENCE customizationCOE 2017: Your first 3DEXPERIENCE customization
COE 2017: Your first 3DEXPERIENCE customizationRazorleaf Corporation
 
Three Approaches to Integration that Deliver Greater PLM Value
Three Approaches to Integration that Deliver Greater PLM ValueThree Approaches to Integration that Deliver Greater PLM Value
Three Approaches to Integration that Deliver Greater PLM ValueRazorleaf Corporation
 
Discovering New Product Introduction (NPI) using Autodesk Fusion Lifecycle
Discovering New Product Introduction (NPI) using Autodesk Fusion LifecycleDiscovering New Product Introduction (NPI) using Autodesk Fusion Lifecycle
Discovering New Product Introduction (NPI) using Autodesk Fusion LifecycleRazorleaf Corporation
 
COE 2016 Live demo How to get to full Digitalization
COE 2016 Live demo How to get to full DigitalizationCOE 2016 Live demo How to get to full Digitalization
COE 2016 Live demo How to get to full DigitalizationRazorleaf Corporation
 
COE 2016: Technical Data Migration Made Simple
COE 2016: Technical Data Migration Made SimpleCOE 2016: Technical Data Migration Made Simple
COE 2016: Technical Data Migration Made SimpleRazorleaf Corporation
 
Autdoesk PLM 360 to PDM Integration with Jitterbit
Autdoesk PLM 360 to PDM Integration with JitterbitAutdoesk PLM 360 to PDM Integration with Jitterbit
Autdoesk PLM 360 to PDM Integration with JitterbitRazorleaf Corporation
 
DriveWorks World 2016 - 13 lessons in 12 years
DriveWorks World 2016  - 13 lessons in 12 yearsDriveWorks World 2016  - 13 lessons in 12 years
DriveWorks World 2016 - 13 lessons in 12 yearsRazorleaf Corporation
 
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (Tech Paper)
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (Tech Paper)AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (Tech Paper)
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (Tech Paper)Razorleaf Corporation
 
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)Razorleaf Corporation
 
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)Razorleaf Corporation
 
AU 2014: Autodesk PLM 360 Success Story with Inphi (TECH PAPER)
AU 2014: Autodesk PLM 360 Success Story with Inphi (TECH PAPER)AU 2014: Autodesk PLM 360 Success Story with Inphi (TECH PAPER)
AU 2014: Autodesk PLM 360 Success Story with Inphi (TECH PAPER)Razorleaf Corporation
 
Deploying DriveWorks Throughout the Organization
Deploying DriveWorks Throughout the OrganizationDeploying DriveWorks Throughout the Organization
Deploying DriveWorks Throughout the OrganizationRazorleaf Corporation
 
3DVIA Composer for Assembly Instruction Storyboards
3DVIA Composer for Assembly Instruction Storyboards3DVIA Composer for Assembly Instruction Storyboards
3DVIA Composer for Assembly Instruction StoryboardsRazorleaf Corporation
 
Connecting SolidWorks EPDM and ENOVIA V6
Connecting SolidWorks EPDM and ENOVIA V6Connecting SolidWorks EPDM and ENOVIA V6
Connecting SolidWorks EPDM and ENOVIA V6Razorleaf Corporation
 
Solving Iterative Design Problems with TactonWorks
Solving Iterative Design Problems with TactonWorksSolving Iterative Design Problems with TactonWorks
Solving Iterative Design Problems with TactonWorksRazorleaf Corporation
 
COE2010 Razorleaf ENOVIA SmarTeam and V6 Readiness
COE2010 Razorleaf ENOVIA SmarTeam and V6 ReadinessCOE2010 Razorleaf ENOVIA SmarTeam and V6 Readiness
COE2010 Razorleaf ENOVIA SmarTeam and V6 ReadinessRazorleaf Corporation
 

Mehr von Razorleaf Corporation (20)

COE 2017: Your first 3DEXPERIENCE customization
COE 2017: Your first 3DEXPERIENCE customizationCOE 2017: Your first 3DEXPERIENCE customization
COE 2017: Your first 3DEXPERIENCE customization
 
COE 2017: Atomic Content
COE 2017: Atomic ContentCOE 2017: Atomic Content
COE 2017: Atomic Content
 
Three Approaches to Integration that Deliver Greater PLM Value
Three Approaches to Integration that Deliver Greater PLM ValueThree Approaches to Integration that Deliver Greater PLM Value
Three Approaches to Integration that Deliver Greater PLM Value
 
Discovering New Product Introduction (NPI) using Autodesk Fusion Lifecycle
Discovering New Product Introduction (NPI) using Autodesk Fusion LifecycleDiscovering New Product Introduction (NPI) using Autodesk Fusion Lifecycle
Discovering New Product Introduction (NPI) using Autodesk Fusion Lifecycle
 
COE 2016 Live demo How to get to full Digitalization
COE 2016 Live demo How to get to full DigitalizationCOE 2016 Live demo How to get to full Digitalization
COE 2016 Live demo How to get to full Digitalization
 
COE 2016: Technical Data Migration Made Simple
COE 2016: Technical Data Migration Made SimpleCOE 2016: Technical Data Migration Made Simple
COE 2016: Technical Data Migration Made Simple
 
COE 2016: 10 Cool Tools for 2016
COE 2016: 10 Cool Tools for 2016COE 2016: 10 Cool Tools for 2016
COE 2016: 10 Cool Tools for 2016
 
ENOVIA v6 R2013x Tips and Tricks
ENOVIA v6 R2013x Tips and TricksENOVIA v6 R2013x Tips and Tricks
ENOVIA v6 R2013x Tips and Tricks
 
Autdoesk PLM 360 to PDM Integration with Jitterbit
Autdoesk PLM 360 to PDM Integration with JitterbitAutdoesk PLM 360 to PDM Integration with Jitterbit
Autdoesk PLM 360 to PDM Integration with Jitterbit
 
DriveWorks World 2016 - 13 lessons in 12 years
DriveWorks World 2016  - 13 lessons in 12 yearsDriveWorks World 2016  - 13 lessons in 12 years
DriveWorks World 2016 - 13 lessons in 12 years
 
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (Tech Paper)
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (Tech Paper)AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (Tech Paper)
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (Tech Paper)
 
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)
 
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
AU 2014: Autodesk PLM 360 Success Story with Inphi (PPT)
 
AU 2014: Autodesk PLM 360 Success Story with Inphi (TECH PAPER)
AU 2014: Autodesk PLM 360 Success Story with Inphi (TECH PAPER)AU 2014: Autodesk PLM 360 Success Story with Inphi (TECH PAPER)
AU 2014: Autodesk PLM 360 Success Story with Inphi (TECH PAPER)
 
Deploying DriveWorks Throughout the Organization
Deploying DriveWorks Throughout the OrganizationDeploying DriveWorks Throughout the Organization
Deploying DriveWorks Throughout the Organization
 
Automating Analysis with the API
Automating Analysis with the APIAutomating Analysis with the API
Automating Analysis with the API
 
3DVIA Composer for Assembly Instruction Storyboards
3DVIA Composer for Assembly Instruction Storyboards3DVIA Composer for Assembly Instruction Storyboards
3DVIA Composer for Assembly Instruction Storyboards
 
Connecting SolidWorks EPDM and ENOVIA V6
Connecting SolidWorks EPDM and ENOVIA V6Connecting SolidWorks EPDM and ENOVIA V6
Connecting SolidWorks EPDM and ENOVIA V6
 
Solving Iterative Design Problems with TactonWorks
Solving Iterative Design Problems with TactonWorksSolving Iterative Design Problems with TactonWorks
Solving Iterative Design Problems with TactonWorks
 
COE2010 Razorleaf ENOVIA SmarTeam and V6 Readiness
COE2010 Razorleaf ENOVIA SmarTeam and V6 ReadinessCOE2010 Razorleaf ENOVIA SmarTeam and V6 Readiness
COE2010 Razorleaf ENOVIA SmarTeam and V6 Readiness
 

Kürzlich hochgeladen

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Kürzlich hochgeladen (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Automating With Excel An Object Oriented Approach

  • 1. Automating With Excel:An Object-Oriented Approach Paul Gimbel Razorleaf Corporation
  • 2. OK, Fine. Here’s What We’ll Do Obligatory Introductions Overview – Automation: Why? How Much? Who? Background For Our Example Automation Choices Excel Can Do That? Gimme a V! Gimme a B! Gimme an A! Commercially Available Solutions How To Choose a Design Automation Strategy Questions and (if you’re lucky) Answers
  • 3. Not Sure If You Should Stay Here or Go See Lisa and Tammy’s “Migrating to ePDM”? I’ve got: Free Code!!! New ways of approaching automation with the same tools What can you do with SolidWorks? What can you do with SolidWorks and Excel? What can you do with SolidWorks, Excel and VBA? What can you do if you have money? And the overriding theme of What Is OOP (and how will it save me 15% or more on my car insurance) (Lisa and Tammy are showing case studies of migrating data into ePDM without the use of custom code down in 201 A-B.)
  • 4. DISCLAIMER!!! More Information Than Time There is so much that you can do with this stuff!! Liz wouldn’t give me a 14 hour session I may have to talk faster than the guy at the end of a car commercial Everything is documented in the PowerPoint Download it from the SolidWorks World Site (eventually) Download it from the Razorleaf Site (www.razorleaf.com) Give me a business card and I’ll email it to you (the ppt, not your card) Read the Presenter Notes!! Come on up after the session with any questions Follow me around the hallways until you can stop me Take my business card...take a few and hand them around
  • 5. Who Is This Guy and Where Did He Come From? Razorleaf Corporation SolidWorks Service Partner Services ONLY (we’re not trying to sell you anything, we’re neutral) Data Management (EPDM, SmarTeam, Aras) Design Automation (DriveWorks, Tacton) Workflow Automation (Microsoft SharePoint and Tools) Paul Gimbel (aka “The Sherpa”) 10+ years as Demo Jock, Applications Engineer, Trainer, Support Tech 5 years as Design Automation Implementer Specializing in SolidWorks, DriveWorks, Tacton, Custom Programming (THERE! Now I can report this trip as reimbursable.) The Sherpa
  • 6. Where To Start “It’s All About The Process” – The Sherpa The most important thing to understand is the design process Immediately followed by the notion that it might change Map out your current process AS IT IS PERFORMED! Not how the ISO document says it should be performed. Ask around to the people that actually do the work Understand and prioritize your goals Time to market? Customizability? Standardization? Just lazy? Plan your vision – What will life look like?
  • 7. Yup. This Slide AGAIN Process Technology From “Technology Induced Change And The Line Manager”, Dr. Eliot Levinson 7
  • 8. “It’s All About The Process” Don’t just write a macro to push the same buttons, think bigger! Re-evaluate what SolidWorks can really do for you See the two previous (hidden) slides Download the presentation and open it in PowerPoint See some of my previous SolidWorks World presentations (www.razorleaf.com) Redesigning Processes for SolidWorks – SWW 2006 Lets Get Ready To Automate – SWW 2007 Automating Your Designs – SWW 2008 Using SolidWorks and API to Drive Complex Calculations – SWW 2009 Demystifying the SolidWorks API – SWW 2010 Automating Design Validation with the SolidWorks API – SWW 2010
  • 9. Reality Check A couple automation realities you should know about: 100% automation is generally unachievable Typically, the last 10% of automation will not be worth it Customers will always request something you didn’t plan for Your drawings are probably going to require clean-up People will fight your efforts Your end users will be even stupider than you imagined Testing will take you far longer than you expect Your system will require ongoing maintenance and updates
  • 10. Your Options Pure SolidWorks functionality SolidWorks Macros Microsoft Excel (and some VBA, of course) Maximized use of Excel and VBA Custom developed application Commercially available solution partner product AutoDesk Inven…nah, who are we kidding.
  • 11. Pure SolidWorks Configurations Design Tables Sensors Equations Smart Components Mate References Design Checker SolidWorks Task Scheduler DriveWorksXpress FeatureWorks
  • 12. What Do You Mean SolidWorks Has Limitations!?!? All of these functions require interaction with the user SolidWorks is required Great for your reseller, not so great for your budget Puts non-engineers in an uncomfortable environment Requires at least some SolidWorks training Do you really want a salesperson opening your models!?!? Data management issues One file with tons of configurations? How big is that file, eh? Multiple people can’t edit one file Revision questions Save As Copy every time? What about updates?
  • 13. SolidWorks Macros Designed to drive the SolidWorks User Interface Not all that automation-friendly OK to use for small functions Can be tough to share due to peoples individual settings Often requires specific pre-selections Everything plays on the screen (video performance aspect)
  • 14. The Road To Excel Design Tables alone don’t address User Interface (Configuration Manager, to a small extent) Input values as opposed to output values Advanced Excel functionality Leverage Excel Use Excel User Interface tools Data validation User Defined Functions Macros Add-Ins (Analysis Pack, Solver, etc.)
  • 15. Excel and SolidWorks – So Happy Together Three Methods To Integrate SolidWorks and Excel Design Table Embedded in the SolidWorks model Must edit through SolidWorks Edit Table In New Window to gain access to Excel MUST BE IN THE DESIGN TABLE SHEET WHEN YOU EXIT!! External Spreadsheet with Macro to drive SolidWorks Requires SolidWorks API programming Separates workbook from SolidWorks model Does not require SolidWorks (until macro is run) Shareable (through Excel Share Workbook functionality) Can be used to drive multiple SolidWorks files Can be used to drive other things as well, not just SW Spreadsheet with Macro Inserted as OLE Object
  • 16. What Excel Brings To The Party (a six pack?) Formatting Charts Easy User Interfaces Advanced equation functionality VBA Custom functions Macros Object-Oriented Programming (well, sort of)
  • 17. Just A Little Bit Of Work Makes A Huge Difference Some People’s Idea of an Excel User Interface Less Than Twenty Minutes Of Work
  • 18.
  • 19. Lists, error and warning dialogs, tool tipsIn-Cell Dropdowns Input Messages Error Messages Warning Messages
  • 20.
  • 21. Control user’s attention based on input
  • 23.
  • 24. Lists, error and warning dialogs, tool tips
  • 26. Control user’s attention based on input
  • 28.
  • 29. Lists, error and warning dialogs, tool tips
  • 31. Control user’s attention based on input
  • 33. Unlock/show only cells you want them to be able to change
  • 35.
  • 36. Lists, error and warning dialogs, tool tips
  • 38. Control user’s attention based on input
  • 40.
  • 41.
  • 42. Calculations in Excel Name Your Cells and Ranges Just as in SolidWorks, it makes equations easier to read Add Comments In adjoining cells or with the comment tool Keep your formulas simple whenever possible Multiple calculation steps are easier to troubleshoot Intelligent Layouts Don’t scatter stuff all over the place Consider cells that may need to be adjacent for lookups, etc. Give this collection of cells a single name
  • 43. 2.9 Searches until it finds a value that is “greater than” the search value, then goes back to take the previous one. Working with Ranges in Excel Index: Return the value at row n, column m Match: Which row is this value in? Specify which order values are in (asc/desc) or exact matches Combine with Index to do a lookup on any column VLookup/HLookup: Find value in first column/row RangeLookup = FALSE: “No, I only want exact matches” RangeLookup = TRUE: “Yes, find me the closest match” VLookup(110,VoltageRange,2,FALSE) = 1.73 VLookup(290,VoltageRange,2,FALSE) = N/A# VLookup(359,VoltageRange,2,TRUE) = 25
  • 44. Dealing With Unknown Quantities Count: How many numbers are in the range? CountA: How many non-blank cells are in the range? Columns/Rows: How many columns/rows are in the range? DGet: Return any value in a range based on criteria Range “Holes” DGet(Holes,”Dia”,Criteria1) = 0.250 DGet(Holes,”Number”,Criteria2) = 2 DGet(Holes,”Number”,Criteria3) = #NUM! DGet(Holes,”Dia”,Criteria4) = #VALUE! Criteria1Criteria2 Criteria3 Criteria 4 26
  • 45.
  • 50. What Excel Brings To The Party (a six pack?) Formatting Charts Design Binder Easy User Interfaces Advanced equation functionality VBA Custom functions Macros Object-Oriented Programming (well, sort of) 28
  • 51. OK, Enough Easy Stuff…On To The VBA Use VBA to AUGMENT Excel Custom functions Macros Connections to other programs (like SolidWorks) Do As Much As You Can In Excel Easier to troubleshoot Easier to maintain Faster to develop 29
  • 52. Custom Functions – Repetitive Calculations Tired of typing in the same equations? PublicFunctionCylVolume(Radius AsDouble, Height AsDouble) AsDouble Dim Pi AsDouble Pi = 4 * Atn(1) ‘ArcTangent of 1 = pi/4…I think CylVolume = Pi * Radius * Raidus * Height EndFunction Now you can just use: = CylVolume(Radius, Height) or =CylVolume($B$4, C5) (if you haven’t been paying attention and you don’t know that you’re supposed to name your cell ranges) 30
  • 53. Custom Functions – Fill in Excel Gaps Excel missing a function you want? No problem! PublicFunction Divisible(Value AsDouble, Divisor AsDouble) AsBoolean Dim Compare AsInteger Compare = CInt(Value / Divisor) If Compare = (Value / Divisor) Then Divisible = True Else Divisible = False EndIf EndFunction Now all I do is put THIS in my cell: =If(Divisible(Length,StdSpacing),Length / StdSpacing,0) Note: Because we’re converting a Double to an Integer, this only works for numbers up to 32767. This was not an issue in my application as the model only supported up to 48”. But you may want to put a check in there so you don’t get overflow errors. 31
  • 54. Custom Functions - Conversions What about converting units or data types? (or both!) Public Function FeetInches(TotalInchesAsDouble) AsString Dim Feet AsInteger Dim Inches AsDouble Feet = Application.WorksheetFunction.RoundDown(TotalInches / 12,0) FeetInches = Feet & “’ “ Inches = (TotalInches – (Feet * 12)) If Inches > 0 Then FeetInches = FeetInches & “- “ & Inches & chr(34) ’(34 is ASCII for “) EndIf EndFunction Now you can use the equation: =“LENGTH = “ & FeetInches(Length) To get: LENGTH = 4’ – 6.125” The example in your handout actually picks up on increments of 1/32” 32
  • 55. Custom Functions - Handling Sets of Data Excel Cannot Really Handle Arrays Of Data It can do ranges, but ranges need a known number of cells Paul’s Solution: Store lists of values in a single cell (ex. “1.25|17|21.1375|9”) Create a series of functions to manipulate these lists ListQty – How many entities are in the list? GetListValue – Give me the nth member of the list. FindValueInList – Is this value in the list? Where? SortList, FlipList, InsertIntoList – Control the order RangeToList – Convert a range of cells into a list Don’t like the pipe (|) character? Just change it to whatever you like in the SPLIT/JOIN commands. 33
  • 56. How To Program In VBA The Ultimate Process For Non-Programmers: Determine what you want your program/code snippet to do Think of some “keywords” to describe it (if you know the functions you need to use, you’re ahead of the game) http://www.google.com (add “VBA” and/or “Excel” to search) Ctrl-C Ctrl-V Tweak Also check out www.krugle.org Also look to Excel VBA and SW API Help files. They’re actually helpful. I know! I was shocked, too. 34
  • 57. Programming Tips For Excel DOCUMENT THE $#^@ OUT OF EVERYTHING!!! Anything after an apostrophe (‘) is a comment…use them!! Option Explicit It’s the “Require Fully Defined Sketches” of the VBA world Intellisense…good. Typing…bad. If you don’t see the option that you need, something’s wrong. Compile and Test Often Programmatic sanity checks Insert Test Code Use Debug Tools Step Into, Step Over, Watches, Breakpoints 35
  • 59. Getting Around In Excel With VBA To access a named cell (you named them all, right!!?!?) Thickness = Worksheets(“Calcs”).Range(“TestCell”).Value Running through the cells in a named range Dim MyCell As Excel.Range ‘Even a single cell is treated as a range For Each MyCell in Worksheets(“Calcs”).Range(“TestRange”) Total = Total + MyCell.Value Next MyCell ‘Looping through the TestRange What if you have rows (i.e. a multi-column range)? Dim MyRow As Excel.Range ‘We’re going to cycle through the rows For Each MyRow in Worksheets(“Calcs”).Range(“TestRange”).Rows Total = Total + MyRow.Cells(1,3).Value ‘Row 1, Column 3 of the range Next MyRow ‘Looping through the TestRange 37
  • 60. Absolute Row and Column References Can I just put in Row and Column references, like: Thickness = Worksheets(“Sheet1”).Range(“A1:A1”).Value Thickness = Worksheets(“Sheet1”).Cells(4,9).Value Sure, but I would have to slap you silly Readability…Minus 10 style points What if the range moves…Minus 10 style points Debugging…Minus 10 style points Scalability…Minus 10 style points Portability…Minus 10 style points Chances of anyone else understanding your code…Minus 30! 38
  • 61. Object-Oriented Programming** “Everything you need to do in the SolidWorks API has to be done by or to an object.” Class – A definition (blueprint) of something (think: blank spec for a washer or bolt) Interface – A more generic definition incorporating multiple classes (ex. Hardware) Object – A specific instance of a class (completed spec - ex. 1/4-20 x 3 SHCS) Property – A parameter value that an object has (ex. Diameter) Method – Something (sub or function) that an object can do (ex. Install) Accessor – A method used to get an object (ex. GetFeature, GetChildren) Dot(.) –Separates an object from its property or method or “child” objects Ex. Bolt.Length or Bolt.Thread.item(“Lead”).Pitch Instantiate – To make a real thing as defined by a class Ex. Upper Flange Bolt #3 or Rear Axle Nut Those are then called “instances” and “objects” **To appease any true code junkies out there. VBA doesn’t REALLY support full OOP with inheritance and polymorphism, but this is a DEMYSTIFYING session. I don’t want to MYSTIFY this stuff any more than it is.
  • 62. The SolidWorks API Object Example (VBA) Early Bound Object Declarations aka “Fully Qualified” (+5 Style Points) Object assignment (instantiation) requires the keyword Set in VBA only HoleDepth and HoleDiameter are Properties of the WizardHoleFeatureData2 object Example: Creating a Hole Wizard Hole Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swFeatMgr As SldWorks.FeatureManager Dim swFeat As SldWorks.Feature Dim swWzdHole As WizardHoleFeatureData2 Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swFeatMgr = swModel.FeatureManager …more code here… Set swWzdHole = swFeatMgr.CreateDefinition(swFmHoleWzd) swWzdHole.HoleDepth = 0.15 swWzdHole.HoleDiameter = 0.0555 … Set swFeat = swFeatMgr.CreateFeature(swWzdHole) …more code here… CreateDefinition and CreateFeature are Methods (functions)
  • 63. Object-Oriented Programming and You (an example) Windows are made up of components Glass Panes How many panes? Dunno. 1, 2, 3, maybe 4 How thick are they? Each one could be different. What kind of glass? Each one could be different. Complex algorithms required Other parts, too But we’ll just focus on the glass Product is ever evolving 41
  • 64. Option 1: Loooooong Lists Assume the MAXIMUM number of components Brute force all of the values out Imagine this with a dozen instances, each with a dozen parameters! That’s … um … carry the three … plus eleven … over e to the x … That’s a LOT of cells! (yes, I know it’s 144, unless you’re counting the unit and label cells in which case it’s 432, but if you don’t count the blank cells, then it’s an even 300, plus another 12 for the component title cells, which technically are one because they’re merged, but you can count them as three if you want making 336.) 42
  • 65. Option 1: Macro Code Your macro code has a limitation built in For Counter = 1 to 4 Do… You constantly have to test to see how many panes there are If Worksheets(“Calculations”).range(“Thickness3”).Value = “” Then… If you add the ability for another pane, you’re searching all through the code to replace the 4’s with 5’s Your programming is in one long lump o’code Lots of variables, or constant read/write to worksheets Debugging is a lot harder, more variables to watch 43
  • 66. Option 2: Object-Oriented Approach Window Object has GlassPane objects How many? An unlimited number!!! Table can expand as much as it needs to Each window has a Window object, an object that holds all of the GlassPanes and an object for each GlassPane 44
  • 67. Option 2: Macro Code No quantity limits!! For Counter = 1 to Window.GlassPanes.Count Do No guessing how many panes there are You already have the ability for an unlimited number of panes, no code upgrades needed Programming is nice an organized Write it once, use it as many times as you want No extra variables, no need to constantly write to the worksheets Window.GlassPanes.Item(n).Thickness Watching an object shows all of its properties (easy debug) 45
  • 68. OOP Excel Style: The Basics Think of your class structure like your assy structure In most cases Right-Select, Insert, Class Module Define your properties and methods Instantiate as needed Always use fully qualified names ex. Window.GlassPanes.Item(n).GlassPane.Thickness Easier to read and debug (yes, it’s longer) Intellisense keeps you from having to type 46
  • 69. Defining a Class Get allows you to get the value Let allows you to set the value Standard methods to put in: Class_Initialize: Gets run each time this class is instantiated Public Sub Class_Initialize() Anything you want to happen automatically End Sub Name Property: Can be used to identify an item in a collection Have a variable in the class called sName (indicates it’s a string) Private sNameAs String Public Property Get Name () As String Name = sName End Property Public Property Let Name (uNameAs String) sName = uName End Property 47
  • 70. Collection Classes You can pass this an index number or the value of the Name property Class_Initialize creates the collection Private mcolGlassPanesAs Collection Private Sub Class_Initialize () Set mcolGlassPanes = New Collection End Sub Add Private Sub Add(uGlassPane As GlassPane) mcolGlassPanes.AdduGlassPane End Sub Remove Private Sub Remove (ByValvarIDAs Variant) mcolGlassPanes.removevarID End Sub 48
  • 71. Alternate Add Method Instead of passing an object, you can just pass values Private mGlassPane As GlassPane Public Sub Add(uThicknessAs Double) Set mGlassPane = New GlassPane mGlassPane.Thickness = uThickness mcolGlassPanes.AddmGlassPane End Sub 49
  • 72. Collection Classes (Continued) Item: allows you to refer to a single element of the collection Public Function Item(ByValvarIDAsVariant) AsGlassPane Set item = mcolGlassPanes(varID) End Function Count: Returns the number of elements in the collection Public Get Count() As Long Count = mcolGlassPanes.Count End Property You can pass this an index number or the value of the Name property 50
  • 73. Ready? Set? … Instantiate!! To add another panel (Using a nice User Interface) PrivateSubcmdAddPane_Click() DimiNameAsString‘The input name DimiTypeAsString‘The input type DimiThkAsDouble‘The input thickness iName = Worksheets(“Input”).Range(“InputName”).Value iType = Worksheets(“Input”).Range(“InputType”).Value iThk = Worksheets(“Input”).Range(“InputThk”).Value cPanes.AddiName, iThk, iType Worksheets(“Input”).Range(“InputName”).Value = “” Worksheets(“Input”).Range(“InputType”).Value = “” Worksheets(“Input”).Range(“InputThk”).Value = 0 Msgbox(“You have successfully added a pane! Aren’t you just so cool?”) End Sub * *Coating property removed from code due to space, but it’s done the same way. 51
  • 74. Auto-Instantiation Take a whole list of cell values and create the panes: Dim cPanes As GlassPanes Dim MyRow As Excel.Range‘Excel range object Dim iName, iType, iCoating As String‘The input values Dim iThk As Double‘The input thickness For Each MyRow in Worksheets(“Input”).Range(“Glass”).Rows iName = MyRow.Cells(1,1).Value iThk = MyRow.Cells(1,2).Value iType = MyRow.Cells(1,3).Value iCoating = MyRow.Cells(1,4).Value cPanes.AddiName, iThks, iType, iCoating Next MyRow 52
  • 75. Accessing Your Instances Use Me when referring to the object that you’re in Ex. In the code for the Window class, you would use: Me.ModelNumber (property of the Window class) Me.CalculateRValue (method of the Window class) Me.GlassPanes.Count (method of a child of the Window class) Use the Item method by passing an index or a Name dThk = Me.GlassPanes.Item(3).Thickness dThk = Me.GlassPanels.Item(“Outside”).Thickness Real Life Example: Me.Walls.Item(“Front”).Panels.item(Me.Walls.item(“Front”).Panels.Count).CeilingLocks.item(1).LocalLocation 53
  • 76. VERY Quick Lesson In Debugging Click in this column to add a breakpoint Run the code to see if it works. If it does, great! Otherwise, it will show you where the problem is or just stare at you. Use Breakpoints at each major stage to see where it trips 54
  • 77. VERY Quick Lesson In Debugging Run the code to see if it works. If it does, great! Otherwise, it will show you where the problem is or just stare at you. Use Breakpoints at each major stage to see where it trips Break at the last working area and Step (Shift+F8) through If it trips in a function or subroutine, use F8 to step into it Still can’t figure it out? Watch the values as you approach the problem spot by hovering over variables or “add watch” 55
  • 78. Error Trapping (If It Can Happen, It Will) Check it out! The errors in VBA are an object. Test for conditions to ensure that they don’t happen Anywhere that something could go wrong Bad Input is #1 source of problems Calculations Gone Wrong is a close second Collection.Count = 0 / Nothing Selected rounds out the trifecta On Error GoTo (just in case) Public Sub RunMe() On Error GoToerrhandler … errhandler: If err.Number > 0 Then msgBox(“Dude! “ & err.Description) End Sub 56
  • 79. Where To Go From Here? Build some test code to test portions of your code Comment out lines Hard code values Use msgbox(), Immediate Window (?), Breakpoints, Step Through Use a macro to kick everything off Right-Select, Add Module to house the macro Have the macro be on an event (ex. cmdButton_Click) The macro will instantiate your top-level Your top-level can instantiate everything else or User-interaction can instantiate components as required 57
  • 80. Connecting to SolidWorks Add the SolidWorks library to your project Tools, Macros, Visual Basic Editor Tools, References, SolidWorks 2010 Type Library Now you have SW Intellisense Define your SolidWorks App Dim swApp As SldWorks.SldWorks Establish a SolidWorks object Attaches to an existing session Launches SW if it is not open Set swApp = CreateObject("SldWorks.Application") 58
  • 81. Things To Note About SolidWorks API Programming (Not enough time to go in depth into SolidWorks API programming, sorry) Fairly well documented in the API Help File Macro Record, good start, but not really as helpful as everyone thinks All units are in METERS!! ERROR TRAP EVERYTHING!!! Check EVERY object If Not(Object Is Nothing) Then… Check your document type Check any preselects Verify data types before passing anything to SolidWorks Check data types of anything you receive from SolidWorks Beware of anything that may require user interaction Close everything out when you are done Check out my presentation yesterday at 1:30pm!! (www.razorleaf.com ) 59
  • 82. Automation Approaches Use SolidWorks to solve complex geometry calculations Mass properties Interferences/Clearances Multi-dimensional sketches Do as much OUTSIDE of SolidWorks as possible SolidWorks is sloooooow (comparatively speaking, of course) 60
  • 83. So What About VB.NET or C#? SolidWorks runs and even records VBA, VB.NET and C#.NET macros Microsoft Office…not so much (VBA to eternity and beyooooooond!) Mostly the same techniques as VBA OOP to the next level (although you really need to be good to see it) Slightly better performance But SolidWorks is almost always the slowest link Extensible to the web ASP.NET Is everything moving towards .NET? Um, well, yeah, actually. Conversion from VBA to VB.NET? Pretty easy (C#, not so much) Learning .NET when you know VBA? Pretty easy (C#, not so much) Working in VBA when you know .NET? Pretty frustrating What about C#? More symbolic, more rigid, more professional and polished 61
  • 84. DriveWorks Ltd. Product Name: DriveWorks, DriveWorksSolo Tacton Systems AB Product Name: TactonWorks ACATEC Software GmbH Product Name: POWERCONFIGURATOR Albiani Product Name: iNorming CadWorks Software Oy Ltd Product Name: AutomateWorks® Citius Corporation Product Name: KBMax Configure One, Inc. Product Name: Configure One Nuovamacut Product Name: RPMWorks Power2, Inc. Product Name: power2design REITEC GmbH Product Name: Confit Product Configurator VEST, Inc Product Name: MDTools 900 Series VISIONKBE Product Name: KBEWorks SolidWorks Solutions Partners Help with the creation of user interfaces Help with the capture and storage of rules Help with the driving of SolidWorks models Help with the creation of derivative SolidWorks drawings Roll out solutions to non-SolidWorks users Provide server components to generate the SolidWorks data Even Better Than Excel VBA? (Perhaps) HERE HERE HERE HERE HERE 62
  • 85. What To Look For In A SolidWorks Solution Partner How much programming do you want to do? Rules can be expressed in VB.NET, Excel, Proprietary languages Some allow programming to supplement the application How do you want the users to interact? Some run inside of SolidWorks (requires seats, some SW knowhow) Do you need multiple people to specify a new unit simultaneously? Some run inside of a SolidWorks model, and cannot do this Some use SQL Server back ends to help support this Where are the models going to be generated? Server components free up your machine/require fewer SW seats Do you want/need a Internet/intranet browser-based interface? 63
  • 86. Questions? Comments? Suggestions? Tamale Recipes? If you have questions you would like to discuss, please find me Now…At any time during the conference…or After the conference Presentation available on www.razorleaf.com Free newsletter with tech tips, industry insiders and more… The Sherpa Paul Gimbel Business Process Sherpa Paul.Gimbel@razorleaf.com www.razorleaf.com TheProcesSherpa on Twitter
  • 87.
  • 88. It takes practically no time at all
  • 89. I HONESTLY want your feedback and I do apply it
  • 90. Let’s see if the SolidWorks folks read these:SURVEY TIME!!! PLEASE PLEASEPLEASE fill out your survey It takes practically no time at all I HONESTLY want your feedback and I do apply it Let’s see if the SolidWorks folks read these: In the comments section, write: “A bicycle powered projector! Very green. Very California.”

Hinweis der Redaktion

  1. Here’s the mandatory and cliché review of me and my company. Razorleaf is a services-only company providing implementation and customization, training and support for PDM including EPDM, SmarTeam, Aras, and Matrix, as well as Design Automation (that’s my specialty) including DriveWorks, Tacton, and custom solutions. As I said, services-only, so I won’t be trying to sell you anything, don’t worry.I am Paul Gimbel, known in the SolidWorks community as simply “The Sherpa.” I’ve been to every SolidWorks World, presented at quite a few of them. A trainer and demojock since the original, SolidWorks 95. So yes, I’m old, and yes, I’m starting to look it.