discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Preserve "holes" in module objects

YS
Yvette S. Hirth, CCP, CDP
Sat, May 2, 2015 4:43 PM

On 05/02/2015 09:28 AM, stonysmith wrote:

Then you can simply use:
cylinder(r=1,h=100,material=antimatter);

i prefer using unobtanium.  you can collect antimatter at CERN;
unobtanium is ... well, unobtainable.  8^O

-y-

On 05/02/2015 09:28 AM, stonysmith wrote: > Then you can simply use: > cylinder(r=1,h=100,material=antimatter); i prefer using unobtanium. you can collect antimatter at CERN; unobtanium is ... well, unobtainable. 8^O -y-
TP
Torsten Paul
Sat, May 2, 2015 5:08 PM

On 05/02/2015 06:41 PM, Yvette S. Hirth, CCP, CDP wrote:

i've tried unicode 2665 and cut-and-pasting a heart symbol. neither work;
the space where the heart should go remains blank.

i'm sure the problem is that the heart symbol is not defined in "letters.dxf".
i've found other .dxf files but none seem to have a heart  symbol defined.

Try this version of write.scad: https://github.com/brodykenrick/text_on_OpenSCAD

This is updated to use the new native text() feature.

Or if you really just need the heart:

linear_extrude(height = 2) text("\u2665", 20, font = "Arial");

ciao,
Torsten.

On 05/02/2015 06:41 PM, Yvette S. Hirth, CCP, CDP wrote: > i've tried unicode 2665 and cut-and-pasting a heart symbol. neither work; > the space where the heart should go remains blank. > > i'm sure the problem is that the heart symbol is not defined in "letters.dxf". > i've found other .dxf files but none seem to have a heart symbol defined. > Try this version of write.scad: https://github.com/brodykenrick/text_on_OpenSCAD This is updated to use the new native text() feature. Or if you really just need the heart: linear_extrude(height = 2) text("\u2665", 20, font = "Arial"); ciao, Torsten.
TP
Torsten Paul
Sat, May 2, 2015 5:10 PM

On 05/02/2015 06:32 PM, jellsworth wrote:

Now that's funny, but I think it might work! :-)

Nope, it wouldn't. It would just explode the model into a huge amount of energy...

ciao,
Torsten.

On 05/02/2015 06:32 PM, jellsworth wrote: > Now that's funny, but I think it might work! :-) > Nope, it wouldn't. It would just explode the model into a huge amount of energy... ciao, Torsten.
YS
Yvette S. Hirth, CCP, CDP
Sat, May 2, 2015 7:00 PM

On 05/02/2015 10:08 AM, Torsten Paul wrote:

i'm sure the problem is that the heart symbol is not defined in
"letters.dxf".

Try this version of write.scad:
https://github.com/brodykenrick/text_on_OpenSCAD

This is updated to use the new native text() feature.

Or if you really just need the heart:

linear_extrude(height = 2) text("\u2665", 20, font = "Arial");

youDaMan!  worked like a champ - thanks!
-y-

On 05/02/2015 10:08 AM, Torsten Paul wrote: >> i'm sure the problem is that the heart symbol is not defined in >> "letters.dxf". >> > Try this version of write.scad: > https://github.com/brodykenrick/text_on_OpenSCAD > > This is updated to use the new native text() feature. > > Or if you really just need the heart: > > linear_extrude(height = 2) text("\u2665", 20, font = "Arial"); youDaMan! worked like a champ - thanks! -y-
ER
Ezra Reynolds
Sun, May 3, 2015 11:12 AM

Can also do it this way:

