discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: [OpenSCAD] unit of measure

M
MichaelAtOz
Fri, Dec 4, 2015 1:54 AM

Hi, Welcome to the forum.

OpenSCAD is unitless.

When you translate it to some output device is where an assumption is made
what 1 is equal to.

Many 3D printers assume 1=1mm, but there are also plenty of designs in
inches, which means when you want to print them you need to scale it.

I'm a metric thinker, so I like to design assuming 1=1mm.

1inch=25.4mm (as I assume you know) so it is just a matter of scaling
up/down depending.

From my exposure, most OpenSCAD designs assume 1mm.

I suppose it comes down to how hard it may be to convert your scripts,
and/or how your head hurts thinking in other units of measure.


Newly minted 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/unit-of-measure-tp14926p14927.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Hi, Welcome to the forum. OpenSCAD is unitless. When you translate it to some output device is where an assumption is made what 1 is equal to. Many 3D printers assume 1=1mm, but there are also plenty of designs in inches, which means when you want to print them you need to scale it. I'm a metric thinker, so I like to design assuming 1=1mm. 1inch=25.4mm (as I assume you know) so it is just a matter of scaling up/down depending. >From my exposure, most OpenSCAD designs assume 1mm. I suppose it comes down to how hard it may be to convert your scripts, and/or how your head hurts thinking in other units of measure. ----- Newly minted 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/unit-of-measure-tp14926p14927.html Sent from the OpenSCAD mailing list archive at Nabble.com.
DM
doug moen
Fri, Dec 4, 2015 2:39 AM

For AMF export, the unit of measurement is 1 millimeter. That's hard coded.

There may be other cases of import or export where we support units of
measurement, but I'm not aware of them. I'm pretty sure that our STL, DXF
and SVG support is unitless.

On 3 December 2015 at 20:54, MichaelAtOz oz.at.michael@gmail.com wrote:

Hi, Welcome to the forum.

OpenSCAD is unitless.

When you translate it to some output device is where an assumption is made
what 1 is equal to.

Many 3D printers assume 1=1mm, but there are also plenty of designs in
inches, which means when you want to print them you need to scale it.

I'm a metric thinker, so I like to design assuming 1=1mm.

1inch=25.4mm (as I assume you know) so it is just a matter of scaling
up/down depending.

From my exposure, most OpenSCAD designs assume 1mm.

I suppose it comes down to how hard it may be to convert your scripts,
and/or how your head hurts thinking in other units of measure.


Newly minted 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/unit-of-measure-tp14926p14927.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


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

For AMF export, the unit of measurement is 1 millimeter. That's hard coded. There may be other cases of import or export where we support units of measurement, but I'm not aware of them. I'm pretty sure that our STL, DXF and SVG support is unitless. On 3 December 2015 at 20:54, MichaelAtOz <oz.at.michael@gmail.com> wrote: > Hi, Welcome to the forum. > > OpenSCAD is unitless. > > When you translate it to some output device is where an assumption is made > what 1 is equal to. > > Many 3D printers assume 1=1mm, but there are also plenty of designs in > inches, which means when you want to print them you need to scale it. > > I'm a metric thinker, so I like to design assuming 1=1mm. > > 1inch=25.4mm (as I assume you know) so it is just a matter of scaling > up/down depending. > > From my exposure, most OpenSCAD designs assume 1mm. > > I suppose it comes down to how hard it may be to convert your scripts, > and/or how your head hurts thinking in other units of measure. > > > > > > ----- > Newly minted 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/unit-of-measure-tp14926p14927.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
N
Neon22
Fri, Dec 4, 2015 2:54 AM

I like that OpenSCAD is unitless.
User can easily scale output if they want a specific scale. E.g. at their 3D
printer stage.

However maybe its useful to add the constants for mmtoinch, etc... in case
someone wants to do that without looking it up.
In the same way many programs will add degreestoradians and radianstodegrees
as constants to be helpful to their users....?

--
View this message in context: http://forum.openscad.org/unit-of-measure-tp14926p14929.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

I like that OpenSCAD is unitless. User can easily scale output if they want a specific scale. E.g. at their 3D printer stage. However maybe its useful to add the constants for mmtoinch, etc... in case someone wants to do that without looking it up. In the same way many programs will add degreestoradians and radianstodegrees as constants to be helpful to their users....? -- View this message in context: http://forum.openscad.org/unit-of-measure-tp14926p14929.html Sent from the OpenSCAD mailing list archive at Nabble.com.
DM
doug moen
Fri, Dec 4, 2015 3:03 AM

mm_per_inch is already defined in <MCAD/constants.scad> and
<MCAD/math.scad>.
Also, math.scad defines deg(x) for converting x radians to degrees.

On 3 December 2015 at 21:54, Neon22 mschafer@wireframe.biz wrote:

I like that OpenSCAD is unitless.
User can easily scale output if they want a specific scale. E.g. at their
3D
printer stage.

However maybe its useful to add the constants for mmtoinch, etc... in case
someone wants to do that without looking it up.
In the same way many programs will add degreestoradians and
radianstodegrees
as constants to be helpful to their users....?

