discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Chamfered 3D text

P
Parkinbot
Sun, Mar 25, 2018 9:12 PM

Nice result!

There is a somehow dirty emboss approach that is based on the union or
intersection of skewed copies. Although it is not perfect and F6 render may
take its time, I sometimes use it because it is so straight forward.  Note
that intersection_for has convexity problems on F5. I removed all logic,
to show you the bare principle:

http://forum.openscad.org/file/t887/taper.png

//taper_down(.2, .2) linear_extrude(1) text("hello world");
taper_up(.5, .5) linear_extrude(1) text("test text", font="Times New
Roman:style=Regular");

module taper_down(x=0, y=0)
rotate([0, 0, 180])
for(i=[-x, 0, x], j=[-y, 0, y])
skew(x=i, y=j) scale(-1) children();

module taper_up(x=0, y=0)
intersection_for(i=[-x, 0, x], j=[-y, 0, y])
skew(x=i, y=j) children();

module skew(x=0, y=0, z=0)
multmatrix([[1, z, x], [0, 1, y]]) children();

--
Sent from: http://forum.openscad.org/

Nice result! There is a somehow dirty emboss approach that is based on the union or intersection of skewed copies. Although it is not perfect and F6 render may take its time, I sometimes use it because it is so straight forward. Note that *intersection_for* has convexity problems on F5. I removed all logic, to show you the bare principle: <http://forum.openscad.org/file/t887/taper.png> //taper_down(.2, .2) linear_extrude(1) text("hello world"); taper_up(.5, .5) linear_extrude(1) text("test text", font="Times New Roman:style=Regular"); module taper_down(x=0, y=0) rotate([0, 0, 180]) for(i=[-x, 0, x], j=[-y, 0, y]) skew(x=i, y=j) scale(-1) children(); module taper_up(x=0, y=0) intersection_for(i=[-x, 0, x], j=[-y, 0, y]) skew(x=i, y=j) children(); module skew(x=0, y=0, z=0) multmatrix([[1, z, x], [0, 1, y]]) children(); -- Sent from: http://forum.openscad.org/
N
NateTG
Mon, Mar 26, 2018 1:47 AM

Parkinbot wrote

Nice result!

There is a somehow dirty emboss approach that is based on the union or
intersection of skewed copies. Although it is not perfect and F6 render
may
take its time, I sometimes use it because it is so straight forward. I
removed all logic,
to show you the bare principle:
...

Yeah, that looks way easier (and smarter), but isn't going to work well with
diagonal intersections like the one in the x.

--
Sent from: http://forum.openscad.org/

Parkinbot wrote > Nice result! > > There is a somehow dirty emboss approach that is based on the union or > intersection of skewed copies. Although it is not perfect and F6 render > may > take its time, I sometimes use it because it is so straight forward. I > removed all logic, > to show you the bare principle: > ... Yeah, that looks way easier (and smarter), but isn't going to work well with diagonal intersections like the one in the x. -- Sent from: http://forum.openscad.org/