1

Topic: "Parametric" models?

Ok,
I keep seeing this term on Thingiverse....  and well, to quote the movie... "I don't think that word means what they think it means"

seriously...

I know of Parametric Equations,.....  but don't get what they mean when they say it's a "parametric design"


can someone clarify/define this term?  or is it just one of those words that someone throws on it because they saw someone else use it?

2 (edited by DePartedPrinter 2013-01-03 17:26:21)

Re: "Parametric" models?

maybe this will clarify:

http://www.aecbytes.com/viewpoint/2007/issue_32.html

SD2 with E3D, SD Press, Form 1+
Filastruder
NYLON (taulman): http://www.soliforum.com/topic/466/nylon/

3

Re: "Parametric" models?

Simpler terms think of it like if I draw a square on z zero and extrude up 10mm.  Then I draw a circle on top of the cube and extrude that up 15mm.  Parametric means I can change the parameters and the rest of the items will update.  So in my example if I change the extrude height of my square to 20mm, then the cylinder (extruded circle) will rise with the cube and still be on top and still be 15mm tall.  The relations stay the same but I can modify parameters to change the entire part, or assembly depending on what I'm working on.

4

Re: "Parametric" models?

OpenSCAD is a popular open-source CAD program used in a lot of the parametric models on thingiverse.

Intro to OpenSCAD PDF

5

Re: "Parametric" models?

it just means its a model defined by parameters.
sounds parametric to me smile

6

Re: "Parametric" models?

Stoney wrote:

it just means its a model defined by parameters.
sounds parametric to me smile

...  that's the part that makes my head hurt... when people use a word to define itself.

all models, are defined by their parameters...



but from what the link seems to say.... (correct me if I'm getting this wrong)

is that it's a model not defined by the measurements of the components,
but instead by the relations of one component to another.


is that right?

7

Re: "Parametric" models?

There are basically two types of 3D modeling: polygonal, based on polygons or triangles, and parametric, which is based on splines.

In polygonal modeling, say I have a cylinder and a sphere. The sphere will become a ball-joint on the cylinder. To make these one "solid" shape, you perform a boolean action. The original polygons are altered and the separate cylinder and sphere are destroyed.

In parametric modeling the cylinder and sphere are created with splines that define them. Similar-ish to NURBs if you're familiar with them. These splines are controlled by parameters such as diameter, length, radius. When I boolean the cylinder and sphere, these two objects are combined but the original spline information is retained so that if I increase the radius of the sphere, the ball for the ball joint just increases. If I want to increase the diameter of the cylinder, I just edit that parameter and the combined object is updated accordingly.

It's a non-destructive method of modeling, but also impossible for certain organic modeling.

8

Re: "Parametric" models?

BigHache wrote:

There are basically two types of 3D modeling: polygonal, based on polygons or triangles, and parametric, which is based on splines.

That seems a far too simplistic a definition.

It is possible to have spline and nurbs forms which are not parametric, and have polygonal forms which are parametric. I've written many programs which do the latter, for the refrigeration industry for example.

And Rhino 3D, though based on NURBS, does not present its parametric face to many of its users.

Author of  PhotoToMesh, for making bas-reliefs and
lithophanes from your photos and images
http://www.ransen.com/PhotoToMesh

9

Re: "Parametric" models?

Mr_Smigs wrote:

(correct me if I'm getting this wrong) is that it's a model not defined by the measurements of the components,  but instead by the relations of one component to another.

is that right?

Actually it is both. In a simple model of a rectangular solid for example the only parameters you can have are length width and height, 3 numbers.

But more complex parametric objects might require the positions and sizes of sub objects to be calculated (defined by numbers).

The number of wheels (and their positions) on a series of trucks could be defined as changing according to the max weight each truck in the sequence is designed to carry. You have one parameter (the weight) which influences where and how many wheels are used.

That is a huge oversimplification, but I hope it gives you the idea.

Author of  PhotoToMesh, for making bas-reliefs and
lithophanes from your photos and images
http://www.ransen.com/PhotoToMesh

10

Re: "Parametric" models?

nickythegreek wrote:

OpenSCAD is a popular open-source CAD program used in a lot of the parametric models on thingiverse.

Intro to OpenSCAD PDF


OpenSCAD is great.  You assemble your model with code, not drawings, and can be very efficient, if you think that way.  I am working on a project to make LED clocks of various types.  The most common part I print is a cylinder with 60 holes (or 120 as is the case in the code below). These holes are evenly-spaced radially around the height-center of the cylinder.

To make these 60 holes could take quite a bit of time with SketchUp or similar...  With OpenSCAD, it's a simple FOR-Loop.

In making these cylinders, I also wanted to be able to vary certain attributes, say, cylinder height...   Well, if I make the cylinder  20mm taller, the height-center changes by 10mm.  By building the code around variables, one can alter a CYLINDER_HEIGHT variable, and that not only re-calculates the cylinder height, but could also re-calculate the height of the holes, without changing the diameter or radial spacing.

check it out...   This is a part I make...
http://sphotos-a.xx.fbcdn.net/hphotos-ash4/385224_196438657161345_314376778_n.png

And this is the code that generates it (everything that follows a "//" is a comment)

MyR     = 44;            // sets outside radius of ring
MyH         = 36;        // sets height of ring
MyLeds      =  .8;        // sets diameter of holes
MyQuarters    =  1;        //  -- unused --
MyHours    =  1;        //  -- unused -- 




difference()         // subtract from the first object, every object that follows
{

    rotate ([0,0,3]) cylinder (h=MyH, r=MyR, $fa=6, center=true);         // make main cyl (outer wall)

    rotate ([0,0,3]) cylinder (h=MyH+4, r=MyR-2, $fa=6, center=true); // subtract neg space (inner wall)


    for ( i = [0 : 59] )                               // loops 60 times to make a circle of horiz. mini-cylinders to subtract
    {                

        rotate( i * 6, [0, 0, 3])              // rotate 6 degrees on X axis every time  ( 6 x 60 = 360 )
                translate ([MyR,0,1.5])     // shift removal cylinders by MyR (radius) and up from Vert. Center
            rotate([0,90,0])                //  rotate cylinder  90 deg. on Y axis to make Horiz.
            cylinder (h=8, r=MyLeds, center=true);  // Top Hole

        rotate( i * 6, [0, 0, 3])               // same as above cluster
                translate ([MyR,0,-1.5])     // shift removal cylinders by MyR (radius) and up from Vert. Center
            rotate([0,90,0]) 
            cylinder (h=8, r=MyLeds, center=true);  // Bottom Hole
    }   // ends loop
 
}     // ends  difference
Post's attachments

MiniRing.png
MiniRing.png 16.69 kb, 4 downloads since 2013-01-06 

You don't have the permssions to download the attachments of this post.