Nabble has removed Mailing-list integration.
Posts created here DO NOT GET SENT TO THE MAILING LIST.
Mailing-list emails DO NOT GET POSTED TO THE FORUM.
So basically the Forum is now out of date, we are looking into migrating the history.

# Tangential join/infill two parallel vertical cylindrical tubes.

 Classic List Threaded
38 messages
12
Reply | Threaded
Open this post in threaded view
|

## Tangential join/infill two parallel vertical cylindrical tubes.

 I have 2 parallel vertical cylinders with different diameters that are adjacent and touching.  I want to fill the space 'between' the cylinders to join them securely.  I did think about creating a polygon block that I join with the two cylinders before taking the inner cylinders away to make a straight edge join but I thought this is a simple enough model to learn how to use the roundanything library  to create a fill with a radius of my choosing.  However , being a noob, Not sure where to start.back story: The larger cylinder fits over my monitor stand.  The smaller Cylinder is for an anglepoise arm for a webcam/ video light.  I just need to be able to join them nicely so that they don't break apart.Here's what I've got so far.:include ;\$fn=10;br=32;sr=12.3;bw=5;sw=4;height=12;boundingEnvelope=[50,50,50];OR=0.7;IR=1;enable=1;minkowskiRound(OR, IR, enable, boundingEnvelope) {    union(){        translate([0,0,-10]){            difference(){                cylinder (height,br+bw,br+bw,center=true);                cylinder (height+2,br,br,center=true);            }            translate([br+sr+sw+bw,0,0]){                difference(){                    cylinder (height,sr+sw,sr+sw,center=true);                    cylinder (height+2,sr,sr,center=true);                }            }        }    }}But I just get a spinning circle on my Mac.  not sure how the bounding envelope works or how long I should expect to wait for a result.Any help appreciated:Chris Johnson _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Tangential join/infill two parallel vertical cylindrical tubes.

 Sounds like you're looking for hull().  See below.  Note I put the cylinders at the same height, unlike your original example.  If you want them at different heights then I'm not sure what exactly you are after.   Note that minkowski round calls the slowest function in OpenSCAD 3 times.  You might have to wait an hour.  It's not really practical.   I think boundingEnvelope is the bounding box for your model.   And the output you'll get will be a rounded version of your model, not a version with the space between the cylinders filled in.   \$fn=10; br=32; sr=12.3; bw=5; sw=4; height=12; difference(){   hull(){     cylinder (height,br+bw,br+bw,center=true);     translate([br+sr+sw+bw,0,0]) cylinder (height,sr+sw,sr+sw,center=true);   }   translate([br+sr+sw+bw,0,0]) cylinder (height+2,sr,sr,center=true);   cylinder (height+2,br,br,center=true); } OpenSCAD mailing list-2 wrote I have 2 parallel vertical cylinders with different diameters that are adjacent and touching.  I want to fill the space 'between' the cylinders to join them securely.  I did think about creating a polygon block that I join with the two cylinders before taking the inner cylinders away to make a straight edge join but I thought this is a simple enough model to learn how to use the roundanything library  to create a fill with a radius of my choosing.  However , being a noob, Not sure where to start. back story: The larger cylinder fits over my monitor stand.  The smaller Cylinder is for an anglepoise arm for a webcam/ video light.  I just need to be able to join them nicely so that they don't break apart. Here's what I've got so far.: include ; \$fn=10; br=32; sr=12.3; bw=5; sw=4; height=12; boundingEnvelope=[50,50,50]; OR=0.7; IR=1; enable=1; minkowskiRound(OR, IR, enable, boundingEnvelope) {     union(){         translate([0,0,-10]){             difference(){                 cylinder (height,br+bw,br+bw,center=true);                 cylinder (height+2,br,br,center=true);             }             translate([br+sr+sw+bw,0,0]){                 difference(){                     cylinder (height,sr+sw,sr+sw,center=true);                     cylinder (height+2,sr,sr,center=true);                 }             }         }     } } But I just get a spinning circle on my Mac. not sure how the bounding envelope works or how long I should expect to wait for a result. Any help appreciated: Chris Johnson _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email] Sent from the OpenSCAD mailing list archive at Nabble.com._______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Tangential join/infill two parallel vertical cylindrical tubes.

 In reply to this post by OpenSCAD mailing list-2 Is this good enough? You can play with the sizes, and extrude the parts separately if you want, make a prettier infill.. hole1 =10; //diameter of small hole hole2 = 15;// diameter of large hole wall=3;// thickness of wall height =50; //height of piece      // position holes module holes(){      circle (d=hole1);      translate ([(hole1+hole2)/2,0])circle (d=hole2); }     // get solids module skin(){      circle (d=hole1 + wall+wall);      translate([(hole1+hole2)/2,0])circle (d=hole2+wall+wall);      //add in filler         filler();         mirror([0,1,0])filler(); }     // make wedged shaped filler module filler(){ polygon(points=[[0,0],[(hole1+hole2)/2,0],[(hole1+hole2)/2,hole2/2+wall],[0,hole1/2+wall]]); } \$fn =80; linear_extrude(height)        difference (){           skin();           holes(); } On 19/04/2021 23:49, Chris Johnson via Discuss wrote: > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to [hidden email] _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Tangential join/infill two parallel vertical cylindrical tubes.

 In reply to this post by OpenSCAD mailing list-2 Try making 2D first. Two circles, use offset to create an inside radius (first offset -radius, then offset +radius), then linear_extrude to make it 3D. Sent from the OpenSCAD mailing list archive at Nabble.com._______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Tangential join/infill two parallel vertical cylindrical tubes.

 In reply to this post by OpenSCAD mailing list-2 AdrianV, Ray West, TrobergThanks for all your suggestions! :-)  I now understand at least two new ways of reaching my goal; hull, linear_extrude and mirror.  Just need to focus on the maths now.  The vertical offset was left over from some tests I did and shouldn't have been in the original code but I've put it in to the Hull based model  now, added an additional  horizontal spacing between the vertical cylinder centres (to allow swing room for the arm) and am now trying to work out the maths to ensure that the cylinders that cut the holes are the right length.  Yes, I could make them silly long so they definitely cut right through  but its all part of the challenge.  Thanks, all, for your ideas. ChrisOn Tue, 20 Apr 2021 at 08:36, <[hidden email]> wrote:Send Discuss mailing list submissions to         [hidden email] To subscribe or unsubscribe via email, send a message with subject or body 'help' to         [hidden email] You can reach the person managing the list at         [hidden email] When replying, please edit your Subject line so it is more specific than "Re: Contents of Discuss digest..." Today's Topics:    1. Tangential join/infill two parallel vertical cylindrical tubes.       (Chris Johnson)    2. Re: Tangential join/infill two parallel vertical cylindrical tubes.       (adrianv)    3. Re: Tangential join/infill two parallel vertical cylindrical tubes.       (Ray West)    4. Re: Tangential join/infill two parallel vertical cylindrical tubes.       (Troberg)    5. Meassuerments workarround (Karl Exler) ---------------------------------------------------------------------- Message: 1 Date: Mon, 19 Apr 2021 23:49:30 +0100 From: Chris Johnson <[hidden email]> Subject: [OpenSCAD] Tangential join/infill two parallel vertical         cylindrical tubes. To: [hidden email] Message-ID:         <[hidden email]> Content-Type: multipart/alternative;         boundary="000000000000b02fc605c05b2694" I have 2 parallel vertical cylinders with different diameters that are adjacent and touching.  I want to fill the space 'between' the cylinders to join them securely.  I did think about creating a polygon block that I join with the two cylinders before taking the inner cylinders away to make a straight edge join but I thought this is a simple enough model to learn how to use the roundanything library  to create a fill with a radius of my choosing.  However , being a noob, Not sure where to start. back story: The larger cylinder fits over my monitor stand.  The smaller Cylinder is for an anglepoise arm for a webcam/ video light.  I just need to be able to join them nicely so that they don't break apart. Here's what I've got so far.: include ; \$fn=10; br=32; sr=12.3; bw=5; sw=4; height=12; boundingEnvelope=[50,50,50]; OR=0.7; IR=1; enable=1; minkowskiRound(OR, IR, enable, boundingEnvelope) {     union(){         translate([0,0,-10]){             difference(){                 cylinder (height,br+bw,br+bw,center=true);                 cylinder (height+2,br,br,center=true);             }             translate([br+sr+sw+bw,0,0]){                 difference(){                     cylinder (height,sr+sw,sr+sw,center=true);                     cylinder (height+2,sr,sr,center=true);                 }             }         }     } } But I just get a spinning circle on my Mac. not sure how the bounding envelope works or how long I should expect to wait for a result. Any help appreciated: Chris Johnson -------------- next part -------------- A message part incompatible with plain text digests has been removed ... Name: not available Type: text/html Size: 1996 bytes Desc: not available ------------------------------ Message: 2 Date: Mon, 19 Apr 2021 16:42:10 -0700 (MST) From: adrianv <[hidden email]> Subject: [OpenSCAD] Re: Tangential join/infill two parallel vertical         cylindrical tubes. To: [hidden email] Message-ID: <[hidden email]> Content-Type: multipart/alternative;         boundary="----=_Part_457354_367848959.1618875730137" Sounds like you're looking for hull().  See below.  Note I put the cylinders at the same height, unlike your original example.  If you want them at different heights then I'm not sure what exactly you are after.  Note that minkowski round calls the slowest function in OpenSCAD 3 times. You might have to wait an hour.  It's not really practical.   I think boundingEnvelope is the bounding box for your model.   And the output you'll get will be a rounded version of your model, not a version with the space between the cylinders filled in.  \$fn=10; br=32; sr=12.3; bw=5; sw=4; height=12; difference(){   hull(){     cylinder (height,br+bw,br+bw,center=true);     translate([br+sr+sw+bw,0,0]) cylinder (height,sr+sw,sr+sw,center=true);   }   translate([br+sr+sw+bw,0,0]) cylinder (height+2,sr,sr,center=true);   cylinder (height+2,br,br,center=true); } OpenSCAD mailing list-2 wrote > I have 2 parallel vertical cylinders with different diameters that are > adjacent and touching.  I want to fill the space 'between' the cylinders > to > join them securely.  I did think about creating a polygon block that I > join > with the two cylinders before taking the inner cylinders away to make a > straight edge join but I thought this is a simple enough model to learn > how > to use the roundanything library  to create a fill with a radius of my > choosing.  However , being a noob, Not sure where to start. > > back story: The larger cylinder fits over my monitor stand.  The smaller > Cylinder is for an anglepoise arm for a webcam/ video light.  I just need > to be able to join them nicely so that they don't break apart. > Here's what I've got so far.: > > include <Round-Anything/MinkowskiRound.scad>; > \$fn=10; > br=32; > sr=12.3; > bw=5; > sw=4; > height=12; > boundingEnvelope=[50,50,50]; > OR=0.7; > IR=1; > enable=1; > > minkowskiRound(OR, IR, enable, boundingEnvelope) { >     union(){ >         translate([0,0,-10]){ >             difference(){ >                 cylinder (height,br+bw,br+bw,center=true); >                 cylinder (height+2,br,br,center=true); >             } >             translate([br+sr+sw+bw,0,0]){ >                 difference(){ >                     cylinder (height,sr+sw,sr+sw,center=true); >                     cylinder (height+2,sr,sr,center=true); >                 } >             } >         } >     } > } > > But I just get a spinning circle on my Mac. > not sure how the bounding envelope works or how long I should expect to > wait for a result. > > Any help appreciated: > > Chris Johnson > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to > discuss-leave@.openscad -- Sent from: http://forum.openscad.org/-------------- next part -------------- A message part incompatible with plain text digests has been removed ... Name: not available Type: text/html Size: 4020 bytes Desc: not available ------------------------------ Message: 3 Date: Tue, 20 Apr 2021 03:03:46 +0100 From: Ray West <[hidden email]> Subject: [OpenSCAD] Re: Tangential join/infill two parallel vertical         cylindrical tubes. To: [hidden email] Message-ID: <[hidden email]> Content-Type: text/plain; charset=windows-1252; format=flowed Is this good enough? You can play with the sizes, and extrude the parts separately if you want, make a prettier infill.. hole1 =10; //diameter of small hole hole2 = 15;// diameter of large hole wall=3;// thickness of wall height =50; //height of piece      // position holes module holes(){      circle (d=hole1);      translate ([(hole1+hole2)/2,0])circle (d=hole2); }     // get solids module skin(){      circle (d=hole1 + wall+wall);      translate([(hole1+hole2)/2,0])circle (d=hole2+wall+wall);      //add in filler         filler();         mirror([0,1,0])filler(); }     // make wedged shaped filler module filler(){ polygon(points=[[0,0],[(hole1+hole2)/2,0],[(hole1+hole2)/2,hole2/2+wall],[0,hole1/2+wall]]); } \$fn =80; linear_extrude(height)        difference (){           skin();           holes(); } On 19/04/2021 23:49, Chris Johnson via Discuss wrote: > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to [hidden email] ------------------------------ Message: 4 Date: Mon, 19 Apr 2021 23:39:04 -0700 (MST) From: Troberg <[hidden email]> Subject: [OpenSCAD] Re: Tangential join/infill two parallel vertical         cylindrical tubes. To: [hidden email] Message-ID: <[hidden email]> Content-Type: multipart/alternative;         boundary="----=_Part_459015_942237708.1618900744377" Try making 2D first. Two circles, use offset to create an inside radius (first offset -radius, then offset +radius), then linear_extrude to make it 3D. -- Sent from: http://forum.openscad.org/-------------- next part -------------- A message part incompatible with plain text digests has been removed ... Name: not available Type: text/html Size: 300 bytes Desc: not available ------------------------------ Message: 5 Date: Mon, 19 Apr 2021 23:49:55 -0700 (MST) From: Karl Exler <[hidden email]> Subject: [OpenSCAD] Meassuerments workarround To: [hidden email] Message-ID: <[hidden email]> Content-Type: multipart/alternative;         boundary="----=_Part_459062_357729467.1618901395764" Dear friends I never had such a strong learning curve with OpenScad. It is 100% the tool I looked ever.. I can do all my drafts and ideas in a very short time. The only thing I miss is MEASSUREMENTs. As far I could found out there is no convenient way to add meassurement to my constructions So I guess there should be an easy was to export my construction and import it in LibreCad or Freecad (I'm using Mint). I don't need a detailed explanation but the raw steps would be great. Many Thanks Karl P.S. As I focused in trhe beginning I have no CAD experience. I'm coming from programming -- Sent from: http://forum.openscad.org/-------------- next part -------------- A message part incompatible with plain text digests has been removed ... Name: not available Type: text/html Size: 818 bytes Desc: not available ------------------------------ Subject: Digest Footer _______________________________________________ Discuss mailing list -- [hidden email] To unsubscribe send an email to [hidden email] ------------------------------ End of Discuss Digest, Vol 77, Issue 29 *************************************** _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Tangential join/infill two parallel vertical cylindrical tubes.

 The cutting cylinders need to be longer than the object they cut, *not* the precise right size, or you'll have problems with your model.  Just make them silly long.   OpenSCAD mailing list-2 wrote AdrianV, Ray West, Troberg Thanks for all your suggestions! :-)  I now understand at least two new ways of reaching my goal; hull, linear_extrude and mirror.  Just need to focus on the maths now.  The vertical offset was left over from some tests I did and shouldn't have been in the original code but I've put it in to the Hull based model  now, added an additional  horizontal spacing between the vertical cylinder centres (to allow swing room for the arm) and am now trying to work out the maths to ensure that the cylinders that cut the holes are the right length.  Yes, I could make them silly long so they definitely cut right through  but its all part of the challenge.  Thanks, all, for your ideas. Chris On Tue, 20 Apr 2021 at 08:36, <[hidden email]> wrote: > Send Discuss mailing list submissions to >         [hidden email]> > To subscribe or unsubscribe via email, send a message with subject or > body 'help' to >         [hidden email]> > You can reach the person managing the list at >         [hidden email]> > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Discuss digest..." > > Today's Topics: > >    1. Tangential join/infill two parallel vertical cylindrical tubes. >       (Chris Johnson) >    2. Re: Tangential join/infill two parallel vertical cylindrical tubes. >       (adrianv) >    3. Re: Tangential join/infill two parallel vertical cylindrical tubes. >       (Ray West) >    4. Re: Tangential join/infill two parallel vertical cylindrical tubes. >       (Troberg) >    5. Meassuerments workarround (Karl Exler) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 19 Apr 2021 23:49:30 +0100 > From: Chris Johnson <[hidden email]> > Subject: [OpenSCAD] Tangential join/infill two parallel vertical >         cylindrical tubes. > To: [hidden email]> Message-ID: >         < > [hidden email]> > Content-Type: multipart/alternative; >         boundary="000000000000b02fc605c05b2694" > > I have 2 parallel vertical cylinders with different diameters that are > adjacent and touching.  I want to fill the space 'between' the cylinders to > join them securely.  I did think about creating a polygon block that I join > with the two cylinders before taking the inner cylinders away to make a > straight edge join but I thought this is a simple enough model to learn how > to use the roundanything library  to create a fill with a radius of my > choosing.  However , being a noob, Not sure where to start. > > back story: The larger cylinder fits over my monitor stand.  The smaller > Cylinder is for an anglepoise arm for a webcam/ video light.  I just need > to be able to join them nicely so that they don't break apart. > Here's what I've got so far.: > > include ; > \$fn=10; > br=32; > sr=12.3; > bw=5; > sw=4; > height=12; > boundingEnvelope=[50,50,50]; > OR=0.7; > IR=1; > enable=1; > > minkowskiRound(OR, IR, enable, boundingEnvelope) { >     union(){ >         translate([0,0,-10]){ >             difference(){ >                 cylinder (height,br+bw,br+bw,center=true); >                 cylinder (height+2,br,br,center=true); >             } >             translate([br+sr+sw+bw,0,0]){ >                 difference(){ >                     cylinder (height,sr+sw,sr+sw,center=true); >                     cylinder (height+2,sr,sr,center=true); >                 } >             } >         } >     } > } > > But I just get a spinning circle on my Mac. > not sure how the bounding envelope works or how long I should expect to > wait for a result. > > Any help appreciated: > > Chris Johnson > -------------- next part -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 1996 bytes > Desc: not available > > ------------------------------ > > Message: 2 > Date: Mon, 19 Apr 2021 16:42:10 -0700 (MST) > From: adrianv <[hidden email]> > Subject: [OpenSCAD] Re: Tangential join/infill two parallel vertical >         cylindrical tubes. > To: [hidden email]> Message-ID: <[hidden email]> > Content-Type: multipart/alternative; >         boundary="----=_Part_457354_367848959.1618875730137" > > Sounds like you're looking for hull().  See below.  Note I put the > cylinders > at the same height, unlike your original example.  If you want them at > different heights then I'm not sure what exactly you are after. > > Note that minkowski round calls the slowest function in OpenSCAD 3 times. > You might have to wait an hour.  It's not really practical.   I think > boundingEnvelope is the bounding box for your model.   And the output > you'll > get will be a rounded version of your model, not a version with the space > between the cylinders filled in. > > \$fn=10; > br=32; > sr=12.3; > bw=5; > sw=4; > height=12; > > difference(){ >   hull(){ >     cylinder (height,br+bw,br+bw,center=true); >     translate([br+sr+sw+bw,0,0]) cylinder (height,sr+sw,sr+sw,center=true); >   } >   translate([br+sr+sw+bw,0,0]) cylinder (height+2,sr,sr,center=true); >   cylinder (height+2,br,br,center=true); > } > > > > > OpenSCAD mailing list-2 wrote > > I have 2 parallel vertical cylinders with different diameters that are > > adjacent and touching.  I want to fill the space 'between' the cylinders > > to > > join them securely.  I did think about creating a polygon block that I > > join > > with the two cylinders before taking the inner cylinders away to make a > > straight edge join but I thought this is a simple enough model to learn > > how > > to use the roundanything library  to create a fill with a radius of my > > choosing.  However , being a noob, Not sure where to start. > > > > back story: The larger cylinder fits over my monitor stand.  The smaller > > Cylinder is for an anglepoise arm for a webcam/ video light.  I just need > > to be able to join them nicely so that they don't break apart. > > Here's what I've got so far.: > > > > include ; > > \$fn=10; > > br=32; > > sr=12.3; > > bw=5; > > sw=4; > > height=12; > > boundingEnvelope=[50,50,50]; > > OR=0.7; > > IR=1; > > enable=1; > > > > minkowskiRound(OR, IR, enable, boundingEnvelope) { > >     union(){ > >         translate([0,0,-10]){ > >             difference(){ > >                 cylinder (height,br+bw,br+bw,center=true); > >                 cylinder (height+2,br,br,center=true); > >             } > >             translate([br+sr+sw+bw,0,0]){ > >                 difference(){ > >                     cylinder (height,sr+sw,sr+sw,center=true); > >                     cylinder (height+2,sr,sr,center=true); > >                 } > >             } > >         } > >     } > > } > > > > But I just get a spinning circle on my Mac. > > not sure how the bounding envelope works or how long I should expect to > > wait for a result. > > > > Any help appreciated: > > > > Chris Johnson > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to > > > discuss-leave@.openscad > > > > > > -- > Sent from: http://forum.openscad.org/-------------- next part > -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 4020 bytes > Desc: not available > > ------------------------------ > > Message: 3 > Date: Tue, 20 Apr 2021 03:03:46 +0100 > From: Ray West <[hidden email]> > Subject: [OpenSCAD] Re: Tangential join/infill two parallel vertical >         cylindrical tubes. > To: [hidden email]> Message-ID: <[hidden email]> > Content-Type: text/plain; charset=windows-1252; format=flowed > > Is this good enough? You can play with the sizes, and extrude the parts > separately if you want, make a prettier infill.. > > > hole1 =10; //diameter of small hole > hole2 = 15;// diameter of large hole > wall=3;// thickness of wall > height =50; //height of piece > >      // position holes > module holes(){ >      circle (d=hole1); >      translate ([(hole1+hole2)/2,0])circle (d=hole2); > } > >     // get solids > module skin(){ >      circle (d=hole1 + wall+wall); >      translate([(hole1+hole2)/2,0])circle (d=hole2+wall+wall); >      //add in filler >         filler(); >         mirror([0,1,0])filler(); > } > >     // make wedged shaped filler > module filler(){ > > polygon(points=[[0,0],[(hole1+hole2)/2,0],[(hole1+hole2)/2,hole2/2+wall],[0,hole1/2+wall]]); > } > > \$fn =80; > > linear_extrude(height) >        difference (){ >           skin(); >           holes(); > } > > > > On 19/04/2021 23:49, Chris Johnson via Discuss wrote: > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to [hidden email]> > ------------------------------ > > Message: 4 > Date: Mon, 19 Apr 2021 23:39:04 -0700 (MST) > From: Troberg <[hidden email]> > Subject: [OpenSCAD] Re: Tangential join/infill two parallel vertical >         cylindrical tubes. > To: [hidden email]> Message-ID: <[hidden email]> > Content-Type: multipart/alternative; >         boundary="----=_Part_459015_942237708.1618900744377" > > Try making 2D first. Two circles, use offset to create an inside radius > (first offset -radius, then offset +radius), then linear_extrude to make it > 3D. > > > > -- > Sent from: http://forum.openscad.org/-------------- next part > -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 300 bytes > Desc: not available > > ------------------------------ > > Message: 5 > Date: Mon, 19 Apr 2021 23:49:55 -0700 (MST) > From: Karl Exler <[hidden email]> > Subject: [OpenSCAD] Meassuerments workarround > To: [hidden email]> Message-ID: <[hidden email]> > Content-Type: multipart/alternative; >         boundary="----=_Part_459062_357729467.1618901395764" > > Dear friends > > I never had such a strong learning curve with OpenScad. It is 100% the tool > I looked ever.. I can do all my drafts and ideas in a very short time. > > The only thing I miss is MEASSUREMENTs. > > As far I could found out there is no convenient way to add meassurement to > my constructions > > So I guess there should be an easy was to export my construction and import > it in LibreCad or Freecad (I'm using Mint). > > I don't need a detailed explanation but the raw steps would be great. > > Many Thanks > Karl > > P.S. > As I focused in trhe beginning I have no CAD experience. I'm coming from > programming > > > > -- > Sent from: http://forum.openscad.org/-------------- next part > -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 818 bytes > Desc: not available > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Discuss mailing list -- [hidden email]> To unsubscribe send an email to [hidden email]> > > ------------------------------ > > End of Discuss Digest, Vol 77, Issue 29 > *************************************** > _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email] Sent from the OpenSCAD mailing list archive at Nabble.com._______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Tangential join/infill two parallel vertical cylindrical tubes.

 If you do a 2d drawing of the extrusion profile, and extrude, you have no problem wrt the length of the hole. The example I previously posted,  a separation value can be added, and modify each translation value for x  in the modules (and also the 'wedge polygon). If you are fussy about the tangent, then you could remove (or not bother)  the 'filler' module, and its references, and  replace the code after the '\$fn=80;' by difference(){ hull(){     linear_extrude(height)     skin(); } translate([0,0,-height])linear_extrude(height*3)holes(); } you need longer holes in 3d if you want to be sure that' it knows the holes go right through', and making them three times longer and translating back one length, is the easiest. On 20/04/2021 11:54, adrianv wrote: The cutting cylinders need to be longer than the object they cut, *not* the precise right size, or you'll have problems with your model.  Just make them silly long.   OpenSCAD mailing list-2 wrote AdrianV, Ray West, Troberg Thanks for all your suggestions! :-)  I now understand at least two new ways of reaching my goal; hull, linear_extrude and mirror.  Just need to focus on the maths now.  The vertical offset was left over from some tests I did and shouldn't have been in the original code but I've put it in to the Hull based model  now, added an additional  horizontal spacing between the vertical cylinder centres (to allow swing room for the arm) and am now trying to work out the maths to ensure that the cylinders that cut the holes are the right length.  Yes, I could make them silly long so they definitely cut right through  but its all part of the challenge.  Thanks, all, for your ideas. Chris On Tue, 20 Apr 2021 at 08:36, <[hidden email]> wrote: > Send Discuss mailing list submissions to >         [hidden email] > > To subscribe or unsubscribe via email, send a message with subject or > body 'help' to >         [hidden email] > > You can reach the person managing the list at >         [hidden email] > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Discuss digest..." > > Today's Topics: > >    1. Tangential join/infill two parallel vertical cylindrical tubes. >       (Chris Johnson) >    2. Re: Tangential join/infill two parallel vertical cylindrical tubes. >       (adrianv) >    3. Re: Tangential join/infill two parallel vertical cylindrical tubes. >       (Ray West) >    4. Re: Tangential join/infill two parallel vertical cylindrical tubes. >       (Troberg) >    5. Meassuerments workarround (Karl Exler) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 19 Apr 2021 23:49:30 +0100 > From: Chris Johnson <[hidden email]> > Subject: [OpenSCAD] Tangential join/infill two parallel vertical >         cylindrical tubes. > To: [hidden email] > Message-ID: >         < > [hidden email]> > Content-Type: multipart/alternative; >         boundary="000000000000b02fc605c05b2694" > > I have 2 parallel vertical cylinders with different diameters that are > adjacent and touching.  I want to fill the space 'between' the cylinders to > join them securely.  I did think about creating a polygon block that I join > with the two cylinders before taking the inner cylinders away to make a > straight edge join but I thought this is a simple enough model to learn how > to use the roundanything library  to create a fill with a radius of my > choosing.  However , being a noob, Not sure where to start. > > back story: The larger cylinder fits over my monitor stand.  The smaller > Cylinder is for an anglepoise arm for a webcam/ video light.  I just need > to be able to join them nicely so that they don't break apart. > Here's what I've got so far.: > > include ; > \$fn=10; > br=32; > sr=12.3; > bw=5; > sw=4; > height=12; > boundingEnvelope=[50,50,50]; > OR=0.7; > IR=1; > enable=1; > > minkowskiRound(OR, IR, enable, boundingEnvelope) { >     union(){ >         translate([0,0,-10]){ >             difference(){ >                 cylinder (height,br+bw,br+bw,center=true); >                 cylinder (height+2,br,br,center=true); >             } >             translate([br+sr+sw+bw,0,0]){ >                 difference(){ >                     cylinder (height,sr+sw,sr+sw,center=true); >                     cylinder (height+2,sr,sr,center=true); >                 } >             } >         } >     } > } > > But I just get a spinning circle on my Mac. > not sure how the bounding envelope works or how long I should expect to > wait for a result. > > Any help appreciated: > > Chris Johnson > -------------- next part -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 1996 bytes > Desc: not available > > ------------------------------ > > Message: 2 > Date: Mon, 19 Apr 2021 16:42:10 -0700 (MST) > From: adrianv <[hidden email]> > Subject: [OpenSCAD] Re: Tangential join/infill two parallel vertical >         cylindrical tubes. > To: [hidden email] > Message-ID: <[hidden email]> > Content-Type: multipart/alternative; >         boundary="----=_Part_457354_367848959.1618875730137" > > Sounds like you're looking for hull().  See below.  Note I put the > cylinders > at the same height, unlike your original example.  If you want them at > different heights then I'm not sure what exactly you are after. > > Note that minkowski round calls the slowest function in OpenSCAD 3 times. > You might have to wait an hour.  It's not really practical.   I think > boundingEnvelope is the bounding box for your model.   And the output > you'll > get will be a rounded version of your model, not a version with the space > between the cylinders filled in. > > \$fn=10; > br=32; > sr=12.3; > bw=5; > sw=4; > height=12; > > difference(){ >   hull(){ >     cylinder (height,br+bw,br+bw,center=true); >     translate([br+sr+sw+bw,0,0]) cylinder (height,sr+sw,sr+sw,center=true); >   } >   translate([br+sr+sw+bw,0,0]) cylinder (height+2,sr,sr,center=true); >   cylinder (height+2,br,br,center=true); > } > > > > > OpenSCAD mailing list-2 wrote > > I have 2 parallel vertical cylinders with different diameters that are > > adjacent and touching.  I want to fill the space 'between' the cylinders > > to > > join them securely.  I did think about creating a polygon block that I > > join > > with the two cylinders before taking the inner cylinders away to make a > > straight edge join but I thought this is a simple enough model to learn > > how > > to use the roundanything library  to create a fill with a radius of my > > choosing.  However , being a noob, Not sure where to start. > > > > back story: The larger cylinder fits over my monitor stand.  The smaller > > Cylinder is for an anglepoise arm for a webcam/ video light.  I just need > > to be able to join them nicely so that they don't break apart. > > Here's what I've got so far.: > > > > include ; > > \$fn=10; > > br=32; > > sr=12.3; > > bw=5; > > sw=4; > > height=12; > > boundingEnvelope=[50,50,50]; > > OR=0.7; > > IR=1; > > enable=1; > > > > minkowskiRound(OR, IR, enable, boundingEnvelope) { > >     union(){ > >         translate([0,0,-10]){ > >             difference(){ > >                 cylinder (height,br+bw,br+bw,center=true); > >                 cylinder (height+2,br,br,center=true); > >             } > >             translate([br+sr+sw+bw,0,0]){ > >                 difference(){ > >                     cylinder (height,sr+sw,sr+sw,center=true); > >                     cylinder (height+2,sr,sr,center=true); > >                 } > >             } > >         } > >     } > > } > > > > But I just get a spinning circle on my Mac. > > not sure how the bounding envelope works or how long I should expect to > > wait for a result. > > > > Any help appreciated: > > > > Chris Johnson > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to > > > [hidden email] > > > > > > -- > Sent from: http://forum.openscad.org/-------------- next part > -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 4020 bytes > Desc: not available > > ------------------------------ > > Message: 3 > Date: Tue, 20 Apr 2021 03:03:46 +0100 > From: Ray West <[hidden email]> > Subject: [OpenSCAD] Re: Tangential join/infill two parallel vertical >         cylindrical tubes. > To: [hidden email] > Message-ID: <[hidden email]> > Content-Type: text/plain; charset=windows-1252; format=flowed > > Is this good enough? You can play with the sizes, and extrude the parts > separately if you want, make a prettier infill.. > > > hole1 =10; //diameter of small hole > hole2 = 15;// diameter of large hole > wall=3;// thickness of wall > height =50; //height of piece > >      // position holes > module holes(){ >      circle (d=hole1); >      translate ([(hole1+hole2)/2,0])circle (d=hole2); > } > >     // get solids > module skin(){ >      circle (d=hole1 + wall+wall); >      translate([(hole1+hole2)/2,0])circle (d=hole2+wall+wall); >      //add in filler >         filler(); >         mirror([0,1,0])filler(); > } > >     // make wedged shaped filler > module filler(){ > > polygon(points=[[0,0],[(hole1+hole2)/2,0],[(hole1+hole2)/2,hole2/2+wall],[0,hole1/2+wall]]); > } > > \$fn =80; > > linear_extrude(height) >        difference (){ >           skin(); >           holes(); > } > > > > On 19/04/2021 23:49, Chris Johnson via Discuss wrote: > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to [hidden email] > > ------------------------------ > > Message: 4 > Date: Mon, 19 Apr 2021 23:39:04 -0700 (MST) > From: Troberg <[hidden email]> > Subject: [OpenSCAD] Re: Tangential join/infill two parallel vertical >         cylindrical tubes. > To: [hidden email] > Message-ID: <[hidden email]> > Content-Type: multipart/alternative; >         boundary="----=_Part_459015_942237708.1618900744377" > > Try making 2D first. Two circles, use offset to create an inside radius > (first offset -radius, then offset +radius), then linear_extrude to make it > 3D. > > > > -- > Sent from: http://forum.openscad.org/-------------- next part > -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 300 bytes > Desc: not available > > ------------------------------ > > Message: 5 > Date: Mon, 19 Apr 2021 23:49:55 -0700 (MST) > From: Karl Exler <[hidden email]> > Subject: [OpenSCAD] Meassuerments workarround > To: [hidden email] > Message-ID: <[hidden email]> > Content-Type: multipart/alternative; >         boundary="----=_Part_459062_357729467.1618901395764" > > Dear friends > > I never had such a strong learning curve with OpenScad. It is 100% the tool > I looked ever.. I can do all my drafts and ideas in a very short time. > > The only thing I miss is MEASSUREMENTs. > > As far I could found out there is no convenient way to add meassurement to > my constructions > > So I guess there should be an easy was to export my construction and import > it in LibreCad or Freecad (I'm using Mint). > > I don't need a detailed explanation but the raw steps would be great. > > Many Thanks > Karl > > P.S. > As I focused in trhe beginning I have no CAD experience. I'm coming from > programming > > > > -- > Sent from: http://forum.openscad.org/-------------- next part > -------------- > A message part incompatible with plain text digests has been removed ... > Name: not available > Type: text/html > Size: 818 bytes > Desc: not available > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Discuss mailing list -- [hidden email] > To unsubscribe send an email to [hidden email] > > > ------------------------------ > > End of Discuss Digest, Vol 77, Issue 29 > *************************************** > _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email] Sent from the OpenSCAD mailing list archive at Nabble.com. ```_______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email] ``` _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Tangential join/infill two parallel vertical cylindrical tubes.

 In reply to this post by OpenSCAD mailing list-2 I’ve learned that it’s much faster to make a cylinder by using linear_extrude() circle() than by using cylinder() — and it’s very very much faster to make a hollow cylinder by using linear_extrude() difference() { circle(); circle();} than by using difference() { cylinder(); cylinder();}.I’ve also discovered that hull() and offset() are much faster than minkowski().So try this (which, on my machine, renders in less than one second):``````\$fn=150; br=32; sr=12.3; bw=5; sw=4; height=12; linear_extrude(height=height) difference() { hull() { circle(r=br+bw); translate([br+sr+sw+bw,0,0]) circle(r=sr+sw); } circle(r=br); translate([br+sr+sw+bw,0,0]) circle(r=sr); } `````` _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email] bracket.png (27K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

## Re: Tangential join/infill two parallel vertical cylindrical tubes.

 In reply to this post by OpenSCAD mailing list-2 As you say extruding a polygon on a plane has no issues with holes fully cutting and where the cylinders are the same height with no vertical offset that's trivial too (I just add "2" to the length).  The problem with the hole lengths comes in when using hull to fill in the space between the cylinders and the  cylinders are either different lengths, vertically offset or both so that there are sloping sections between the two cylinders meaning the holes are cutting through a sloping face so need to be longer than their "parent" cylinder.Chris Johnson _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Tangential join/infill two parallel vertical cylindrical tubes.

 If your model can be made as an extrusion of something 2d then that will be faster than making it in 3d, and you can difference() circles without any problem.  But in 3d if you subtract a cylinder from another cylinder and they are the same length then OpenSCAD will get confused about the surface and you will see a phantom surface at the ends.   Never subtract two 3d objects that share a face. OpenSCAD mailing list-2 wrote As you say extruding a polygon on a plane has no issues with holes fully cutting and where the cylinders are the same height with no vertical offset that's trivial too (I just add "2" to the length).  The problem with the hole lengths comes in when using hull to fill in the space between the cylinders and the  cylinders are either different lengths, vertically offset or both so that there are sloping sections between the two cylinders meaning the holes are cutting through a sloping face so need to be longer than their "parent" cylinder. Chris Johnson > _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email] Sent from the OpenSCAD mailing list archive at Nabble.com._______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Linear_extrude

 Is there a method of doing a linear-extrude or equivalent in the opposite direction, (-ve z instead of +ve)? In simple 3 axis machining, it is usual to have z0 at the top of the work piece, and it would make things easier, I think, if an extrude in the -ve z direction was possible. For example, instead of a  number of lines like 'translate([0,0,-5])linear_extrude(5)notch();'  could simply write 'linear_extrude(-5)notch;' It would allow a very quick way of getting the 2d drawing into a 3d model of the object. _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Linear_extrude

 I would just use:mirror([0, 0, 1]) linear_extrude...On Wed, 21 Apr 2021, 10:55 Ray West, <[hidden email]> wrote:Is there a method of doing a linear-extrude or equivalent in the opposite direction, (-ve z instead of +ve)? In simple 3 axis machining, it is usual to have z0 at the top of the work piece, and it would make things easier, I think, if an extrude in the -ve z direction was possible. For example, instead of a  number of lines like 'translate([0,0,-5])linear_extrude(5)notch();'  could simply write 'linear_extrude(-5)notch;' It would allow a very quick way of getting the 2d drawing into a 3d model of the object. _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email] _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Linear_extrude

 On Wednesday 21 April 2021 11:03:52 A. Craig West wrote: > I would just use: > mirror([0, 0, 1]) linear_extrude... Now, why didn't I think of that? Go ahead, answer that, I deserve it. That would be an ideal first step in making gcode for a milliing machine.   The next would be a "slicer" like translator to break that depth into something the machine is capable of. Just think, from an idea done in openscad, sliced into gcode to drive the machine. The capabilities of that, and the time saved in making the finished part are mind boggling. > On Wed, 21 Apr 2021, 10:55 Ray West, <[hidden email]> wrote: > > Is there a method of doing a linear-extrude or equivalent in the > > opposite direction, (-ve z instead of +ve)? In simple 3 axis > > machining, it is usual to have z0 at the top of the work piece, and > > it would make things easier, I think, if an extrude in the -ve z > > direction was possible. > > > > For example, instead of a  number of lines like > > 'translate([0,0,-5])linear_extrude(5)notch();'  could simply write > > 'linear_extrude(-5)notch;' It would allow a very quick way of > > getting the 2d drawing into a 3d model of the object. > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to [hidden email] 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 _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Linear_extrude

 I found this thread that seems promising. There were other semi-related links when searching for "OpenSCAD to gcode converter" but none of them as promising as the above link. I'm not qualified to determine suitability. On Wednesday, April 21, 2021, 12:51:00 PM EDT, Gene Heskett <[hidden email]> wrote: Now, why didn't I think of that? Go ahead, answer that, I deserve it.That would be an ideal first step in making gcode for a milliing machine.  The next would be a "slicer" like translator to break that depth into something the machine is capable of. Just think, from an idea done in openscad, sliced into gcode to drive the machine. The capabilities of that, and the time saved in making the finished part are mind boggling. _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Linear_extrude

 In reply to this post by Gene Heskett Openscad is an amazingly flexible tool, but I do find that it is overly limited by the assumption that 3d printers are the only possible use case. I find that the language is great for expressing geometry in 2d as well, but due to the assumption that all generated objects must have thickness/volume, you can't actually use it for things like laser cutting... On Wed, 21 Apr 2021, 12:50 Gene Heskett, <[hidden email]> wrote:On Wednesday 21 April 2021 11:03:52 A. Craig West wrote: > I would just use: > mirror([0, 0, 1]) linear_extrude... Now, why didn't I think of that? Go ahead, answer that, I deserve it. That would be an ideal first step in making gcode for a milliing machine.  The next would be a "slicer" like translator to break that depth into something the machine is capable of. Just think, from an idea done in openscad, sliced into gcode to drive the machine. The capabilities of that, and the time saved in making the finished part are mind boggling. > On Wed, 21 Apr 2021, 10:55 Ray West, <[hidden email]> wrote: > > Is there a method of doing a linear-extrude or equivalent in the > > opposite direction, (-ve z instead of +ve)? In simple 3 axis > > machining, it is usual to have z0 at the top of the work piece, and > > it would make things easier, I think, if an extrude in the -ve z > > direction was possible. > > > > For example, instead of a  number of lines like > > 'translate([0,0,-5])linear_extrude(5)notch();'  could simply write > > 'linear_extrude(-5)notch;' It would allow a very quick way of > > getting the 2d drawing into a 3d model of the object. > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to [hidden email] 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 _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email] _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Linear_extrude

 I've used OpenSCAD to create an object which I then "projected" to create the flat outline I needed to export to SVG, which is accepted by my laser cutting software. It was the most efficient method available to me at the time. There may have been other ways, but it worked for my purposes. I'll be doing a similar task for a boat hull, to create outlines to make on the laser a dry dock sort of array. On Wednesday, April 21, 2021, 1:17:43 PM EDT, A. Craig West <[hidden email]> wrote: Openscad is an amazingly flexible tool, but I do find that it is overly limited by the assumption that 3d printers are the only possible use case. I find that the language is great for expressing geometry in 2d as well, but due to the assumption that all generated objects must have thickness/volume, you can't actually use it for things like laser cutting... On Wed, 21 Apr 2021, 12:50 Gene Heskett, <[hidden email]> wrote:On Wednesday 21 April 2021 11:03:52 A. Craig West wrote: > I would just use: > mirror([0, 0, 1]) linear_extrude... Now, why didn't I think of that? Go ahead, answer that, I deserve it. That would be an ideal first step in making gcode for a milliing machine.  The next would be a "slicer" like translator to break that depth into something the machine is capable of. Just think, from an idea done in openscad, sliced into gcode to drive the machine. The capabilities of that, and the time saved in making the finished part are mind boggling. > On Wed, 21 Apr 2021, 10:55 Ray West, <[hidden email]> wrote: > > Is there a method of doing a linear-extrude or equivalent in the > > opposite direction, (-ve z instead of +ve)? In simple 3 axis > > machining, it is usual to have z0 at the top of the work piece, and > > it would make things easier, I think, if an extrude in the -ve z > > direction was possible. > > > > For example, instead of a  number of lines like > > 'translate([0,0,-5])linear_extrude(5)notch();'  could simply write > > 'linear_extrude(-5)notch;' It would allow a very quick way of > > getting the 2d drawing into a 3d model of the object. > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to [hidden email] 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> _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email] _______________________________________________OpenSCAD mailing listTo unsubscribe send an email to [hidden email] _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Linear_extrude

