### bends

RW
Ray West
Thu, Jul 15, 2021 1:04 PM

Hi,

I have a tapered straight lever, given by

module st_lever(){

pl= [
[2,0,-2],[92,0,-1],[92,0,1],[2,0,2],
[2,-1,-2],[92,-1,-1],[92,-1,1],[2,-1,2]];
fl=[
[0,1,2,3],
[4,5,1,0],
[7,6,5,4],
[5,6,2,1],
[6,7,3,2],
[7,4,0,3]];

polyhedron(pl,fl);
}

it has to be bent in a number of places.

• It starts off as rotate ([0,0,-5]) st_lever() -

It then has to be bent // to the x axis at x=48.5 for a distance of
10.5, then back at 45 deg for 4 or 5 inches, then // to x axis again at
a -y distance of 1.25 from axis. (then a bit further on it is bent down).

Is there another way of doing this, other than either calculating the
xyz values at each bend location and making the polygon more
complicated, or using difference or intersection with cubes, say, to
split the lever into sections and stitch them together in the desired
profile? The attached jpg is what I'm working from (I'm not worried
about the loop at the end, nor the exact dimensions, it has to 'look
right', however.)

Hi, I have a tapered straight lever, given by module st_lever(){     pl= [       [2,0,-2],[92,0,-1],[92,0,1],[2,0,2],       [2,-1,-2],[92,-1,-1],[92,-1,1],[2,-1,2]];     fl=[      [0,1,2,3],      [4,5,1,0],      [7,6,5,4],      [5,6,2,1],      [6,7,3,2],      [7,4,0,3]];   polyhedron(pl,fl); } it has to be bent in a number of places. - It starts off as rotate ([0,0,-5]) st_lever() - It then has to be bent // to the x axis at x=48.5 for a distance of 10.5, then back at 45 deg for 4 or 5 inches, then // to x axis again at a -y distance of 1.25 from axis. (then a bit further on it is bent down). Is there another way of doing this, other than either calculating the xyz values at each bend location and making the polygon more complicated, or using difference or intersection with cubes, say, to split the lever into sections and stitch them together in the desired profile? The attached jpg is what I'm working from (I'm not worried about the loop at the end, nor the exact dimensions, it has to 'look right', however.)
FH
Father Horton
Thu, Jul 15, 2021 1:46 PM

Do a side view in 2D and linear extrude it. Do a top view in 2D and linear
extrude it. Then rotate one and take the intersection.

On Thu, Jul 15, 2021 at 8:05 AM Ray West raywest@raywest.com wrote:

Hi,

I have a tapered straight lever, given by

module st_lever(){

``````  pl= [
[2,0,-2],[92,0,-1],[92,0,1],[2,0,2],
[2,-1,-2],[92,-1,-1],[92,-1,1],[2,-1,2]];
fl=[
[0,1,2,3],
[4,5,1,0],
[7,6,5,4],
[5,6,2,1],
[6,7,3,2],
[7,4,0,3]];

polyhedron(pl,fl);
``````

}

it has to be bent in a number of places.

• It starts off as rotate ([0,0,-5]) st_lever() -

It then has to be bent // to the x axis at x=48.5 for a distance of
10.5, then back at 45 deg for 4 or 5 inches, then // to x axis again at
a -y distance of 1.25 from axis. (then a bit further on it is bent down).

Is there another way of doing this, other than either calculating the
xyz values at each bend location and making the polygon more
complicated, or using difference or intersection with cubes, say, to
split the lever into sections and stitch them together in the desired
profile? The attached jpg is what I'm working from (I'm not worried
about the loop at the end, nor the exact dimensions, it has to 'look
right', however.)

To unsubscribe send an email to discuss-leave@lists.openscad.org

