How bad are solidworks parameters?

I must be missing something, because solidworks seems to be sorely lacking in the parameters department.
I was really getting into some work in solidworks, and was going to create a full parametrized robot (any dimension can be changed from a simple text file, and the model will adapt), but very quickly I started to run into walls. For example: you cannot put equations in when you create features, you have to finish the feature and go back to do it; you cannot use parameters in design tables, you have to use them in equations and then suppress and unsuppress the equations from the design table.

And worst, there is no way to reorder the the rules that are imported from a text file. This means that if I have this in the text file:

“base_length” = 20
“side_extension_length” = (some_long_calculation_for_the_side_length) +4

and I try to add an intermediate calculation like so:

“base_length” = 20
“side_length” = some_long_calculation_for_the_side_length
“side_extension_length” = “side_length” + 4

The steps that already existed (1&3), stay at the top, with the new calculation below, not only is this disorderly (which I would happily live with), but it makes the third calculation fail, because a dependancy (step 2), is after it.

What am I missing?

  • Alex

I am not an expert in these text files that would drive the CAD design of a full robot. If you are looking for something like PTC’s “Pro-Program” I think you are out of luck.

I have used SolidWorks for the past 8 years and I would suggest making an assembly with datum planes that have meaningful names and building “in- context” parts. Starting with a simple 4 piece perimeter frame the individual part lengths can go up to a datum plane for extrusion length. Other datums for sides and widths. So simply changing the dimension driving the datum plane offset will force the parts to change to the correct length.

This dimension could be changed in SolidWorks or (for example) on xls sheet that SolidWorks reads. At my work I have created xls sheets that have pull down options for various customer choices that equate to some number in the xls, that combines with other cells to get a final dimension, that is read by SolidWorks and assembly, parts and drawings are automatically updated.

This took me a couple weeks to figure out the first time, but I could redo it now much faster. Is all the effort worth it for a single yearly robot frame?


I have to ask, why is it so many people use solidworks (we will probably end up using it this year since our local university does), when it appears to have been beaten hands down in this department?

That’s a bit like you being the chicken and asking yourself “why did I cross that road?”.

I would suggest using any Unix system to make a script that uses the parameters you seek and then builds the text file Solidworks requires. Yet unless you already use Linux or have virtualization setup already (best way is via VirtualBox in ‘seamless mode’), then perhaps it’s not the best way for you. It’s how I generate some of my text files for Windows software development across platforms at work.

Being this is FIRST, I am not going to compare other CAD programs that are corporate sponsors and are trying to help students learn CAD for robot design.

Those programed situations are usually for a large companies that make expensive goods that are similar but need customization. Some individual examples that come to mind are elevators, escalators, conveyor lines, and industrial freezers. So for example, a company designs an elevator. They spend CAD “program/custom” time so the size, WxLxH can easily vary and change all of the related parts–doors, sill, handles, trim, number of fasteners etc. The number of floors in a building will vary so that is an input that drives changes- cable lengths, brakes and even the number of push buttons for the rider. The input of a weight limit could call for extra supports, different cable diameters, pulleys, counter weights etc. But this is a ton of work in either system. But then offers many custom (but similar) elevators for the company.

So I suggest you first look at the scope of your CAD robot. If it is simple perimeter frame and bumpers that can be driven by a couple of dimension inputs that is great. If you plan on inputs to select the number wheels and diameters, not to mention choice of chain, belt, gears etc you will be spending hours for choices might be determined verbally days after the 2012 game is released.

Hope my comments help. Troy

Why do you need a Unix system? Python, and most other scripting languages, run just fine on most operating systems.

Heck, if you have excel you can have it generate the file for you if you REALLY feel ambitious.