discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: [OpenSCAD] [Minkowsky Text]

M
MichaelAtOz
Wed, Jul 19, 2017 2:13 AM

blumer_c wrote

Hi,

I'm new on this forum and I say hello to everyone

I write here because I'm trying to use openscad to make customizable
things.

I would like to smooth the corners of a 3D text and I find that Minkowsky
works for it.

The problem is that the render during more or less 10 minutes and it's
very slow. What can I do to make more faster?

I leave here my code, thank you so much in advance.


carattere = "Futura Std";
testo = "LaceTag";

module testo()
{

linear_extrude(height=7, convexity=10)
text(testo, size=16, font=carattere,
spacing=1, direction="ltr",$fn=60);

}

minkowski(){

testo();
sphere(1, $fn=10);

}


Welcome.

You can get the rounded look on the perimeter by using offset.

linear_extrude(height=7, convexity=10)
offset(r=0.75)
text(testo, size=16, font=carattere,
spacing=1, direction="ltr",$fn=60);

You could stack a few thin layers on top, using a progressively smaller
offset.


Admin - PM me if you need anything, or if I've done something stupid...

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. Obviously 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/  time is running out!

View this message in context: http://forum.openscad.org/Minkowsky-Text-tp21848p21852.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

blumer_c wrote > Hi, > > I'm new on this forum and I say hello to everyone > > I write here because I'm trying to use openscad to make customizable > things. > > I would like to smooth the corners of a 3D text and I find that Minkowsky > works for it. > > The problem is that the render during more or less 10 minutes and it's > very slow. What can I do to make more faster? > > I leave here my code, thank you so much in advance. > > ---------------------------------------------- > > carattere = "Futura Std"; > testo = "LaceTag"; > > module testo() > { > > linear_extrude(height=7, convexity=10) > text(testo, size=16, font=carattere, > spacing=1, direction="ltr",$fn=60); > > } > > minkowski(){ > > testo(); > sphere(1, $fn=10); > > } > > -------------------------------------- Welcome. You can get the rounded look on the perimeter by using offset. linear_extrude(height=7, convexity=10) offset(r=0.75) text(testo, size=16, font=carattere, spacing=1, direction="ltr",$fn=60); You could stack a few thin layers on top, using a progressively smaller offset. ----- Admin - PM me if you need anything, or if I've done something stupid... 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. Obviously 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/ time is running out! -- View this message in context: http://forum.openscad.org/Minkowsky-Text-tp21848p21852.html Sent from the OpenSCAD mailing list archive at Nabble.com.
B
blumer_c
Wed, Jul 19, 2017 1:45 PM

Thank you MichaelAtOz!!

I've try and it works.

BUT, to make the shape of a sphere i try this but i doesn't work.

What's wrong? Thank you.

carattere = "Futura";
testo = "Hello World";

difference() {
union() {

for(t=[0:30:180])
{
for(i=[0:1:6])
{
translate([0,0,i])
linear_extrude(height=1, convexity=10)
{
offset(r=sin(t*10),$fn=100)
{
text(testo, size=16, font=carattere,
spacing=1, direction="ltr");}
}
}
}

}

}

--
View this message in context: http://forum.openscad.org/Minkowsky-Text-tp21848p21865.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Thank you MichaelAtOz!! I've try and it works. BUT, to make the shape of a sphere i try this but i doesn't work. What's wrong? Thank you. -------------------------------------------- carattere = "Futura"; testo = "Hello World"; difference() { union() { for(t=[0:30:180]) { for(i=[0:1:6]) { translate([0,0,i]) linear_extrude(height=1, convexity=10) { offset(r=sin(t*10),$fn=100) { text(testo, size=16, font=carattere, spacing=1, direction="ltr");} } } } } } -- View this message in context: http://forum.openscad.org/Minkowsky-Text-tp21848p21865.html Sent from the OpenSCAD mailing list archive at Nabble.com.
M
MichaelAtOz
Thu, Jul 20, 2017 5:34 AM

