Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
minLevel2
outlinetrue

...

This article is to facilitate the creation of design models in SOLIDWORKS® and DOME which can be further used to predict integrated product performance with the ultimate goal to make tradeoffs between many options. Ulrich and Eppinger[1] have analyzed product development as a process starting from market opportunity and ending in production, sale and delivery of a product. This applies very well in this use case, where a  base case financial model of a product can be built easily using CAD tools like  SOLIDWORKS®, and DOME Models.   .   In this document we discuss a Robot that is designed in SOLIDWORKS®    and can be fully automated using powerful macros. Most importantly non CAD professionals  can view the assembled robot in free viewers like eDRAWINGS® from Dassault Systems which is available for Windows, Mac and Mobile devices. 

2: Introduction

Snake Robot [2] can be used for several applications like search and rescue and inspection purposes. In this document we discuss a high level plan including the design, control and evaluation of a generative robotic fully articulated probe( aka snake robot).  Figure 1 shows three parts designed in SOLIDWORKS® that can be mated to create one segment of a Robot. In this use case, the end customer can create a robot with several segments so that the snake robot can reach the part that needs to be inspected.

...

Solidworks-Dome Plugin ( Note the plugin is part of DOME)   lets users select/modify the dimensions of a part or assembly via DOME interface. This provides clients( users)  to evaluate the part without having to have individual Solidworks license because the DOME server installs SOLIDWORKS® with a valid license. Typically one changes one or more dimensions of a part via the DOME user interface and gets as output volume, surface area, mass , angles and colors. However, in 2016 we have added additional capability to the Solidworks-Dome Plugin. We allow custom properties that can be passed from DOME user interface which is further used by SOLIDWORKS® in macros.  

A SOLIDWORKS® macro is a shortcut to a task you perform repeatedly in SOLIDWORKS® 3D CAD software. It is a series of commands and actions that can be stored and run within SOLIDWORKSMicrosoft VBA , a toolset based on Microsoft Visual Basic , is embedded in the SOLIDWORKS® software. 

In our design/architecture of the  Solidworks-Dome Plugin  we expect the macro embedded in the assembly file. In this use case, the Number of Segments  is a custom property that can be set in  DOME and SOLIDWORKS®creates the robot with the defined number of segments. The details of the macro will show how we can mate the parts, and come up with the final product. 

Ulrich and Eppinger[1]  discuss various types of prototypes as shown in Figure 2. They also show how it is not feasible in the Analytical-Comprehensive quadrant. However with tools like DOME and plugins and CAD tools we  think this can be more feasible. An integrated product design simulation is feasible.

Image Modified

Figure 2: Types of prototypes by Ulrich and Eppinger 

3: Use Case Actors

Figure 3 illustrates at  a very broad level the tasks performed by DOME/DMC developer so that the actors like Product manager, Engineering Manager and Costing Engineer can benefit by this application. The Product Manager would have already identified the product  after conducting market research,  generating product requirements; determining specifications, production timetables, pricing, and time-integrated plans for product introduction. The Engineering Manager supervises and lead engineers, scientists and technicians who design machinery, plan and develop  projects, This role will be able to decide how many of the Snake Segments one needs for the project, what kind of material (Steel , aluminium etc) to select, figure out if the robot can pass through the cavities etc.  This team of engineers will be using the DOME Client interface. This then goes to the Costing Engineer who  will  estimate cost ,  perform some  cost forecasting, investment appraisal and risk analysis. The Costing Engineer can also request other DOME models which can use the output from this use case and figure out the cost.  [ Please refer to Building Integrated Models in DOME]. For example a DOME Model can use the Excel Plugin and give the Costing engineer the ultimate cost. We discuss each of the tasks shown in the left part of the figure which deals with the development of DOME client/server and  development of the macro in SOLIDWORKS®  


Gliffy
bordertrue
nameUse Case Acros Snake Robot

Figure 3: Actors in Use case

4: Designs Macro Embedded in Solidworks

We introduced the three parts that are designed by the SOLIDWORKS®  designer (CAD) to create this Snake Robot. The dimensions for each part  is designed so that the mating of the parts can be done. We could have exposed the dimensions as parameters that can be controlled from the DOME interface. But this will have to be designed carefully so that the mating succeeds in the macro. We did not do it in this use case, but this is possible. 

This macro needs the number of segments that the Dome Client sets as a Custom property. Figure 4 shows the SOLIDWORKS®   setup.

Image Modified

Figure 4:  Configuration setup in Solidworks which  uses custom properties


The macro is embedded in the Assembly (SLDASM) file. Figure 5 shows the SOLIDWORKS®  interface.  The name of the assembly file for this use case is
BuildSnake_ Assembly_Demo.SLDASM.  The name of the macro is  BuildSnake_ Assembly_Demo.swp.

Figure 5: Macro is embedded in the Solidworks assembly file

...