Do a side view in 2D and linear extrude it. Do a top view in 2D and linear extrude it. Then rotate one and take the intersection. On Thu, Jul 15, 2021 at 8:05 AM Ray West <raywest@raywest.com> wrote: > Hi, > > I have a tapered straight lever, given by > > module st_lever(){ > > pl= [ > [2,0,-2],[92,0,-1],[92,0,1],[2,0,2], > [2,-1,-2],[92,-1,-1],[92,-1,1],[2,-1,2]]; > fl=[ > [0,1,2,3], > [4,5,1,0], > [7,6,5,4], > [5,6,2,1], > [6,7,3,2], > [7,4,0,3]]; > > polyhedron(pl,fl); > } > > it has to be bent in a number of places. > > - It starts off as rotate ([0,0,-5]) st_lever() - > > It then has to be bent // to the x axis at x=48.5 for a distance of > 10.5, then back at 45 deg for 4 or 5 inches, then // to x axis again at > a -y distance of 1.25 from axis. (then a bit further on it is bent down). > > Is there another way of doing this, other than either calculating the > xyz values at each bend location and making the polygon more > complicated, or using difference or intersection with cubes, say, to > split the lever into sections and stitch them together in the desired > profile? The attached jpg is what I'm working from (I'm not worried > about the loop at the end, nor the exact dimensions, it has to 'look > right', however.) > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
GH
Gene Heskett
Thu, Jul 15, 2021 3:55 PM

On Thursday 15 July 2021 09:04:42 Ray West wrote:

Hi,

I have a tapered straight lever, given by

module st_lever(){

pl= [
[2,0,-2],[92,0,-1],[92,0,1],[2,0,2],
[2,-1,-2],[92,-1,-1],[92,-1,1],[2,-1,2]];
fl=[
[0,1,2,3],
[4,5,1,0],
[7,6,5,4],
[5,6,2,1],
[6,7,3,2],
[7,4,0,3]];

polyhedron(pl,fl);
}

it has to be bent in a number of places.

• It starts off as rotate ([0,0,-5]) st_lever() -

It then has to be bent // to the x axis at x=48.5 for a distance of
10.5, then back at 45 deg for 4 or 5 inches, then // to x axis again
at a -y distance of 1.25 from axis. (then a bit further on it is bent
down).

Is there another way of doing this, other than either calculating the
xyz values at each bend location and making the polygon more
complicated, or using difference or intersection with cubes, say, to
split the lever into sections and stitch them together in the desired
profile? The attached jpg is what I'm working from (I'm not worried
about the loop at the end, nor the exact dimensions, it has to 'look
right', however.)

Actually Ray, that looks like a job for a blacksmith. Once the square
drive on the end is milled, the rest of it looks like a job for a smith
wrench in artistic hands.

I did stuff like that in a past life 65+ years ago while pulling wrenches
& doing engine swaps, but haven't had gas bottles for my torch in nearly
that long.

Memory trigger: Last engine swap I did turned a ford wagon, your basic
grocery getter, into a concealed weapon.

Demo'ed once by getting trapped behind a loaded hay sled north of Norfolk
NE at 22 mph. I swung out and saw a hole in the on coming traffic on a 2
lane, swung back behind it to let 3 cars go by headed north, snapped to
the other lane as I gave it some good gulf, and noted as my passenger
door passed that john poppers front tires, that my speedo was up to 83
mph accompanied by still bawling Michelins. I had one of my kids onboard
with a penny stuck in his throat that was running out of time. National
55 days, but you did what you had to do. I did get him to the hospital
ER in time.

## Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.

On Thursday 15 July 2021 09:04:42 Ray West wrote: > Hi, > > I have a tapered straight lever, given by > > module st_lever(){ > >     pl= [ >       [2,0,-2],[92,0,-1],[92,0,1],[2,0,2], >       [2,-1,-2],[92,-1,-1],[92,-1,1],[2,-1,2]]; >     fl=[ >      [0,1,2,3], >      [4,5,1,0], >      [7,6,5,4], >      [5,6,2,1], >      [6,7,3,2], >      [7,4,0,3]]; > >   polyhedron(pl,fl); > } > > it has to be bent in a number of places. > > - It starts off as rotate ([0,0,-5]) st_lever() - > > It then has to be bent // to the x axis at x=48.5 for a distance of > 10.5, then back at 45 deg for 4 or 5 inches, then // to x axis again > at a -y distance of 1.25 from axis. (then a bit further on it is bent > down). > > Is there another way of doing this, other than either calculating the > xyz values at each bend location and making the polygon more > complicated, or using difference or intersection with cubes, say, to > split the lever into sections and stitch them together in the desired > profile? The attached jpg is what I'm working from (I'm not worried > about the loop at the end, nor the exact dimensions, it has to 'look > right', however.) Actually Ray, that looks like a job for a blacksmith. Once the square drive on the end is milled, the rest of it looks like a job for a smith wrench in artistic hands. I did stuff like that in a past life 65+ years ago while pulling wrenches & doing engine swaps, but haven't had gas bottles for my torch in nearly that long. Memory trigger: Last engine swap I did turned a ford wagon, your basic grocery getter, into a concealed weapon. Demo'ed once by getting trapped behind a loaded hay sled north of Norfolk NE at 22 mph. I swung out and saw a hole in the on coming traffic on a 2 lane, swung back behind it to let 3 cars go by headed north, snapped to the other lane as I gave it some good gulf, and noted as my passenger door passed that john poppers front tires, that my speedo was up to 83 mph accompanied by still bawling Michelins. I had one of my kids onboard with a penny stuck in his throat that was running out of time. National 55 days, but you did what you had to do. I did get him to the hospital ER in time. Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/gene>
RW
Ron Wheeler
Thu, Jul 15, 2021 6:30 PM