In reply to this post by acwest

I’m confused to read that as I use it all the time for 2D!

Are you aware of the whole 2D subsystem? IE square([1,2]); instead of cube([1,2,3]);?

And that you can both import and export DXF files which are good for laser cutting and CNC routing?

(if you want to import DXF files – you need to make sure they don’t contain curves as these come in many incompatible dialects – instead decimate them to many straight sections – there’s an excellent plugin for Inkscape called ‘DXF output for OpenSCAD’ or similar which does this for you)

You can take a 2D shape and linear or rotate extrude to 3D, or you can cut a cross section from a 3D model in 2D with projection()…

Or… what is it you’re struggling to do?

Cheers,

Alex Gibson

admg consulting

edumaker limited

·         Project management

·         Operations & Process improvement

·         3D Printing

From: A. Craig West [mailto:[hidden email]]
Sent: 21 April 2021 18:17
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Linear_extrude

Openscad is an amazingly flexible tool, but I do find that it is overly limited by the assumption that 3d printers are the only possible use case. I find that the language is great for expressing geometry in 2d as well, but due to the assumption that all generated objects must have thickness/volume, you can't actually use it for things like laser cutting...

On Wed, 21 Apr 2021, 12:50 Gene Heskett, <[hidden email]> wrote:

On Wednesday 21 April 2021 11:03:52 A. Craig West wrote:

> I would just use:
> mirror([0, 0, 1]) linear_extrude...

Now, why didn't I think of that? Go ahead, answer that, I deserve it.

That would be an ideal first step in making gcode for a milliing machine.
The next would be a "slicer" like translator to break that depth into
something the machine is capable of. Just think, from an idea done in
openscad, sliced into gcode to drive the machine. The capabilities of
that, and the time saved in making the finished part are mind boggling.

> On Wed, 21 Apr 2021, 10:55 Ray West, <[hidden email]> wrote:
> > Is there a method of doing a linear-extrude or equivalent in the
> > opposite direction, (-ve z instead of +ve)? In simple 3 axis
> > machining, it is usual to have z0 at the top of the work piece, and
> > it would make things easier, I think, if an extrude in the -ve z
> > direction was possible.
> >
> > For example, instead of a  number of lines like
> > 'translate([0,0,-5])linear_extrude(5)notch();'  could simply write
> > 'linear_extrude(-5)notch;' It would allow a very quick way of
> > getting the 2d drawing into a 3d model of the object.
> > _______________________________________________
> > OpenSCAD mailing list
> > To unsubscribe send an email to [hidden email]

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>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

 Virus-free. www.avg.com

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Linear_extrude

You can export in 2d, but you can't export open shapes, which can be a problem for laser cutting, as to make a line cut, you run the laser over the path twice