--
View this message in context:
http://forum.openscad.org/unit-of-measure-tp14926p14929.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


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

mm_per_inch is already defined in <MCAD/constants.scad> and <MCAD/math.scad>. Also, math.scad defines deg(x) for converting x radians to degrees. On 3 December 2015 at 21:54, Neon22 <mschafer@wireframe.biz> wrote: > I like that OpenSCAD is unitless. > User can easily scale output if they want a specific scale. E.g. at their > 3D > printer stage. > > However maybe its useful to add the constants for mmtoinch, etc... in case > someone wants to do that without looking it up. > In the same way many programs will add degreestoradians and > radianstodegrees > as constants to be helpful to their users....? > > > > -- > View this message in context: > http://forum.openscad.org/unit-of-measure-tp14926p14929.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > > >
TH
Tim Hawkins
Fri, Dec 4, 2015 3:24 AM

Surely this is just a case of adopting a convention and making it the case,
it should only impact exporters and importers.

If the community decided that the dimensional value 1.0 inside openscad
reffered to 1mm then all it needs is documentation to that effect.

Having it unitless only creates confusion, and opens the door for models to
be missinterpreted during exchange.

It would allow importers and exporters to work in real world units, for
example import dxf and export amf would work correctly and have the right
units

On Fri, Dec 4, 2015, 11:04 doug moen doug@moens.org wrote:

mm_per_inch is already defined in <MCAD/constants.scad> and
<MCAD/math.scad>.
Also, math.scad defines deg(x) for converting x radians to degrees.

On 3 December 2015 at 21:54, Neon22 mschafer@wireframe.biz wrote:

I like that OpenSCAD is unitless.
User can easily scale output if they want a specific scale. E.g. at their
3D
printer stage.

However maybe its useful to add the constants for mmtoinch, etc... in case
someone wants to do that without looking it up.
In the same way many programs will add degreestoradians and
radianstodegrees
as constants to be helpful to their users....?

--
View this message in context:
http://forum.openscad.org/unit-of-measure-tp14926p14929.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


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

Surely this is just a case of adopting a convention and making it the case, it should only impact exporters and importers. If the community decided that the dimensional value 1.0 inside openscad reffered to 1mm then all it needs is documentation to that effect. Having it unitless only creates confusion, and opens the door for models to be missinterpreted during exchange. It would allow importers and exporters to work in real world units, for example import dxf and export amf would work correctly and have the right units On Fri, Dec 4, 2015, 11:04 doug moen <doug@moens.org> wrote: > mm_per_inch is already defined in <MCAD/constants.scad> and > <MCAD/math.scad>. > Also, math.scad defines deg(x) for converting x radians to degrees. > > On 3 December 2015 at 21:54, Neon22 <mschafer@wireframe.biz> wrote: > >> I like that OpenSCAD is unitless. >> User can easily scale output if they want a specific scale. E.g. at their >> 3D >> printer stage. >> >> However maybe its useful to add the constants for mmtoinch, etc... in case >> someone wants to do that without looking it up. >> In the same way many programs will add degreestoradians and >> radianstodegrees >> as constants to be helpful to their users....? >> >> >> >> -- >> View this message in context: >> http://forum.openscad.org/unit-of-measure-tp14926p14929.html >> Sent from the OpenSCAD mailing list archive at Nabble.com. >> >> _______________________________________________ >> OpenSCAD mailing list >> Discuss@lists.openscad.org >> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >> >> >> > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
AC
Alan Cox
Fri, Dec 4, 2015 2:04 PM

From my exposure, most OpenSCAD designs assume 1mm.

I suppose it comes down to how hard it may be to convert your scripts,
and/or how your head hurts thinking in other units of measure.

That doesn't really work for a lot of applications. Consider a railway
model. It's drawn to full scale (about 21m long) taken from reference
drawings. It might be printed in a range of different model scales.

You might naïvely argue that the scale is then either "1:1 in mm" or
"whatever scale you wanted in mm" but actually its neither. The inputs to
the model consist of both elements scaled at 1:1 and elements scaled at
1:whatever because the wall thickness for example is dependant upon the
final result while the majority of the detail is based on the 1:1
dimensions.

Yes the final result might be at 1:1mm but the notion that its some kind
of generic unit throughout OpenSCAD just wouldn't work.

Other examples like screws have similar behaviour. You can elongate a
screw but generally the thread doesn't change dimensions. Often if you
make it bigger the same is true.

Alan

> >From my exposure, most OpenSCAD designs assume 1mm. > > I suppose it comes down to how hard it may be to convert your scripts, > and/or how your head hurts thinking in other units of measure. That doesn't really work for a lot of applications. Consider a railway model. It's drawn to full scale (about 21m long) taken from reference drawings. It might be printed in a range of different model scales. You might naïvely argue that the scale is then either "1:1 in mm" or "whatever scale you wanted in mm" but actually its neither. The inputs to the model consist of both elements scaled at 1:1 and elements scaled at 1:whatever because the wall thickness for example is dependant upon the final result while the majority of the detail is based on the 1:1 dimensions. Yes the final result might be at 1:1mm but the notion that its some kind of generic unit throughout OpenSCAD just wouldn't work. Other examples like screws have similar behaviour. You can elongate a screw but generally the thread doesn't change dimensions. Often if you make it bigger the same is true. Alan
F
fractorr
Fri, Dec 4, 2015 4:17 PM