Is there any particular reason for the nice rounded bends?

Are you building a replica that has to look exactly like the original or
something that only has the identical functionality?

If it only has to be functional, you also have opportunity to reinforce
key areas in ways that would be difficult for a blacksmith.

If it has to be identical in appearance, you should be able to assemble
cubes (straight sections) and arcs of cylinders given the dimensions (or
your revised dimensions) on the 2D drawing to make the desired 3D shape.

On 2021-07-15 11:55 a.m., Gene Heskett wrote:

On Thursday 15 July 2021 09:04:42 Ray West wrote:

Hi,

I have a tapered straight lever, given by

module st_lever(){

pl= [
[2,0,-2],[92,0,-1],[92,0,1],[2,0,2],
[2,-1,-2],[92,-1,-1],[92,-1,1],[2,-1,2]];
fl=[
[0,1,2,3],
[4,5,1,0],
[7,6,5,4],
[5,6,2,1],
[6,7,3,2],
[7,4,0,3]];

polyhedron(pl,fl);
}

it has to be bent in a number of places.

• It starts off as rotate ([0,0,-5]) st_lever() -

It then has to be bent // to the x axis at x=48.5 for a distance of
10.5, then back at 45 deg for 4 or 5 inches, then // to x axis again
at a -y distance of 1.25 from axis. (then a bit further on it is bent
down).

Is there another way of doing this, other than either calculating the
xyz values at each bend location and making the polygon more
complicated, or using difference or intersection with cubes, say, to
split the lever into sections and stitch them together in the desired
profile? The attached jpg is what I'm working from (I'm not worried
about the loop at the end, nor the exact dimensions, it has to 'look
right', however.)

Actually Ray, that looks like a job for a blacksmith. Once the square
drive on the end is milled, the rest of it looks like a job for a smith
wrench in artistic hands.

I did stuff like that in a past life 65+ years ago while pulling wrenches
& doing engine swaps, but haven't had gas bottles for my torch in nearly
that long.

Memory trigger: Last engine swap I did turned a ford wagon, your basic
grocery getter, into a concealed weapon.

Demo'ed once by getting trapped behind a loaded hay sled north of Norfolk
NE at 22 mph. I swung out and saw a hole in the on coming traffic on a 2
lane, swung back behind it to let 3 cars go by headed north, snapped to
the other lane as I gave it some good gulf, and noted as my passenger
door passed that john poppers front tires, that my speedo was up to 83
mph accompanied by still bawling Michelins. I had one of my kids onboard
with a penny stuck in his throat that was running out of time. National
55 days, but you did what you had to do. I did get him to the hospital
ER in time.

Cheers, Gene Heskett

--
Ron Wheeler
Artifact Software
438-345-3369
rwheeler@artifact-software.com

