discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Any clever ways to do corner relief in OpenSCAD?

BD
Bryan Duxbury
Wed, Dec 17, 2014 1:56 AM

I am designing a box using mortise-and-tenon-style joinery in OpenSCAD.
This was pretty easy when I was designing for the laser cutter, since
inside corners come out nice and sharp. But now I have a Shapeoko 2, and I
have to cope with rounded inside corners.

Does anyone have any crafty ways of implementing corner relief in OpenSCAD?
I know that I can difference with a bunch of circles, but I'm hoping for
something less manual and crufty.

I am designing a box using mortise-and-tenon-style joinery in OpenSCAD. This was pretty easy when I was designing for the laser cutter, since inside corners come out nice and sharp. But now I have a Shapeoko 2, and I have to cope with rounded inside corners. Does anyone have any crafty ways of implementing corner relief in OpenSCAD? I know that I can difference with a bunch of circles, but I'm hoping for something less manual and crufty.
M
MichaelAtOz
Wed, Dec 17, 2014 2:10 AM

Have a look at  Offset()
https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Other_Language_Features#Offset
, you will need the development snapshot.


Unless specifically shown otherwise above, my contribution is in the Public Domain; To the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. This work is published globally via the internet. :) Inclusion of works of previous authors is not included in the above.

The TPP is no simple “trade agreement.”  Fight it! http://www.ourfairdeal.org/

View this message in context: http://forum.openscad.org/Any-clever-ways-to-do-corner-relief-in-OpenSCAD-tp10576p10577.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Have a look at Offset() <https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Other_Language_Features#Offset> , you will need the development snapshot. ----- Unless specifically shown otherwise above, my contribution is in the Public Domain; To the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. This work is published globally via the internet. :) Inclusion of works of previous authors is not included in the above. The TPP is no simple “trade agreement.” Fight it! http://www.ourfairdeal.org/ -- View this message in context: http://forum.openscad.org/Any-clever-ways-to-do-corner-relief-in-OpenSCAD-tp10576p10577.html Sent from the OpenSCAD mailing list archive at Nabble.com.
BD
Bryan Duxbury
Wed, Dec 17, 2014 3:48 AM

Offset looks cool, but I don't see how this will help me to automatically
place difference circles at inside corner vertices. Am I missing something?

On Tue, Dec 16, 2014 at 6:10 PM, MichaelAtOz oz.at.michael@gmail.com
wrote:

, you will need the development snapshot.


Unless specifically shown otherwise above, my contribution is in the
Public Domain; To the extent possible under law, I have waived all
copyright and related or neighbouring rights to this work. This work is
published globally via the internet. :) Inclusion of works of previous
authors is not included in the above.

The TPP is no simple “trade agreement.”  Fight it!
http://www.ourfairdeal.org/

View this message in context:
http://forum.openscad.org/Any-clever-ways-to-do-corner-relief-in-OpenSCAD-tp10576p10577.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Offset looks cool, but I don't see how this will help me to automatically place difference circles at inside corner vertices. Am I missing something? On Tue, Dec 16, 2014 at 6:10 PM, MichaelAtOz <oz.at.michael@gmail.com> wrote: > > Have a look at Offset() > < > https://en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/Other_Language_Features#Offset > > > , you will need the development snapshot. > > > > ----- > Unless specifically shown otherwise above, my contribution is in the > Public Domain; To the extent possible under law, I have waived all > copyright and related or neighbouring rights to this work. This work is > published globally via the internet. :) Inclusion of works of previous > authors is not included in the above. > > The TPP is no simple “trade agreement.” Fight it! > http://www.ourfairdeal.org/ > -- > View this message in context: > http://forum.openscad.org/Any-clever-ways-to-do-corner-relief-in-OpenSCAD-tp10576p10577.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
M
MichaelAtOz
Wed, Dec 17, 2014 5:07 AM

I thought you wanted rounded corners.

Now I know what a corner relief is,
http://www3.eng.cam.ac.uk/DesignOffice/cad/proewild3/usascii/proe/sheetmetaldesign/your_design/about_corner_relief.htm

Sorry.


Unless specifically shown otherwise above, my contribution is in the Public Domain; To the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. This work is published globally via the internet. :) Inclusion of works of previous authors is not included in the above.

The TPP is no simple “trade agreement.”  Fight it! http://www.ourfairdeal.org/

View this message in context: http://forum.openscad.org/Any-clever-ways-to-do-corner-relief-in-OpenSCAD-tp10576p10580.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

I thought you wanted rounded corners. Now I know what a corner relief is, http://www3.eng.cam.ac.uk/DesignOffice/cad/proewild3/usascii/proe/sheetmetaldesign/your_design/about_corner_relief.htm Sorry. ----- Unless specifically shown otherwise above, my contribution is in the Public Domain; To the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. This work is published globally via the internet. :) Inclusion of works of previous authors is not included in the above. The TPP is no simple “trade agreement.” Fight it! http://www.ourfairdeal.org/ -- View this message in context: http://forum.openscad.org/Any-clever-ways-to-do-corner-relief-in-OpenSCAD-tp10576p10580.html Sent from the OpenSCAD mailing list archive at Nabble.com.
CL
Chow Loong Jin
Wed, Dec 17, 2014 6:38 AM