module heart()
{
// From Inkscape --> OpenSCAD

scale([25.4/90, -25.4/90, 1]) union()
{

polygon([[191.428575,-43.743294],[191.086969,-34.093746],[190.060750,-25.298315],[188.381989,-17.295250],[186.082757,-10.022800],[183.195124,-3.419214],[179.751161,2.577259],[175.782939,8.028371],[171.322528,12.995872],[166.402000,17.541512],[161.053424,21.727044],[155.308873,25.614219],[149.200415,29.264786],[136.020066,36.103105],[121.768944,42.736008],[106.703613,49.657505],[91.080640,57.361604],[83.140214,61.661506],[75.156590,66.342311],[67.161839,71.465771],[59.188030,77.093637],[51.267235,83.287658],[43.431524,90.109587],[35.712969,97.621175],[28.143640,105.884172],[20.755607,114.960330],[13.580941,124.911399],[6.651714,135.799131],[-0.000005,147.685276],[-5.310523,135.704535],[-11.052693,124.722789],[-17.187685,114.678839],[-23.676665,105.511486],[-30.480801,97.159532],[-37.561262,89.561777],[-44.879215,82.657023],[-52.395827,76.384071],[-60.072267,70.681722],[-67.869701,65.488776],[-75.749299,60.744036],[-83.672227,56.386302],[-99.492747,48.587058],[-115.020603,41.601453],[
-129.945136,34.939896],[-143.955689,28.112797],[-150.521142,24.484171],[-156.741603,20.630563],[-162.578241,16.490774],[-167.992222,12.003605],[-172.944714,7.107857],[-177.396886,1.742331],[-181.309905,-4.154172],[-184.644939,-10.642850],[-187.363155,-17.784902],[-189.425721,-25.641528],[-190.793805,-34.273925],[-191.428575,-43.743294],[-191.276904,-51.104222],[-190.461954,-58.453654],[-189.012029,-65.755332],[-186.955434,-72.972998],[-184.320473,-80.070393],[-181.135451,-87.011260],[-177.428674,-93.759340],[-173.228445,-100.278374],[-168.563069,-106.532106],[-163.460851,-112.484277],[-157.950095,-118.098628],[-152.059107,-123.338901],[-145.816191,-128.168839],[-139.249651,-132.552183],[-132.387793,-136.452675],[-125.258921,-139.834057],[-117.891340,-142.660070],[-110.313354,-144.894457],[-102.553268,-146.500959],[-94.639387,-147.443318],[-86.600016,-147.685276],[-78.463458,-147.190575],[-70.258020,-145.922956],[-62.012005,-143.846163],[-53.753718,-140.923935],[-45.511464,-137.120016
],[-37.313548,-132.398146],[-29.188274,-126.722069],[-21.163947,-120.055525],[-13.268872,-112.362257],[-5.531353,-103.606006],[2.020305,-93.750514],[10.354280,-103.147373],[18.739208,-111.474733],[27.154412,-118.768836],[35.579217,-125.065926],[43.992947,-130.402246],[52.374927,-134.814038],[60.704481,-138.337546],[68.960933,-141.009012],[77.123608,-142.864680],[85.171829,-143.940791],[93.084922,-144.273590],[100.842211,-143.899319],[108.423019,-142.854221],[115.806672,-141.174538],[122.972494,-138.896515],[129.899809,-136.056393],[136.567941,-132.690416],[142.956215,-128.834826],[149.043955,-124.525867],[154.810486,-119.799781],[160.235131,-114.692811],[165.297216,-109.241201],[169.976064,-103.481192],[174.251000,-97.449029],[178.101348,-91.180954],[181.506433,-84.713209],[184.445579,-78.082039],[186.898110,-71.323685],[188.843351,-64.474390],[190.260626,-57.570398],[191.129259,-50.647952],[191.428575,-43.743294]]);
}
}

heart();

On 5/2/2015 3:00 PM, Yvette S. Hirth, CCP, CDP wrote:

On 05/02/2015 10:08 AM, Torsten Paul wrote:

i'm sure the problem is that the heart symbol is not defined in
"letters.dxf".

Try this version of write.scad:
https://github.com/brodykenrick/text_on_OpenSCAD

This is updated to use the new native text() feature.

Or if you really just need the heart:

linear_extrude(height = 2) text("\u2665", 20, font = "Arial");

youDaMan!  worked like a champ - thanks!
-y-


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