Is there any particular reason for the nice rounded bends? Are you building a replica that has to look exactly like the original or something that only has the identical functionality? If it only has to be functional, you also have opportunity to reinforce key areas in ways that would be difficult for a blacksmith. If it has to be identical in appearance, you should be able to assemble cubes (straight sections) and arcs of cylinders given the dimensions (or your revised dimensions) on the 2D drawing to make the desired 3D shape. On 2021-07-15 11:55 a.m., Gene Heskett wrote: > On Thursday 15 July 2021 09:04:42 Ray West wrote: > >> Hi, >> >> I have a tapered straight lever, given by >> >> module st_lever(){ >> >>     pl= [ >>       [2,0,-2],[92,0,-1],[92,0,1],[2,0,2], >>       [2,-1,-2],[92,-1,-1],[92,-1,1],[2,-1,2]]; >>     fl=[ >>      [0,1,2,3], >>      [4,5,1,0], >>      [7,6,5,4], >>      [5,6,2,1], >>      [6,7,3,2], >>      [7,4,0,3]]; >> >>   polyhedron(pl,fl); >> } >> >> it has to be bent in a number of places. >> >> - It starts off as rotate ([0,0,-5]) st_lever() - >> >> It then has to be bent // to the x axis at x=48.5 for a distance of >> 10.5, then back at 45 deg for 4 or 5 inches, then // to x axis again >> at a -y distance of 1.25 from axis. (then a bit further on it is bent >> down). >> >> Is there another way of doing this, other than either calculating the >> xyz values at each bend location and making the polygon more >> complicated, or using difference or intersection with cubes, say, to >> split the lever into sections and stitch them together in the desired >> profile? The attached jpg is what I'm working from (I'm not worried >> about the loop at the end, nor the exact dimensions, it has to 'look >> right', however.) > Actually Ray, that looks like a job for a blacksmith. Once the square > drive on the end is milled, the rest of it looks like a job for a smith > wrench in artistic hands. > > I did stuff like that in a past life 65+ years ago while pulling wrenches > & doing engine swaps, but haven't had gas bottles for my torch in nearly > that long. > > Memory trigger: Last engine swap I did turned a ford wagon, your basic > grocery getter, into a concealed weapon. > > Demo'ed once by getting trapped behind a loaded hay sled north of Norfolk > NE at 22 mph. I swung out and saw a hole in the on coming traffic on a 2 > lane, swung back behind it to let 3 cars go by headed north, snapped to > the other lane as I gave it some good gulf, and noted as my passenger > door passed that john poppers front tires, that my speedo was up to 83 > mph accompanied by still bawling Michelins. I had one of my kids onboard > with a penny stuck in his throat that was running out of time. National > 55 days, but you did what you had to do. I did get him to the hospital > ER in time. > > Cheers, Gene Heskett -- Ron Wheeler Artifact Software 438-345-3369 rwheeler@artifact-software.com
L
larry
Thu, Jul 15, 2021 7:58 PM

On Thu, 2021-07-15 at 08:46 -0500, Father Horton wrote:

Do a side view in 2D and linear extrude it. Do a top view in 2D and
linear extrude it. Then rotate one and take the intersection.

Wow! I have hardly ever used intersection, and never saw that much of a
use for it.

What you just said blew my mind!

So I decided to give it a try. Here's what I did, starting at 12:45 and
ending up with an OpenSCAD result.

1. Loaded Ray's lever.jpg into Inkscape.
2. made another layer, and locked layer 1.
3. On layer 2, drew bezier straight lines for the top and front views.
4. Used Edit path nodes to shape the curves.
5. Deleted the image.
6. Deleted the top view.
7. Saved lever_side.svg.
8. Restored the top view.
9. Deleted the side view.
10. Opened my favourite CAD program.
11. Imported both files into it.

After much fiddling (because of rotate/translate orders, etc.), I came
up with the following script:

intersection() {
top();
front();
}

module top() {
linear_extrude(100)
scale([1,1,1])
import("/home/larry/handle_top.svg",center=true);
}

module front() {
rotate([90,0,0])
translate([-48.5,40,-50])
linear_extrude(100)
import("/home/larry/handle_side.svg");
}

And it produced attached result.

Did I say "WOW!"?
Thanks for the great tip.

On Thu, 2021-07-15 at 08:46 -0500, Father Horton wrote: > Do a side view in 2D and linear extrude it. Do a top view in 2D and > linear extrude it. Then rotate one and take the intersection. Wow! I have hardly ever used intersection, and never saw that much of a use for it. What you just said blew my mind! So I decided to give it a try. Here's what I did, starting at 12:45 and ending up with an OpenSCAD result. 1. Loaded Ray's lever.jpg into Inkscape. 2. made another layer, and locked layer 1. 3. On layer 2, drew bezier straight lines for the top and front views. 3. Used Edit path nodes to shape the curves. 4. Deleted the image. 5. Deleted the top view. 6. Saved lever_side.svg. 7. Restored the top view. 8. Deleted the side view. 9. Opened my favourite CAD program. 10. Imported both files into it. After much fiddling (because of rotate/translate orders, etc.), I came up with the following script: intersection() { top(); front(); } module top() { linear_extrude(100) scale([1,1,1]) import("/home/larry/handle_top.svg",center=true); } module front() { rotate([90,0,0]) translate([-48.5,40,-50]) linear_extrude(100) import("/home/larry/handle_side.svg"); } And it produced attached result. Did I say "WOW!"? Thanks for the great tip.
L
larry
Thu, Jul 15, 2021 8:13 PM