On Tue, Dec 16, 2014 at 05:56:28PM -0800, Bryan Duxbury wrote:

I am designing a box using mortise-and-tenon-style joinery in OpenSCAD.
This was pretty easy when I was designing for the laser cutter, since
inside corners come out nice and sharp. But now I have a Shapeoko 2, and I
have to cope with rounded inside corners.

Does anyone have any crafty ways of implementing corner relief in OpenSCAD?
I know that I can difference with a bunch of circles, but I'm hoping for
something less manual and crufty.

clothbot made a generalized fillet() module which works on 3D geometries, using
some very clever magic with minkowski() (as a replacement for missing 3D
offset() functionality), intersection(), and hull().

I think you could probably implement a generalized corner relief function
somehow by adapting that fillet() module, but I'm not sure how.

[1] https://github.com/clothbot/ClothBotCreations/blob/master/utilities/fillet.scad

--
Kind regards,
Loong Jin

On Tue, Dec 16, 2014 at 05:56:28PM -0800, Bryan Duxbury wrote: > I am designing a box using mortise-and-tenon-style joinery in OpenSCAD. > This was pretty easy when I was designing for the laser cutter, since > inside corners come out nice and sharp. But now I have a Shapeoko 2, and I > have to cope with rounded inside corners. > > Does anyone have any crafty ways of implementing corner relief in OpenSCAD? > I know that I can difference with a bunch of circles, but I'm hoping for > something less manual and crufty. clothbot made a generalized fillet() module which works on 3D geometries, using some very clever magic with minkowski() (as a replacement for missing 3D offset() functionality), intersection(), and hull(). I think you could probably implement a generalized corner relief function somehow by adapting that fillet() module, but I'm not sure how. [1] https://github.com/clothbot/ClothBotCreations/blob/master/utilities/fillet.scad -- Kind regards, Loong Jin
C
clothbot
Wed, Dec 17, 2014 2:49 PM

I haven't quite figured out how one might do an obround corner relief, but
here's one geometric approach to doing (2D) circular corner relief:

https://github.com/clothbot/ClothBotCreations/blob/master/examples/corner_relief.scad

In a nutshell, I (ab)use the offset() operator to find the difference in
geometry between bevel and miter for a "significantly small value of
negative-delta", then do a minkowski with a circle to grow those bits of
differences to the "tool diameter".

Enjoy!

Andrew.

--
View this message in context: http://forum.openscad.org/Any-clever-ways-to-do-corner-relief-in-OpenSCAD-tp10576p10582.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

I haven't quite figured out how one might do an obround corner relief, but here's one geometric approach to doing (2D) circular corner relief: https://github.com/clothbot/ClothBotCreations/blob/master/examples/corner_relief.scad In a nutshell, I (ab)use the offset() operator to find the difference in geometry between bevel and miter for a "significantly small value of negative-delta", then do a minkowski with a circle to grow those bits of differences to the "tool diameter". Enjoy! Andrew. -- View this message in context: http://forum.openscad.org/Any-clever-ways-to-do-corner-relief-in-OpenSCAD-tp10576p10582.html Sent from the OpenSCAD mailing list archive at Nabble.com.
C
clothbot
Wed, Dec 17, 2014 3:08 PM

...and upon testing an acute-angle example I added a mode="round" option for
more accuracy.  The default mode="miter" will be faster for perpendicular
inner-angle geometry.

Andrew.

--
View this message in context: http://forum.openscad.org/Any-clever-ways-to-do-corner-relief-in-OpenSCAD-tp10576p10583.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

...and upon testing an acute-angle example I added a mode="round" option for more accuracy. The default mode="miter" will be faster for perpendicular inner-angle geometry. Andrew. -- View this message in context: http://forum.openscad.org/Any-clever-ways-to-do-corner-relief-in-OpenSCAD-tp10576p10583.html Sent from the OpenSCAD mailing list archive at Nabble.com.
TP
Torsten Paul
Wed, Dec 17, 2014 3:45 PM

...and upon testing an acute-angle example I added a mode="round" option for
more accuracy. The default mode="miter" will be faster for perpendicular
inner-angle geometry.

Just a heads up regarding offset(), the parameters will probably change slightly
before the release: https://github.com/openscad/openscad/pull/1011

ciao,
Torsten.

> ...and upon testing an acute-angle example I added a mode="round" option for > more accuracy. The default mode="miter" will be faster for perpendicular > inner-angle geometry. Just a heads up regarding offset(), the parameters will probably change slightly before the release: https://github.com/openscad/openscad/pull/1011 ciao, Torsten.
SG
Scott Guthery
Wed, Dec 17, 2014 5:24 PM