Can also do it this way: module heart() { // From Inkscape --> OpenSCAD scale([25.4/90, -25.4/90, 1]) union() { polygon([[191.428575,-43.743294],[191.086969,-34.093746],[190.060750,-25.298315],[188.381989,-17.295250],[186.082757,-10.022800],[183.195124,-3.419214],[179.751161,2.577259],[175.782939,8.028371],[171.322528,12.995872],[166.402000,17.541512],[161.053424,21.727044],[155.308873,25.614219],[149.200415,29.264786],[136.020066,36.103105],[121.768944,42.736008],[106.703613,49.657505],[91.080640,57.361604],[83.140214,61.661506],[75.156590,66.342311],[67.161839,71.465771],[59.188030,77.093637],[51.267235,83.287658],[43.431524,90.109587],[35.712969,97.621175],[28.143640,105.884172],[20.755607,114.960330],[13.580941,124.911399],[6.651714,135.799131],[-0.000005,147.685276],[-5.310523,135.704535],[-11.052693,124.722789],[-17.187685,114.678839],[-23.676665,105.511486],[-30.480801,97.159532],[-37.561262,89.561777],[-44.879215,82.657023],[-52.395827,76.384071],[-60.072267,70.681722],[-67.869701,65.488776],[-75.749299,60.744036],[-83.672227,56.386302],[-99.492747,48.587058],[-115.020603,41.601453],[ -129.945136,34.939896],[-143.955689,28.112797],[-150.521142,24.484171],[-156.741603,20.630563],[-162.578241,16.490774],[-167.992222,12.003605],[-172.944714,7.107857],[-177.396886,1.742331],[-181.309905,-4.154172],[-184.644939,-10.642850],[-187.363155,-17.784902],[-189.425721,-25.641528],[-190.793805,-34.273925],[-191.428575,-43.743294],[-191.276904,-51.104222],[-190.461954,-58.453654],[-189.012029,-65.755332],[-186.955434,-72.972998],[-184.320473,-80.070393],[-181.135451,-87.011260],[-177.428674,-93.759340],[-173.228445,-100.278374],[-168.563069,-106.532106],[-163.460851,-112.484277],[-157.950095,-118.098628],[-152.059107,-123.338901],[-145.816191,-128.168839],[-139.249651,-132.552183],[-132.387793,-136.452675],[-125.258921,-139.834057],[-117.891340,-142.660070],[-110.313354,-144.894457],[-102.553268,-146.500959],[-94.639387,-147.443318],[-86.600016,-147.685276],[-78.463458,-147.190575],[-70.258020,-145.922956],[-62.012005,-143.846163],[-53.753718,-140.923935],[-45.511464,-137.120016 ],[-37.313548,-132.398146],[-29.188274,-126.722069],[-21.163947,-120.055525],[-13.268872,-112.362257],[-5.531353,-103.606006],[2.020305,-93.750514],[10.354280,-103.147373],[18.739208,-111.474733],[27.154412,-118.768836],[35.579217,-125.065926],[43.992947,-130.402246],[52.374927,-134.814038],[60.704481,-138.337546],[68.960933,-141.009012],[77.123608,-142.864680],[85.171829,-143.940791],[93.084922,-144.273590],[100.842211,-143.899319],[108.423019,-142.854221],[115.806672,-141.174538],[122.972494,-138.896515],[129.899809,-136.056393],[136.567941,-132.690416],[142.956215,-128.834826],[149.043955,-124.525867],[154.810486,-119.799781],[160.235131,-114.692811],[165.297216,-109.241201],[169.976064,-103.481192],[174.251000,-97.449029],[178.101348,-91.180954],[181.506433,-84.713209],[184.445579,-78.082039],[186.898110,-71.323685],[188.843351,-64.474390],[190.260626,-57.570398],[191.129259,-50.647952],[191.428575,-43.743294]]); } } heart(); On 5/2/2015 3:00 PM, Yvette S. Hirth, CCP, CDP wrote: > On 05/02/2015 10:08 AM, Torsten Paul wrote: > >>> i'm sure the problem is that the heart symbol is not defined in >>> "letters.dxf". > >>> >> Try this version of write.scad: >> https://github.com/brodykenrick/text_on_OpenSCAD >> >> This is updated to use the new native text() feature. >> >> Or if you really just need the heart: >> >> linear_extrude(height = 2) text("\u2665", 20, font = "Arial"); > > youDaMan! worked like a champ - thanks! > -y- > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
TP
Torsten Paul
Sun, May 3, 2015 12:08 PM

On 05/03/2015 01:12 PM, Ezra Reynolds wrote:

Can also do it this way:

module heart()
{
// From Inkscape --> OpenSCAD

Or, welcome math :-) ...

// see http://mathworld.wolfram.com/HeartCurve.html
function heart(t) = [ 16 * pow(sin(t), 3), 13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t) ];
polygon([ for (t = [0 : 360 ]) heart(t) ]);