On Thu, 2021-07-15 at 13:58 -0600, larry wrote:

So I decided to give it a try. Here's what I did, starting at 12:45
and ending up with an OpenSCAD result.

Forgot to mention. I finished it at 13:32.

On Thu, 2021-07-15 at 13:58 -0600, larry wrote: > So I decided to give it a try. Here's what I did, starting at 12:45 > and ending up with an OpenSCAD result. Forgot to mention. I finished it at 13:32.
FH
Father Horton
Thu, Jul 15, 2021 8:27 PM

I guess all those years of playing with Legos helped my 3D imagination :)

On Thu, Jul 15, 2021 at 3:13 PM larry lar3ry@sasktel.net wrote:

On Thu, 2021-07-15 at 13:58 -0600, larry wrote:

So I decided to give it a try. Here's what I did, starting at 12:45
and ending up with an OpenSCAD result.

Forgot to mention. I finished it at 13:32.

To unsubscribe send an email to discuss-leave@lists.openscad.org

I guess all those years of playing with Legos helped my 3D imagination :) On Thu, Jul 15, 2021 at 3:13 PM larry <lar3ry@sasktel.net> wrote: > On Thu, 2021-07-15 at 13:58 -0600, larry wrote: > > So I decided to give it a try. Here's what I did, starting at 12:45 > > and ending up with an OpenSCAD result. > > Forgot to mention. I finished it at 13:32. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
MM
Michael Möller
Thu, Jul 15, 2021 9:15 PM

Ding! Achievment unlocked: OpenSCAD level III

:-) Actually quite nice, levering (ha!) Inkscape into it

Michael, fra mobilen

tor. 15. jul. 2021 21.59 skrev larry lar3ry@sasktel.net:

On Thu, 2021-07-15 at 08:46 -0500, Father Horton wrote:

Do a side view in 2D and linear extrude it. Do a top view in 2D and
linear extrude it. Then rotate one and take the intersection.

Wow! I have hardly ever used intersection, and never saw that much of a
use for it.

What you just said blew my mind!

So I decided to give it a try. Here's what I did, starting at 12:45 and
ending up with an OpenSCAD result.

1. Loaded Ray's lever.jpg into Inkscape.
2. made another layer, and locked layer 1.
3. On layer 2, drew bezier straight lines for the top and front views.
4. Used Edit path nodes to shape the curves.
5. Deleted the image.
6. Deleted the top view.
7. Saved lever_side.svg.
8. Restored the top view.
9. Deleted the side view.
10. Opened my favourite CAD program.
11. Imported both files into it.

After much fiddling (because of rotate/translate orders, etc.), I came
up with the following script:

intersection() {
top();
front();
}

module top() {
linear_extrude(100)
scale([1,1,1])
import("/home/larry/handle_top.svg",center=true);
}

module front() {
rotate([90,0,0])
translate([-48.5,40,-50])
linear_extrude(100)
import("/home/larry/handle_side.svg");
}

And it produced attached result.

Did I say "WOW!"?
Thanks for the great tip.

To unsubscribe send an email to discuss-leave@lists.openscad.org

Ding! Achievment unlocked: OpenSCAD level III :-) Actually quite nice, levering (ha!) Inkscape into it Michael, fra mobilen tor. 15. jul. 2021 21.59 skrev larry <lar3ry@sasktel.net>: > On Thu, 2021-07-15 at 08:46 -0500, Father Horton wrote: > > Do a side view in 2D and linear extrude it. Do a top view in 2D and > > linear extrude it. Then rotate one and take the intersection. > > Wow! I have hardly ever used intersection, and never saw that much of a > use for it. > > What you just said blew my mind! > > So I decided to give it a try. Here's what I did, starting at 12:45 and > ending up with an OpenSCAD result. > > 1. Loaded Ray's lever.jpg into Inkscape. > 2. made another layer, and locked layer 1. > 3. On layer 2, drew bezier straight lines for the top and front views. > 3. Used Edit path nodes to shape the curves. > 4. Deleted the image. > 5. Deleted the top view. > 6. Saved lever_side.svg. > 7. Restored the top view. > 8. Deleted the side view. > 9. Opened my favourite CAD program. > 10. Imported both files into it. > > After much fiddling (because of rotate/translate orders, etc.), I came > up with the following script: > > intersection() { > top(); > front(); > } > > module top() { > linear_extrude(100) > scale([1,1,1]) > import("/home/larry/handle_top.svg",center=true); > } > > module front() { > rotate([90,0,0]) > translate([-48.5,40,-50]) > linear_extrude(100) > import("/home/larry/handle_side.svg"); > } > > And it produced attached result. > > Did I say "WOW!"? > Thanks for the great tip. > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
L
larry
Thu, Jul 15, 2021 11:04 PM