This has doubtless been asked and answered many times but darn if I can find
the answer in the archive ...

How does one center an imported DXF, either before or after a linear
extrude?  center=true on the linear_extrude does a z-axis center, of course,
but it's no help on x and y.  Using dxf_dims would seem to be the Right
Stuff but the DXF 'dims' seem to vary from DXF to DXF.

In the situation at hand, I load an EPS into Inkscape and then save as 1)
Desktop Cutting Plotter, 2) Big Blue Saw DXF Output or 3) OpenSCAD DXF
Output.  Each of these put different 'dims' into the DXF file none of which,
as far as I can tell, can be used to center the DXF when it is loaded into
OpenSCAD.  Furthermore, none of these DXFs seem to contain any support for
dxf_cross.

I'm certainly missing something obvious. Thanks in advance for any insight.

Cheers, Scott

This has doubtless been asked and answered many times but darn if I can find the answer in the archive ... How does one center an imported DXF, either before or after a linear extrude? center=true on the linear_extrude does a z-axis center, of course, but it's no help on x and y. Using dxf_dims would seem to be the Right Stuff but the DXF 'dims' seem to vary from DXF to DXF. In the situation at hand, I load an EPS into Inkscape and then save as 1) Desktop Cutting Plotter, 2) Big Blue Saw DXF Output or 3) OpenSCAD DXF Output. Each of these put different 'dims' into the DXF file none of which, as far as I can tell, can be used to center the DXF when it is loaded into OpenSCAD. Furthermore, none of these DXFs seem to contain any support for dxf_cross. I'm certainly missing something obvious. Thanks in advance for any insight. Cheers, Scott
PF
Peter Falke
Wed, Dec 17, 2014 8:31 PM

repost:

Do you want to have a circle cut out at all inside corners of a 2d shape,
or do you want a sphere cut out at all inside 3d corners (like the inside
corners of a box)?

Or do you require more complex (or more simple) cut-outs?

If you just need the 2d circle cut out than I know an easy way:
use some way to make automatic fillets inside all the 2d corner, but set
the fillet-radius to something very small, then just do a minkowsky() of
the fillet and the circle you need cut out and difference() it from your
part.

For automatic 2d-fillet generation have a look at what I have on
Thingiverse:
http://www.thingiverse.com/thing:422252

If you want 3d corner reliefs that this method can be generalized to 3d.

Just post your part here and I`ll give it a go.

Sincerely,

TakeItAndRun

2014-12-17 16:45 GMT+01:00 Torsten Paul Torsten.Paul@gmx.de:

...and upon testing an acute-angle example I added a mode="round" option

for

more accuracy. The default mode="miter" will be faster for perpendicular
inner-angle geometry.

Just a heads up regarding offset(), the parameters will probably change
slightly
before the release: https://github.com/openscad/openscad/pull/1011

ciao,
Torsten.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

--
stempeldergeschichte@googlemail.com karsten@rohrbach.de

P.S. Falls meine E-Mail kürzer ausfällt als Dir angenehm ist:
Ich probiere gerade aus kurze Antworten statt gar keine Antworten zu
schreiben.
Wenn Du gerne mehr lesen möchtest, dann lass es mich bitte wissen.

P.S. In case my e-mail is shorter than you enjoy:
I am currently trying short replies instead of no replies at all.
Please let me know, if you like to read more.

Enjoy!

repost: Do you want to have a circle cut out at all inside corners of a 2d shape, or do you want a sphere cut out at all inside 3d corners (like the inside corners of a box)? Or do you require more complex (or more simple) cut-outs? If you just need the 2d circle cut out than I know an easy way: use some way to make automatic fillets inside all the 2d corner, but set the fillet-radius to something very small, then just do a minkowsky() of the fillet and the circle you need cut out and difference() it from your part. For automatic 2d-fillet generation have a look at what I have on Thingiverse: http://www.thingiverse.com/thing:422252 If you want 3d corner reliefs that this method can be generalized to 3d. Just post your part here and I`ll give it a go. Sincerely, TakeItAndRun 2014-12-17 16:45 GMT+01:00 Torsten Paul <Torsten.Paul@gmx.de>: > > > > > ...and upon testing an acute-angle example I added a mode="round" option > for > > more accuracy. The default mode="miter" will be faster for perpendicular > > inner-angle geometry. > > Just a heads up regarding offset(), the parameters will probably change > slightly > before the release: https://github.com/openscad/openscad/pull/1011 > > ciao, > Torsten. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > -- stempeldergeschichte@googlemail.com <karsten@rohrbach.de> P.S. Falls meine E-Mail kürzer ausfällt als Dir angenehm ist: Ich probiere gerade aus kurze Antworten statt gar keine Antworten zu schreiben. Wenn Du gerne mehr lesen möchtest, dann lass es mich bitte wissen. P.S. In case my e-mail is shorter than you enjoy: I am currently trying short replies instead of no replies at all. Please let me know, if you like to read more. Enjoy!