On Wed, 21 Apr 2021, 13:40 Alex Gibson, <[hidden email]> wrote:

I’m confused to read that as I use it all the time for 2D!

Are you aware of the whole 2D subsystem? IE square([1,2]); instead of cube([1,2,3]);?

And that you can both import and export DXF files which are good for laser cutting and CNC routing?

(if you want to import DXF files – you need to make sure they don’t contain curves as these come in many incompatible dialects – instead decimate them to many straight sections – there’s an excellent plugin for Inkscape called ‘DXF output for OpenSCAD’ or similar which does this for you)

You can take a 2D shape and linear or rotate extrude to 3D, or you can cut a cross section from a 3D model in 2D with projection()…

Or… what is it you’re struggling to do?

Cheers,

Alex Gibson

admg consulting

edumaker limited

·         Project management

·         Operations & Process improvement

·         3D Printing

From: A. Craig West [mailto:[hidden email]]
Sent: 21 April 2021 18:17
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Linear_extrude

Openscad is an amazingly flexible tool, but I do find that it is overly limited by the assumption that 3d printers are the only possible use case. I find that the language is great for expressing geometry in 2d as well, but due to the assumption that all generated objects must have thickness/volume, you can't actually use it for things like laser cutting...

On Wed, 21 Apr 2021, 12:50 Gene Heskett, <[hidden email]> wrote:

On Wednesday 21 April 2021 11:03:52 A. Craig West wrote:

> I would just use:
> mirror([0, 0, 1]) linear_extrude...

Now, why didn't I think of that? Go ahead, answer that, I deserve it.

That would be an ideal first step in making gcode for a milliing machine.
The next would be a "slicer" like translator to break that depth into
something the machine is capable of. Just think, from an idea done in
openscad, sliced into gcode to drive the machine. The capabilities of
that, and the time saved in making the finished part are mind boggling.

> On Wed, 21 Apr 2021, 10:55 Ray West, <[hidden email]> wrote:
> > Is there a method of doing a linear-extrude or equivalent in the
> > opposite direction, (-ve z instead of +ve)? In simple 3 axis
> > machining, it is usual to have z0 at the top of the work piece, and
> > it would make things easier, I think, if an extrude in the -ve z
> > direction was possible.
> >
> > For example, instead of a  number of lines like
> > 'translate([0,0,-5])linear_extrude(5)notch();'  could simply write
> > 'linear_extrude(-5)notch;' It would allow a very quick way of
> > getting the 2d drawing into a 3d model of the object.
> > _______________________________________________
> > OpenSCAD mailing list
> > To unsubscribe send an email to [hidden email]

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>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

 Virus-free. www.avg.com

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Linear_extrude