On Thu, 2021-07-15 at 23:15 +0200, Michael Möller wrote:

Ding! Achievment unlocked: OpenSCAD level III

Heh!

:-) Actually quite nice, levering (ha!) Inkscape into it

I use Inkscape a lot when I am designing in 2D, unless it's simple
circles. rectangles, etc.

And I wouldn't even think about using OpenSCAD to draw something like
that lever. Especially if I already have a picture I can trace over.

On Thu, 2021-07-15 at 23:15 +0200, Michael Möller wrote: > Ding! Achievment unlocked: OpenSCAD level III Heh! > :-) Actually quite nice, levering (ha!) Inkscape into it I use Inkscape a lot when I am designing in 2D, unless it's simple circles. rectangles, etc. And I wouldn't even think about using OpenSCAD to draw something like that lever. Especially if I already have a picture I can trace over.
RW
Ray West
Thu, Jul 15, 2021 11:14 PM

Thanks for all your comments and suggestions. It is actually part of the
brakework for a rch standard 12 ton railway wagon (circa 1923). I am
trying to replicate the whole wagon as accurately as I can, using
openscad. My aim is to be able to 3d print either all, or parts, at
various scales, as required. I think it would be easier to build the
full size wagon. As it is fdm printing, then when scaled, parts have to
be thickened or deleted, depending on the scale and detail required. At
the smaller scales, (less than 7mm/ft) the brakes will not be operable,
and it is unlikely that at any larger scale that 3d printing would be
used for that detail.

Do a side view in 2D and linear extrude it. Do a top view in 2D and
linear extrude it. Then rotate one and take the intersection.

would work good enough in this example, but generating two polygons
would be just as tedious as a single polyhedron, I guess, and it does
not work so well for twisted shapes, (i.e, bends, tubes,etc, not lining
up with the axis. ) I'm not sure if the drawing is to scale, but
possibly good enough to copy the jpg into some other drawing program and
produce a couple of dxf files.

I am struggling with producing a more generic bend/fold method, but I
think by putting on some restrictions e.g., number of bends, length of
shaft, etc, I may get something more or less useable. Any errors, tend
to disappear at a small scale, as does a lot of detail. The detail has
to be exaggerated, hopefully not the errors.

Of course, at the end of the day, it may look awful when printed, it
will need supports/whatever, since most likely it will be combined with
other components, so I may revert to folding etched or milled brass. Or,
most likely, once I've worked out how to do it, I'll go onto something
else - and save some plastic.

Best wishes,

Ray

Thanks for all your comments and suggestions. It is actually part of the brakework for a rch standard 12 ton railway wagon (circa 1923). I am trying to replicate the whole wagon as accurately as I can, using openscad. My aim is to be able to 3d print either all, or parts, at various scales, as required. I think it would be easier to build the full size wagon. As it is fdm printing, then when scaled, parts have to be thickened or deleted, depending on the scale and detail required. At the smaller scales, (less than 7mm/ft) the brakes will not be operable, and it is unlikely that at any larger scale that 3d printing would be used for that detail. > Do a side view in 2D and linear extrude it. Do a top view in 2D and > linear extrude it. Then rotate one and take the intersection. would work good enough in this example, but generating two polygons would be just as tedious as a single polyhedron, I guess, and it does not work so well for twisted shapes, (i.e, bends, tubes,etc, not lining up with the axis. ) I'm not sure if the drawing is to scale, but possibly good enough to copy the jpg into some other drawing program and produce a couple of dxf files. I am struggling with producing a more generic bend/fold method, but I think by putting on some restrictions e.g., number of bends, length of shaft, etc, I may get something more or less useable. Any errors, tend to disappear at a small scale, as does a lot of detail. The detail has to be exaggerated, hopefully not the errors. Of course, at the end of the day, it may look awful when printed, it will need supports/whatever, since most likely it will be combined with other components, so I may revert to folding etched or milled brass. Or, most likely, once I've worked out how to do it, I'll go onto something else - and save some plastic. Best wishes, Ray