Great, thanks for the info.  I am looking at using sculpteo to print my
designs and it appears that their system assumes 1 = 1mm so I will just
create a function convert my dimensions to metric and generate one or two
pieces and then print a couple of different pieces just to test and make
sure everything comes out correct.  Then if all looks good on the test
pieces I will generate all the pieces and do a mass print.

--
View this message in context: http://forum.openscad.org/unit-of-measure-tp14926p14942.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Great, thanks for the info. I am looking at using sculpteo to print my designs and it appears that their system assumes 1 = 1mm so I will just create a function convert my dimensions to metric and generate one or two pieces and then print a couple of different pieces just to test and make sure everything comes out correct. Then if all looks good on the test pieces I will generate all the pieces and do a mass print. -- View this message in context: http://forum.openscad.org/unit-of-measure-tp14926p14942.html Sent from the OpenSCAD mailing list archive at Nabble.com.
DV
david vanhorn
Fri, Dec 4, 2015 7:24 PM

What I have done in OpenSCAD and similar languages like Povray is this:

Inch = 25.4
Foot = (12 * Inch)
and so on

It doesn't change anything, but you can then use the units that make sense,
as long as the software can deal with the scale.  In Povray I worked on a
huge animation project where none of the modelers could agree on what a
unit should be, so I made a define that had every linear unit I could think
of from Light_Year to Micron  Cubits, Furlongs, all were in there.

On Fri, Dec 4, 2015 at 9:17 AM, fractorr fractorr@gmail.com wrote:

Great, thanks for the info.  I am looking at using sculpteo to print my
designs and it appears that their system assumes 1 = 1mm so I will just
create a function convert my dimensions to metric and generate one or two
pieces and then print a couple of different pieces just to test and make
sure everything comes out correct.  Then if all looks good on the test
pieces I will generate all the pieces and do a mass print.

--
View this message in context:
http://forum.openscad.org/unit-of-measure-tp14926p14942.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


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

--
K1FZY (WA4TPW) SK  9/29/37-4/13/15

What I have done in OpenSCAD and similar languages like Povray is this: Inch = 25.4 Foot = (12 * Inch) and so on It doesn't change anything, but you can then use the units that make sense, as long as the software can deal with the scale. In Povray I worked on a huge animation project where none of the modelers could agree on what a unit should be, so I made a define that had every linear unit I could think of from Light_Year to Micron Cubits, Furlongs, all were in there. On Fri, Dec 4, 2015 at 9:17 AM, fractorr <fractorr@gmail.com> wrote: > Great, thanks for the info. I am looking at using sculpteo to print my > designs and it appears that their system assumes 1 = 1mm so I will just > create a function convert my dimensions to metric and generate one or two > pieces and then print a couple of different pieces just to test and make > sure everything comes out correct. Then if all looks good on the test > pieces I will generate all the pieces and do a mass print. > > > > > -- > View this message in context: > http://forum.openscad.org/unit-of-measure-tp14926p14942.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > -- K1FZY (WA4TPW) SK 9/29/37-4/13/15
C
ctchin
Sat, Dec 5, 2015 4:35 AM

Tim Hawkins wrote

Surely this is just a case of adopting a convention and making it the
case,
it should only impact exporters and importers.

If the community decided that the dimensional value 1.0 inside openscad
reffered to 1mm then all it needs is documentation to that effect.

Yes the community, not just the OpenSCAD, but the larger 3D printing/rapid
prototyping community, have decided and adopted a convention and
documentation
to that effect: the programs and data files shall be unit-less.

If you can convince the world to change the STL definition to adopt a
physical
unit, you are welcome to come back here to preach it for OpenSCAD.

https://wps3dprinter.wordpress.com/designing/stl-units/

--
View this message in context: http://forum.openscad.org/unit-of-measure-tp14926p14947.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Tim Hawkins wrote > Surely this is just a case of adopting a convention and making it the > case, > it should only impact exporters and importers. > > If the community decided that the dimensional value 1.0 inside openscad > reffered to 1mm then all it needs is documentation to that effect. Yes the community, not just the OpenSCAD, but the larger 3D printing/rapid prototyping community, have decided and adopted a convention and documentation to that effect: the programs and data files shall be unit-less. If you can convince the world to change the STL definition to adopt a physical unit, you are welcome to come back here to preach it for OpenSCAD. https://wps3dprinter.wordpress.com/designing/stl-units/ -- View this message in context: http://forum.openscad.org/unit-of-measure-tp14926p14947.html Sent from the OpenSCAD mailing list archive at Nabble.com.