[Minkowsky Text]

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Minkowsky Text]

blumer_c
This post has NOT been accepted by the mailing list yet.
This post was updated on .
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);

}

--------------------------------------
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Minkowsky Text]

MichaelAtOz
Administrator
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!
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Minkowsky Text]

blumer_c
This post was updated on .
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");}
}
}
}

}

   
 }


The result should be this
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Minkowsky Text]

MichaelAtOz
Administrator
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!
Loading...