ciao,
Torsten.

On 05/03/2015 01:12 PM, Ezra Reynolds wrote: > Can also do it this way: > > module heart() > { > // From Inkscape --> OpenSCAD > Or, welcome math :-) ... // see http://mathworld.wolfram.com/HeartCurve.html function heart(t) = [ 16 * pow(sin(t), 3), 13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t) ]; polygon([ for (t = [0 : 360 ]) heart(t) ]); ciao, Torsten.
YS
Yvette S. Hirth, CCP, CDP
Sun, May 3, 2015 2:13 PM

On 05/03/2015 04:12 AM, Ezra Reynolds wrote:

Can also do it this way:

module heart()

(snippage)

}

heart();

thanks!
yvette

On 05/03/2015 04:12 AM, Ezra Reynolds wrote: > Can also do it this way: > module heart() (snippage) > } > > heart(); thanks! yvette
YS
Yvette S. Hirth, CCP, CDP
Sun, May 3, 2015 2:14 PM

On 05/03/2015 05:08 AM, Torsten Paul wrote:

On 05/03/2015 01:12 PM, Ezra Reynolds wrote:

Can also do it this way:

module heart()
{
// From Inkscape --> OpenSCAD

Or, welcome math :-) ...

// see http://mathworld.wolfram.com/HeartCurve.html
function heart(t) = [ 16 * pow(sin(t), 3), 13 * cos(t) - 5 * cos(2 * t)

  • 2 * cos(3 * t) - cos(4 * t) ];
    polygon([ for (t = [0 : 360 ]) heart(t) ]);

now we're talking!
yvette

On 05/03/2015 05:08 AM, Torsten Paul wrote: > On 05/03/2015 01:12 PM, Ezra Reynolds wrote: >> Can also do it this way: >> >> module heart() >> { >> // From Inkscape --> OpenSCAD >> > Or, welcome math :-) ... > > // see http://mathworld.wolfram.com/HeartCurve.html > function heart(t) = [ 16 * pow(sin(t), 3), 13 * cos(t) - 5 * cos(2 * t) > - 2 * cos(3 * t) - cos(4 * t) ]; > polygon([ for (t = [0 : 360 ]) heart(t) ]); now we're talking! yvette
B
bobc
Sat, May 16, 2015 6:13 PM

stonysmith wrote

(humor)

We just need a way to specify the material for each part.

Then you can simply use:
cylinder(r=1,h=100,material=antimatter);

(/humor)

I know that was a joke, but I think it might be a way to do it. AMF supports
a material id=0, which is used to indicate a void. In a sense, it's a
material with a density of 0.

Having an explicitly defined void might enable holes to be "added" to other
shapes.

--
View this message in context: http://forum.openscad.org/Preserve-holes-in-module-objects-tp12539p12664.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

stonysmith wrote > (humor) > > We just need a way to specify the material for each part. > > Then you can simply use: > cylinder(r=1,h=100,material=antimatter); > > (/humor) I know that was a joke, but I think it might be a way to do it. AMF supports a material id=0, which is used to indicate a void. In a sense, it's a material with a density of 0. Having an explicitly defined void might enable holes to be "added" to other shapes. -- View this message in context: http://forum.openscad.org/Preserve-holes-in-module-objects-tp12539p12664.html Sent from the OpenSCAD mailing list archive at Nabble.com.