I've seen recent postings about wrapping text around geometry created
using OpenSCAD itself, but what about wrapping "ORION" around this STL?
You can use cylindrical_extrude() from the OpenSCAD BOSL2 library to wrap
text around a cylinder. Then intersect that with a cone made from
cylinder(r1=A, r2=B, h=C);
References: Documentation:
https://github.com/revarbat/BOSL2/wiki/mutators.scad#module-cylindrical_extrude
Source code: https://github.com/revarbat/BOSL2
On Mon, Apr 4, 2022 at 11:49 AM jon jon@jonbondy.com wrote:
I've seen recent postings about wrapping text around geometry created
using OpenSCAD itself, but what about wrapping "ORION" around this STL?
https://nasa3d.arc.nasa.gov/detail/orion-capsule
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
On 4/4/2022 11:48 AM, jon wrote:
I've seen recent postings about wrapping text around geometry created
using OpenSCAD itself, but what about wrapping "ORION" around this STL?
You have to figure out the geometry that will match the STL, and then
wrap text around that. It's probably mostly an eyeball /
trial-and-error thing. The sides look conical; it shouldn't be hard to
figure out the matching cone. The bottom might be a fraction of a
sphere - and my guess is that it's close enough to a fraction of a
sphere to make it work.
That is, you would figure out a cone that matches the capsule, and write
something like so:
union() {
cylinder(h=something, d1=something, d2=something);
somehow_wrap_text_around_that_cone("ORION");
}
and then replace the cylinder() with an import().
Or similarly, with a difference() instead of a union(), if you want to
inset the text.
David:
Thanks!
That worked, kinda/sorta, since cylindrical_extrude() appears to only
work on cylinders where d1 and d2 are equal.
Jon
On 4/4/2022 4:37 PM, David Phillip Oster wrote:
You can use cylindrical_extrude() from the OpenSCAD BOSL2 library to
wrap text around a cylinder. Then intersect that with a cone made from
cylinder(r1=A, r2=B, h=C);
References: Documentation:
https://github.com/revarbat/BOSL2/wiki/mutators.scad#module-cylindrical_extrude
Source code: https://github.com/revarbat/BOSL2
On Mon, Apr 4, 2022 at 11:49 AM jon jon@jonbondy.com wrote:
I've seen recent postings about wrapping text around geometry
created using OpenSCAD itself, but what about wrapping "ORION"
around this STL?
https://nasa3d.arc.nasa.gov/detail/orion-capsule
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
? This works for me:
include <BOSL2/std.scad>
intersection(){
cylinder(r1=42, r2 = 2, h=42);
union(){
cylinder(r1=40, r2 = 2, h=40);
translate([0, 0, 15])cylindrical_extrude(or=44, ir=10)
scale([1, 0.5])text(text="ORION", size=10, halign="center",
valign="center");
}
}
On Thu, Apr 7, 2022 at 6:11 AM jon jon@jonbondy.com wrote:
David:
Thanks!
That worked, kinda/sorta, since cylindrical_extrude() appears to only work
on cylinders where d1 and d2 are equal.
Jon
I see what you did. If you put a "#" in front of the translate() you
will see that the text flies straight out, horizontally. You "fix" this
by truncating it with the external cylinder(), but this distorts the
text. Not sure that it is fatal, but the correct (IMHO!) approach would
have the text being extruded orthogonal to the underlying surface.
:)
On 4/7/2022 12:22 PM, David Phillip Oster wrote:
include <BOSL2/std.scad>
intersection(){
cylinder(r1=42, r2 = 2, h=42);
union(){
cylinder(r1=40, r2 = 2, h=40);
translate([0, 0, 15])cylindrical_extrude(or=44, ir=10)
scale([1, 0.5])text(text="ORION", size=10, halign="center",
valign="center");
}
}
Yes. The scale([1, 0.5]) is to partially compensate for the distortion. A
better solution would be to grab the source code for cylindrical_extrude (it
is simple) and add a rotate up angle so each letter is extruded at right
angles to the surface of the cone at that point.
On Thu, Apr 7, 2022 at 10:53 AM jon jon@jonbondy.com wrote:
I see what you did. If you put a "#" in front of the translate() you
will see that the text flies straight out, horizontally. You "fix" this by
truncating it with the external cylinder(), but this distorts the text.
Not sure that it is fatal, but the correct (IMHO!) approach would have the
text being extruded orthogonal to the underlying surface.
:)
On 4/7/2022 12:22 PM, David Phillip Oster wrote:
include <BOSL2/std.scad>
intersection(){
cylinder(r1=42, r2 = 2, h=42);
union(){
cylinder(r1=40, r2 = 2, h=40);
translate([0, 0, 15])cylindrical_extrude(or=44, ir=10)
scale([1, 0.5])text(text="ORION", size=10, halign="center",
valign="center");
}
}
Hmm. Gimme a bit and I’ll see if I can enable extrusion to cones.
On Apr 7, 2022, at 6:11 AM, jon jon@jonbondy.com wrote:
David:
Thanks!
That worked, kinda/sorta, since cylindrical_extrude() appears to only work on cylinders where d1 and d2 are equal.
Jon
On 4/4/2022 4:37 PM, David Phillip Oster wrote:
You can use cylindrical_extrude() from the OpenSCAD BOSL2 library to wrap text around a cylinder. Then intersect that with a cone made from cylinder(r1=A, r2=B, h=C);
References: Documentation: https://github.com/revarbat/BOSL2/wiki/mutators.scad#module-cylindrical_extrude https://github.com/revarbat/BOSL2/wiki/mutators.scad#module-cylindrical_extrude
Source code: https://github.com/revarbat/BOSL2 https://github.com/revarbat/BOSL2
On Mon, Apr 4, 2022 at 11:49 AM jon <jon@jonbondy.com mailto:jon@jonbondy.com> wrote:
I've seen recent postings about wrapping text around geometry created using OpenSCAD itself, but what about wrapping "ORION" around this STL?
https://nasa3d.arc.nasa.gov/detail/orion-capsule https://nasa3d.arc.nasa.gov/detail/orion-capsule_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org mailto:discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org mailto:discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
I would think the best approach would be to construct a path that lies
on the stl and use path_text() to generate the desired text.
https://github.com/revarbat/BOSL2/wiki/shapes3d.scad#module-path_text
In principle if you had the data for the STL available you could
compute a path on it by projection, though it's would be somewhat
complicated.
On Thu, Apr 7, 2022 at 3:53 PM Revar Desmera revarbat@gmail.com wrote:
Hmm. Gimme a bit and I’ll see if I can enable extrusion to cones.
On Apr 7, 2022, at 6:11 AM, jon jon@jonbondy.com wrote:
David:
Thanks!
That worked, kinda/sorta, since cylindrical_extrude() appears to only work on cylinders where d1 and d2 are equal.
Jon
On 4/4/2022 4:37 PM, David Phillip Oster wrote:
You can use cylindrical_extrude() from the OpenSCAD BOSL2 library to wrap text around a cylinder. Then intersect that with a cone made from cylinder(r1=A, r2=B, h=C);
References: Documentation: https://github.com/revarbat/BOSL2/wiki/mutators.scad#module-cylindrical_extrude
Source code: https://github.com/revarbat/BOSL2
On Mon, Apr 4, 2022 at 11:49 AM jon jon@jonbondy.com wrote:
I've seen recent postings about wrapping text around geometry created using OpenSCAD itself, but what about wrapping "ORION" around this STL?
https://nasa3d.arc.nasa.gov/detail/orion-capsule
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Turns out I would need perspective transforms, which OpenSCAD’s multmatrix() won’t do. I could fake it by slicing the original geometry up into innumerable pieces and scale them individually, but that will take a long time, and will probably look like crap. Since user-space access to geometry is not yet a thing, making a conical cylintrical_extrude() looks infeasible.
It looks like path_text() is the workable solution, even if it doesn’t get the perspective transformation. Which may actually be a reason to use it instead anyways.
On Apr 7, 2022, at 12:52 PM, Revar Desmera revarbat@gmail.com wrote:
Hmm. Gimme a bit and I’ll see if I can enable extrusion to cones.
On Apr 7, 2022, at 6:11 AM, jon <jon@jonbondy.com mailto:jon@jonbondy.com> wrote:
David:
Thanks!
That worked, kinda/sorta, since cylindrical_extrude() appears to only work on cylinders where d1 and d2 are equal.
Jon
On 4/4/2022 4:37 PM, David Phillip Oster wrote:
You can use cylindrical_extrude() from the OpenSCAD BOSL2 library to wrap text around a cylinder. Then intersect that with a cone made from cylinder(r1=A, r2=B, h=C);
References: Documentation: https://github.com/revarbat/BOSL2/wiki/mutators.scad#module-cylindrical_extrude https://github.com/revarbat/BOSL2/wiki/mutators.scad#module-cylindrical_extrude
Source code: https://github.com/revarbat/BOSL2 https://github.com/revarbat/BOSL2
On Mon, Apr 4, 2022 at 11:49 AM jon <jon@jonbondy.com mailto:jon@jonbondy.com> wrote:
I've seen recent postings about wrapping text around geometry created using OpenSCAD itself, but what about wrapping "ORION" around this STL?
https://nasa3d.arc.nasa.gov/detail/orion-capsule https://nasa3d.arc.nasa.gov/detail/orion-capsule_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org mailto:discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org mailto:discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org mailto:discuss-leave@lists.openscad.org