View Single Post
Old 01-21-2020, 12:27 PM
dremu dremu is offline
I like to make things.
Join Date: Aug 2019
Posts: 77
Member Number: 28889
B/S/T Feedback: (0)

In no particular order...

I found the same thing with the Cross stuff. Mechanically intricate, beautiful, but short on interior. Which for me was fine. I'm more into mechanical functionality guy than tremendously detail-oriented modelling (though I occasionally have fun with the little stuff, as we see.)

I found that flying led to more than 50% landings, or at least UNCOMMANDED landings. Also lots of bouncing and flopping over.

Heartless, I'm using OpenSCAD. It's not your typical draw-with-your-mouse CAD, but uses what's basically a structured programming language to describe the part(s) in question. Weird way of doing things, but for those comfortable with coding it can work really well.

This one, for instance

looks like this unrendered:

You describe the green cube as something like

color("green") cube(size=[30,87,18], center=true);

and then above and below are the thinner cubes

color("red") translate(v=[-7.5,0,-10]) cube(size=[30,66,2], center=true);
color("red") translate(v=[-7.5,0,10]) cube(size=[30,66,2], center=true);

It's actually more complicated due to the holes through the cubes. I could have made the green cube larger and just cut cube notches for the frame rails on the corners. No difference in the end result, just a matter of how to build it.

Without going into the whole thing (whole? get it?) holes or cutouts are done thus:

color("blue") cylinder(d=15, h=44, center=true);
cylinder(d=M4thread, h=44, center=true);

That's a simplified version of the blue cylinder at the top, right, 15mm dia x 44mm long cylinder with a hole down the middle to be tapped for M4. The sizing is actually unitless until it gets exported to the printer software.

Anyway, as with any CAD, if you wanna move pieces around, you just change things, in this case the code. This whole unit is called as a module from the main program (== the truck) like

translate(v=[-237,0,52]) aframecrossmember();

so shifting it back and forth along the frame is just a matter of changing the -237. 52 is the height from the ground, so all of the crossmembers are at that level to fit inside the framerails.

Obviously more intricate pieces are LOTS more complicated; Frank is a few thousand lines of code. And you have to be able to describe them as 2D or 3D geometric shapes (square/cube, circle/cylinder) or extruded ones like a torus. With patience, however, you can do quite a bit:

That took a bunch of time, but I'm fortunate to have the real Sceptre cans in my garage so I had good measurements to work from. Doing those accurately from interweb pix would have been impossible. I still fudged them, but I think they're close enough that you know what they are even though you can't read the "FUEL 20L" or "WATER 20L" labels

-- A

Last edited by dremu : 01-21-2020 at 12:38 PM.
Reply With Quote