Ah – I see.  Your problem is the lack of a 1D subsystem J

It’s never really crossed my mind as a significant constraint, despite using OpenSCAD for laser cutting plenty, but I think I’ve had the same problem and just fixed the consequences – for example importing the DXF into RDWorks/Lightburn and before laser cutting just deleting the unnecessary lines – or accept the unnecessary second cut.

I wonder how significant a structural change to the language it would be to actually add in the capability to OpenSCAD to draw a line… for example instead of square([1,2]); or cube([1,2,3]); you could have line([1]); which until rotated or translated always began along the X axis?  Could a valid DXF file be exported with that?

Cheers,

Alex Gibson

admg consulting

edumaker limited

·         Project management

·         Operations & Process improvement

·         3D Printing

From: A. Craig West [mailto:[hidden email]]
Sent: 21 April 2021 18:44
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Linear_extrude

You can export in 2d, but you can't export open shapes, which can be a problem for laser cutting, as to make a line cut, you run the laser over the path twice

On Wed, 21 Apr 2021, 13:40 Alex Gibson, <[hidden email]> wrote:

I’m confused to read that as I use it all the time for 2D!

Are you aware of the whole 2D subsystem? IE square([1,2]); instead of cube([1,2,3]);?

And that you can both import and export DXF files which are good for laser cutting and CNC routing?