I wasn't sure what you were doing with the i loop, so I just bumbled my way
to my solution.

That was an adventure...

I can't recall whether Customizer used preview or render.

This is fast on preview, but renders slowly.

It could probably be finessed, but it get the job done.
(you may want to fiddle with the spacing= & factor=)


carattere = "Futura";
testo = "Hello World";
// testo = "o";
debug=0;  // set to 1  it spaces layers & numbers them

module textMsg()
text(testo, size=16, font=carattere,
spacing=1.1, direction="ltr");

module offsetSteps(high=2, slices=3,offSet=1) {
// offSet  -/+, +n small->large, -n large->small
stepAngle=90/slices;
stepHigh=high/slices;
echo(slices=slices,stepHigh);
loop=([0:1:slices-1]);
for(line=loop) {
lsa=linestepAngle;
translate([0,0,line
stepHigh*(debug ? 2 : 1)]) {
linear_extrude(height=stepHigh+0.05, convexity=10) {
if (debug)
translate([line*10,30,0])
text(str(line),size=6);

      rad=(offSet>0 ? sin(lsa) : cos(lsa)); 
      echo(line=line,lsa=lsa,rad=rad,sin(lsa),cos(lsa));
      offset(r=abs(offSet)*rad,$fn=64) {
        children();
      }
    }
  }
}

}

factor=1.2;
// bottom round
translate([0,0,0])
offsetSteps(offSet=factor)
textMsg();

// middle just offset perimiter
translate([0,0,1.99]) {
color("blue")
linear_extrude(height=5.01, convexity=10)
offset(r=factor,$fn=64)
textMsg();

// top round
translate([0,0,4.99])
offsetSteps(offSet=-factor)
textMsg();
}


Admin - PM me if you need anything, or if I've done something stupid...

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. Obviously 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/  time is running out!

View this message in context: http://forum.openscad.org/Minkowsky-Text-tp21848p21877.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

I wasn't sure what you were doing with the i loop, so I just bumbled my way to my solution. That was an adventure... I can't recall whether Customizer used preview or render. This is fast on preview, but renders slowly. It could probably be finessed, but it get the job done. (you may want to fiddle with the spacing= & factor=) ------------------------------------------------------ carattere = "Futura"; testo = "Hello World"; // testo = "o"; debug=0; // set to 1 it spaces layers & numbers them module textMsg() text(testo, size=16, font=carattere, spacing=1.1, direction="ltr"); module offsetSteps(high=2, slices=3,offSet=1) { // offSet -/+, +n small->large, -n large->small stepAngle=90/slices; stepHigh=high/slices; echo(slices=slices,stepHigh); loop=([0:1:slices-1]); for(line=loop) { lsa=line*stepAngle; translate([0,0,line*stepHigh*(debug ? 2 : 1)]) { linear_extrude(height=stepHigh+0.05, convexity=10) { if (debug) translate([line*10,30,0]) text(str(line),size=6); rad=(offSet>0 ? sin(lsa) : cos(lsa)); echo(line=line,lsa=lsa,rad=rad,sin(lsa),cos(lsa)); offset(r=abs(offSet)*rad,$fn=64) { children(); } } } } } factor=1.2; // bottom round translate([0,0,0]) offsetSteps(offSet=factor) textMsg(); // middle just offset perimiter translate([0,0,1.99]) { color("blue") linear_extrude(height=5.01, convexity=10) offset(r=factor,$fn=64) textMsg(); // top round translate([0,0,4.99]) offsetSteps(offSet=-factor) textMsg(); } ----- Admin - PM me if you need anything, or if I've done something stupid... 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. Obviously 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/ time is running out! -- View this message in context: http://forum.openscad.org/Minkowsky-Text-tp21848p21877.html Sent from the OpenSCAD mailing list archive at Nabble.com.