top of page

Automated Dimensioning in SolidWorks (Concept) - 2.8.2018

Joshua Kahn and Iftach Naftaly

With the recent rise of additive manufacturing comes the ability to customize products at an unprecedented level. Each individual part can (if necessary) be produced with different dimensions, to better suit the user’s needs. While this greatly improves the functionality of the product, it imposes certain difficulties on the design process.

Designing a parametric product (especially as part of a higher-level assembly) requires particularly careful consideration of all possible changes while still maintaining full functionality. As such, there is a need for a streamlined way to control the desired dimensions of 3D modelled parts across assemblies.

We came across this problem as part of developing a 3D printable, myoelectric, robotic prosthetic hand. As every amputee and amputation is different, the goal was to design a product whose dimensions could be customized to the user’s needs. Most of our work is done in SolidWorks, so that will be the focus of our analysis here. The problem we wished to solve was the design a parametric assembly of more than 30 parts whose dimensions could be quickly and easily changed as necessary by the average SolidWorks user.

There are products, such as DriveWorks, that can control configurations and dimensions of models and assemblies, but these programs are exceedingly expensive and require specialized training. As the need to customize models becomes more widespread, a more economical and simpler solution is required.

SolidWorks provides the option to use equations and design tables while building models, which essentially allows for the required levels of customization, but in a non-integrated fashion. The issue is in the drawbacks of each of these methods and the almost complete inability to easily manage both equations and design tables simultaneously.

Equations in SolidWorks can be linked to an external text file and modifying that file will result in changes to the models. Multiple models can be linked to the same text file if necessary. The user must still find and open the text file and understand exactly where the specific measurements are used before changing them. The bigger issue though is that there are certain features in SolidWorks (i.e. the Scale feature) that cannot be controlled through equations.

Design tables are Excel workbook files that are stored within SolidWorks files and can more robustly control dimensions and features, including suppression or addition of features in different configurations of models. Using properties of Excel workbooks, it is possible to automate these changes by linking the design table to an external Excel workbook. The downside of design tables is that they are more cumbersome to use and also require opening and closing the table manually in order to actually put changes to the model into effect. This requires opening and closing each design table manually, a poor use of man hours on busy work.

To solve our specific problem, we integrated use of equations, design tables, and macros to achieve all the required benefits and minimize the negative aspects of each method. Our solution includes use of equation text files, design tables linked to a single master Excel sheet, and a MATLAB graphical user interface (GUI). (The GUI can be run as a standalone program file using freely available MATLAB Runtime files.) The GUI receives the necessary dimensions through simple, intuitive user inputs and makes the necessary changes in the equations and master design table files. The user then opens the entire assembly in SolidWorks and runs the macro, which updates the design tables of all open parts automatically. Using this method we create a simple way to link between Matlab and Solidworks: one can write MATLAB code that determines the correct dimensions and scaling based on mathematical calculations for his parts and update the part accordingly in Solidworks quickly and conveniently.

 

 

This process minimizes the amount of time it takes to make dimensioning changes to the entire assembly and allows the end user to customize their final product without extra costs or intensive training.

​

​

The Macro used was downloaded from SolidWorks forums and provided by Mauricio Martinez-Saez: https://forum.solidworks.com/thread/9335

bottom of page