(if you want to import DXF files – you need to make sure they don’t contain curves as these come in many incompatible dialects – instead decimate them to many straight sections – there’s an excellent plugin for Inkscape called ‘DXF output for OpenSCAD’ or similar which does this for you)

You can take a 2D shape and linear or rotate extrude to 3D, or you can cut a cross section from a 3D model in 2D with projection()…

Or… what is it you’re struggling to do?

Cheers,

Alex Gibson

admg consulting

edumaker limited

·         Project management

·         Operations & Process improvement

·         3D Printing

From: A. Craig West [mailto:[hidden email]]
Sent: 21 April 2021 18:17
To: OpenSCAD general discussion
Subject: [OpenSCAD] Re: Linear_extrude

Openscad is an amazingly flexible tool, but I do find that it is overly limited by the assumption that 3d printers are the only possible use case. I find that the language is great for expressing geometry in 2d as well, but due to the assumption that all generated objects must have thickness/volume, you can't actually use it for things like laser cutting...

On Wed, 21 Apr 2021, 12:50 Gene Heskett, <[hidden email]> wrote:

On Wednesday 21 April 2021 11:03:52 A. Craig West wrote:

> I would just use:
> mirror([0, 0, 1]) linear_extrude...

Now, why didn't I think of that? Go ahead, answer that, I deserve it.