Function or Sub Name in macroDescription
GetNumOfSegmentsFromConfigNote that DOME client sets this number. This macro reads the number of Snake Segments. If N=3, the end robot will show 6 segments of the snake. We have 3 Even number segments and 3 Odd number segments
InsertFirstWabbleWabble is one of three three parts named as Wabble.SLDPRT. This part document is opened and inserted in BuildSnake_ Assembly_Demo.SLDASM
InsertFirstElectrodeElectrode is one of the three parts named as Electrode.SLDPRT. This part document is opened and inserted in BuildSnake_ Assembly_Demo.SLDASM
InsertSecondWabbleInsert another wabble. Note some mating is done before this happens
Mate_ElectrodeConstructionLine_RightPlaneTwo points in the Electrode are mated
Mate_First_Coincident_Electrode_WabbleElectrode backface and Wabble frontface are mated
Mate_First_ElectrodeAndWabbleCenterElectrode and Wabble center are mated
Mate_Muscles_EvenNumberedSegmentsMuscles mated with even number segments
Mate_Muscles_OddNumberedSegmentsMuscles mated with odd number segments
Mate_NewWabble_PrevElectrodeThis can happen only after the second wabble is inserted
Mate_SecondElectrode_SecondWabbleThis adds the second electrode and mate to the second wabble in the pair
Mate_SecondWabble_PrevElectrodeSelects and aligns the new wabble to the previous electrode
SaveAsNewAssemblyAfter all the segments are added, we save the assembly file with a suffix of _Rebuilt. In this case it will be BuildSnake_ Assembly_Demo_Rebuilt.SLDASM. This can be used for debugging purposes, because this will be at the DOME server Auxfiles ( for the model)


5: Create  DOME Model

Basics of Creating a DOME model is not covered here. We are highlighting how the inputs and outputs are defined for this application.

...

Summary of the inputs and outputs defined in Figure 7

Parameter nameNotes
Snake Robot AssemblyThis file is created by using SOLIDWORKS® .   See Figure 4. This is empty with no parts added. All it has is the Configuration details needed by the Macro to run. The name of the macro is embedded in this file.
eDrawing FileThe eDrawing file, as input, is a blank file created using SOLIDWORKS® . The macro expects the value ( name ) of the file to be same as the Assembly file with a suffix of Rebuilt.   eg Our Assembly file is named as BuildSnakeAssembly_Demo.SLDASM, so we expect the eDrawing File to be named asBuildSnakeAssembly_Demo_Rebuilt.EASM
Number of Snake SegmentsCustomProperty#NumberOfSnakeSegments  is a Custom_Property.  This MUST have the prefix CustomProperty#. The NumberOfSnakeSegments that follows the prefix MUST MATCH  what is defined in the SLDASM file. See Figure 4 above.
Calc_MassSOLIDWORKS® calculates the Mass of the assembled Robot. The material selection is already made in the part as  1023 Carbon Steel. The Assembly file has units selected as pound, so the DOME user interface must select pound.
Calc_SurfaceAreaSOLIDWORKS® calculates the Surface Area of the assembled Robot. The Assembly file has units selected as square inch, so the DOME user interface must select square inch.
Calc_VolumeSOLIDWORKS® calculates the Volume of the assembled Robot. The Assembly file has units selected as cubic inch, so the DOME user interface must select cubic inch.


Step 3 : Define the causality

...

Figure 13: Fully assembled  Snake Robot showing bends

6: Develop gaps that are not in DOME/DMC

MIT had developed Solidworks-Dome Plugins versions 2000, 2001, 2002, 2003 and 2004. However SOLIDWORKS® does not support the Solidworks-Dome Plugins(2001- 2004). We earlier versions (2004 -2004) of SOLIDWORKS® . So we have created  Solidworks-Dome Plugin version 2016, that will work with SOLIDWORKS® 2016.  The new Solidworks-Dome plugin is SolidWorksPluginNew64.dll. This should be in the dlls directory.

Also Solidworks-Dome Plugins(2001- 2004) did not support Custom_Property, so we have added that in this version. Without the  Custom_Property we cannot support Macros embedded in Assembly files. 

7: Visualization in Dome Client/Web Interface

One of the advantages  of using DOME-Solidworks plugin is that every actor of this use case application does not need to have  SOLIDWORKS® license. But most actors of this use case application can visualize the fully assembled Robot. The macro designed/developed here saves the fully assembled Robot as a EASM file. More specifically we have the BuildSnake_Assembly_Demo_Rebuilt.EASM saved by the macro. This EASM file can be viewed by   eDRAWINGS® from Dassault Systems, which is free and can be downloaded from the web. Figure 14 shows the EASM file in the eDRAWINGS viewer.

Image Modified


Figure 14  eDRAWINGS viewer showing the Snake Robot





8: References

1] Karl T. Ulrich and Steven D. Eppinger, Product Design and Development, Irwin McGraw-Hill 

2] From Wikipedia https://en.wikipedia.org/wiki/Snakebot