That would be an ideal first step in making gcode for a milliing machine.
The next would be a "slicer" like translator to break that depth into
something the machine is capable of. Just think, from an idea done in
openscad, sliced into gcode to drive the machine. The capabilities of
that, and the time saved in making the finished part are mind boggling.

> On Wed, 21 Apr 2021, 10:55 Ray West, <[hidden email]> wrote:
> > Is there a method of doing a linear-extrude or equivalent in the
> > opposite direction, (-ve z instead of +ve)? In simple 3 axis
> > machining, it is usual to have z0 at the top of the work piece, and
> > it would make things easier, I think, if an extrude in the -ve z
> > direction was possible.
> >
> > For example, instead of a  number of lines like
> > 'translate([0,0,-5])linear_extrude(5)notch();'  could simply write
> > 'linear_extrude(-5)notch;' It would allow a very quick way of
> > getting the 2d drawing into a 3d model of the object.
> > _______________________________________________
> > OpenSCAD mailing list
> > To unsubscribe send an email to [hidden email]

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>
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

 Virus-free. www.avg.com

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]

_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to [hidden email]
Reply | Threaded
Open this post in threaded view
|

## Re: Linear_extrude

 In reply to this post by acwest On Wednesday 21 April 2021 13:16:58 A. Craig West wrote: > Openscad is an amazingly flexible tool, but I do find that it is > overly limited by the assumption that 3d printers are the only > possible use case. I find that the language is great for expressing > geometry in 2d as well, but due to the assumption that all generated > objects must have thickness/volume, you can't actually use it for > things like laser cutting... I didn't have laser cutting in mind, Craig, more like a suitable carbide end mill whose dimensions would have to be known by the slicer. Or assume sinker EDM, but that also has problems due to the erosion of the sinker electrode as it works. That too is a major problem when the hole being burnt is more than electrode diameter deep. I have cut slots to make compressible petals out of a socket to receive a ball screw, with tapered threads on the outside.  It does those slots an inch deep, .032" wide, putting a drive shaft on the end of a ball screw for 2 lathes x drives now. No warpage, no burrs, puts tons of grip on the end of a ball screw when its wet with threadlocker and the nut drawn tight.  Hasn't slipped a micron in many years. That was the general idea. So what to we have that can turn an openscad output into gcode? Preferably metric based although linuxcnc accepts either measurement system.  Preferably something smart enough to make use of linuxcnc's looping abilities. Something that turns 100 lines of source code into 100 gigabytes of gcode because it has to unroll all the loops, is not to me, a workable solution.  Success to me is a 90 line gcode program that takes 3 days to run. I have done that by hand. It also made the sharpest table saw carbide blade I've ever used. So I am curious, if you are designing a part in openscad that will eventually be made on a cnc controlled 3 or more axis milling machine, what do you use to make that connection work? Thank you all. [...] 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 _______________________________________________ OpenSCAD mailing list To unsubscribe send an email to [hidden email]
12