discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

WARNING: Scaling a 2D object with 0 - removing object

K
kevfquinn
Tue, May 21, 2019 2:21 PM

I get the warning, "Scaling a 2D object with 0 - removing object" when first
running code like this:

linear_extrude(height=10,scale=[0.0,1.0])
square([10.0,10.0],center=true);

As far as I can tell, it's correctly generating what I'm expecting and
doesn't look like it has removed anything, but am I missing something?

--
Sent from: http://forum.openscad.org/

I get the warning, "Scaling a 2D object with 0 - removing object" when first running code like this: linear_extrude(height=10,scale=[0.0,1.0]) square([10.0,10.0],center=true); As far as I can tell, it's correctly generating what I'm expecting and doesn't look like it has removed anything, but am I missing something? -- Sent from: http://forum.openscad.org/
F
fred_dot_u
Tue, May 21, 2019 3:14 PM

I pasted your code into the latest release, hit F5 and got the same error.

Changing the first scale vector to 1.0 turned it into a cube, but returning
the code to 0.0, F5 generated the triangle shape and no error. Erasing the
code, re-pasting it and F5 generated no error, but closing the program,
re-opening, re-pasting makes the error again.

There's something inherently wrong-feeling with a zero scaling factor,
though, isn't there?

--
Sent from: http://forum.openscad.org/

I pasted your code into the latest release, hit F5 and got the same error. Changing the first scale vector to 1.0 turned it into a cube, but returning the code to 0.0, F5 generated the triangle shape and no error. Erasing the code, re-pasting it and F5 generated no error, but closing the program, re-opening, re-pasting makes the error again. There's something inherently wrong-feeling with a zero scaling factor, though, isn't there? -- Sent from: http://forum.openscad.org/
DS
Dan Shriver
Tue, May 21, 2019 3:28 PM

your first number in "scale" is zero.  So it is doing a multiplication by
zero on that.  Not sure what you are expecting

On Tue, May 21, 2019 at 10:22 AM kevfquinn co@kevquinn.com wrote:

I get the warning, "Scaling a 2D object with 0 - removing object" when
first
running code like this:

linear_extrude(height=10,scale=[0.0,1.0])
square([10.0,10.0],center=true);

As far as I can tell, it's correctly generating what I'm expecting and
doesn't look like it has removed anything, but am I missing something?

--
Sent from: http://forum.openscad.org/


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

your first number in "scale" is zero. So it is doing a multiplication by zero on that. Not sure what you are expecting On Tue, May 21, 2019 at 10:22 AM kevfquinn <co@kevquinn.com> wrote: > I get the warning, "Scaling a 2D object with 0 - removing object" when > first > running code like this: > > linear_extrude(height=10,scale=[0.0,1.0]) > square([10.0,10.0],center=true); > > As far as I can tell, it's correctly generating what I'm expecting and > doesn't look like it has removed anything, but am I missing something? > > > > > -- > Sent from: http://forum.openscad.org/ > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
AC
A. Craig West
Tue, May 21, 2019 3:37 PM

That is a totally valid case in a linear extrude. If you apply this to a
square, you will get a wedge as a result

On Tue, 21 May 2019, 11:29 Dan Shriver, tabbydan@gmail.com wrote:

your first number in "scale" is zero.  So it is doing a multiplication by
zero on that.  Not sure what you are expecting

On Tue, May 21, 2019 at 10:22 AM kevfquinn co@kevquinn.com wrote:

I get the warning, "Scaling a 2D object with 0 - removing object" when
first
running code like this:

linear_extrude(height=10,scale=[0.0,1.0])
square([10.0,10.0],center=true);

As far as I can tell, it's correctly generating what I'm expecting and
doesn't look like it has removed anything, but am I missing something?

--
Sent from: http://forum.openscad.org/


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

That is a totally valid case in a linear extrude. If you apply this to a square, you will get a wedge as a result On Tue, 21 May 2019, 11:29 Dan Shriver, <tabbydan@gmail.com> wrote: > your first number in "scale" is zero. So it is doing a multiplication by > zero on that. Not sure what you are expecting > > On Tue, May 21, 2019 at 10:22 AM kevfquinn <co@kevquinn.com> wrote: > >> I get the warning, "Scaling a 2D object with 0 - removing object" when >> first >> running code like this: >> >> linear_extrude(height=10,scale=[0.0,1.0]) >> square([10.0,10.0],center=true); >> >> As far as I can tell, it's correctly generating what I'm expecting and >> doesn't look like it has removed anything, but am I missing something? >> >> >> >> >> -- >> Sent from: http://forum.openscad.org/ >> >> _______________________________________________ >> 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 >
DS
Dan Shriver
Tue, May 21, 2019 4:10 PM

I get the warning in my old version of OpenScad too.  But it also renders a
wedge (suggesting the warning, at least in my version, happens every time
there is multiplication by zero; but that it does not necessarily really
remove the object).  If both arguments are zero it renders a pyramid.

On Tue, May 21, 2019 at 11:38 AM A. Craig West acraigwest@gmail.com wrote:

That is a totally valid case in a linear extrude. If you apply this to a
square, you will get a wedge as a result

On Tue, 21 May 2019, 11:29 Dan Shriver, tabbydan@gmail.com wrote:

your first number in "scale" is zero.  So it is doing a multiplication by
zero on that.  Not sure what you are expecting

On Tue, May 21, 2019 at 10:22 AM kevfquinn co@kevquinn.com wrote:

I get the warning, "Scaling a 2D object with 0 - removing object" when
first
running code like this:

linear_extrude(height=10,scale=[0.0,1.0])
square([10.0,10.0],center=true);

As far as I can tell, it's correctly generating what I'm expecting and
doesn't look like it has removed anything, but am I missing something?

--
Sent from: http://forum.openscad.org/


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

I get the warning in my old version of OpenScad too. But it also renders a wedge (suggesting the warning, at least in my version, happens every time there is multiplication by zero; but that it does not necessarily really remove the object). If both arguments are zero it renders a pyramid. On Tue, May 21, 2019 at 11:38 AM A. Craig West <acraigwest@gmail.com> wrote: > That is a totally valid case in a linear extrude. If you apply this to a > square, you will get a wedge as a result > > On Tue, 21 May 2019, 11:29 Dan Shriver, <tabbydan@gmail.com> wrote: > >> your first number in "scale" is zero. So it is doing a multiplication by >> zero on that. Not sure what you are expecting >> >> On Tue, May 21, 2019 at 10:22 AM kevfquinn <co@kevquinn.com> wrote: >> >>> I get the warning, "Scaling a 2D object with 0 - removing object" when >>> first >>> running code like this: >>> >>> linear_extrude(height=10,scale=[0.0,1.0]) >>> square([10.0,10.0],center=true); >>> >>> As far as I can tell, it's correctly generating what I'm expecting and >>> doesn't look like it has removed anything, but am I missing something? >>> >>> >>> >>> >>> -- >>> Sent from: http://forum.openscad.org/ >>> >>> _______________________________________________ >>> 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 >> > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
O
openscad@ray.bellis.me.uk
Tue, May 21, 2019 4:24 PM

On 21/05/2019 17:10, Dan Shriver wrote:

I get the warning in my old version of OpenScad too.  But it also
renders a wedge (suggesting the warning, at least in my version,
happens every time there is multiplication by zero; but that it does
not necessarily really remove the object).  If both arguments are
zero it renders a pyramid.

The "scale" value is causing the original square to be turned into a
degenerate line in the [0, 1] case or a point for [0, 0].

For a system that's intended for modelling 3D, I'm not entirely
surprised that it's complaining about the resulting 2D and 1D "objects".

Ray

On 21/05/2019 17:10, Dan Shriver wrote: > I get the warning in my old version of OpenScad too. But it also > renders a wedge (suggesting the warning, at least in my version, > happens every time there is multiplication by zero; but that it does > not necessarily really remove the object). If both arguments are > zero it renders a pyramid. The "scale" value is causing the original square to be turned into a degenerate line in the [0, 1] case or a point for [0, 0]. For a system that's intended for modelling 3D, I'm not entirely surprised that it's complaining about the resulting 2D and 1D "objects". Ray
AC
A. Craig West
Tue, May 21, 2019 4:32 PM

It is by far the simplest way to generate wedges and cubes, though,
and there is no actual 1D or 2D object, they are just a vertex or edge
of the final 3D object, which are both valid.

On Tue, May 21, 2019 at 12:25 PM openscad@ray.bellis.me.uk wrote:

On 21/05/2019 17:10, Dan Shriver wrote:

I get the warning in my old version of OpenScad too.  But it also
renders a wedge (suggesting the warning, at least in my version,
happens every time there is multiplication by zero; but that it does
not necessarily really remove the object).  If both arguments are
zero it renders a pyramid.

The "scale" value is causing the original square to be turned into a
degenerate line in the [0, 1] case or a point for [0, 0].

For a system that's intended for modelling 3D, I'm not entirely
surprised that it's complaining about the resulting 2D and 1D "objects".

Ray


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

It is by far the simplest way to generate wedges and cubes, though, and there is no actual 1D or 2D object, they are just a vertex or edge of the final 3D object, which are both valid. On Tue, May 21, 2019 at 12:25 PM <openscad@ray.bellis.me.uk> wrote: > > > > On 21/05/2019 17:10, Dan Shriver wrote: > > > I get the warning in my old version of OpenScad too. But it also > > renders a wedge (suggesting the warning, at least in my version, > > happens every time there is multiplication by zero; but that it does > > not necessarily really remove the object). If both arguments are > > zero it renders a pyramid. > > The "scale" value is causing the original square to be turned into a > degenerate line in the [0, 1] case or a point for [0, 0]. > > For a system that's intended for modelling 3D, I'm not entirely > surprised that it's complaining about the resulting 2D and 1D "objects". > > Ray > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
O
openscad@ray.bellis.me.uk
Tue, May 21, 2019 4:42 PM

On 21/05/2019 17:32, A. Craig West wrote:

It is by far the simplest way to generate wedges and cubes, though,
and there is no actual 1D or 2D object, they are just a vertex or edge
of the final 3D object, which are both valid.

They might look like just a vertex or edge, but unless OpenSCAD has
smarts I don't know about, aren't they actually four vertices (or two
edges) occupying the same location(s).

Specifying e.g. 0.001 as the scale factor should produce something
that's physically identical, but without the degeneration to 2D or 1D.

Ray

On 21/05/2019 17:32, A. Craig West wrote: > It is by far the simplest way to generate wedges and cubes, though, > and there is no actual 1D or 2D object, they are just a vertex or edge > of the final 3D object, which are both valid. They might _look_ like just a vertex or edge, but unless OpenSCAD has smarts I don't know about, aren't they actually four vertices (or two edges) occupying the same location(s). Specifying e.g. 0.001 as the scale factor should produce something that's physically identical, but without the degeneration to 2D or 1D. Ray
K
kevfquinn
Tue, May 21, 2019 5:10 PM

I'm expecting the square to scale to a line, on the understanding that the
source code is an "ideal" mathematical expression of the shape.

In other words I'm expecting it to be identical to:

linear_extrude(height=10.0)
polygon([[-5,0],[5,0],[0,10]]);

(bar the rotation).

DanS wrote

your first number in "scale" is zero.  So it is doing a multiplication by
zero on that.  Not sure what you are expecting

On Tue, May 21, 2019 at 10:22 AM kevfquinn <

co@

> wrote:

I get the warning, "Scaling a 2D object with 0 - removing object" when
first
running code like this:

linear_extrude(height=10,scale=[0.0,1.0])
square([10.0,10.0],center=true);

As far as I can tell, it's correctly generating what I'm expecting and
doesn't look like it has removed anything, but am I missing something?

--
Sent from: http://forum.openscad.org/


OpenSCAD mailing list

Discuss@.openscad

Discuss@.openscad

I'm expecting the square to scale to a line, on the understanding that the source code is an "ideal" mathematical expression of the shape. In other words I'm expecting it to be identical to: linear_extrude(height=10.0) polygon([[-5,0],[5,0],[0,10]]); (bar the rotation). DanS wrote > your first number in "scale" is zero. So it is doing a multiplication by > zero on that. Not sure what you are expecting > > On Tue, May 21, 2019 at 10:22 AM kevfquinn &lt; > co@ > &gt; wrote: > >> I get the warning, "Scaling a 2D object with 0 - removing object" when >> first >> running code like this: >> >> linear_extrude(height=10,scale=[0.0,1.0]) >> square([10.0,10.0],center=true); >> >> As far as I can tell, it's correctly generating what I'm expecting and >> doesn't look like it has removed anything, but am I missing something? >> >> >> >> >> -- >> Sent from: http://forum.openscad.org/ >> >> _______________________________________________ >> OpenSCAD mailing list >> > Discuss@.openscad >> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >> > > _______________________________________________ > OpenSCAD mailing list > Discuss@.openscad > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org -- Sent from: http://forum.openscad.org/
K
kevfquinn
Tue, May 21, 2019 5:16 PM

I'm assuming the processing that issues the warning becomes cached, so the
warning only appears the first time. I think that makes sense for warnings
(which don't prevent processing from completing successfully).

fred_dot_u wrote

I pasted your code into the latest release, hit F5 and got the same error.

Changing the first scale vector to 1.0 turned it into a cube, but
returning
the code to 0.0, F5 generated the triangle shape and no error. Erasing the
code, re-pasting it and F5 generated no error, but closing the program,
re-opening, re-pasting makes the error again.

There's something inherently wrong-feeling with a zero scaling factor,
though, isn't there?

--
Sent from: http://forum.openscad.org/


OpenSCAD mailing list

Discuss@.openscad

I'm assuming the processing that issues the warning becomes cached, so the warning only appears the first time. I think that makes sense for warnings (which don't prevent processing from completing successfully). fred_dot_u wrote > I pasted your code into the latest release, hit F5 and got the same error. > > Changing the first scale vector to 1.0 turned it into a cube, but > returning > the code to 0.0, F5 generated the triangle shape and no error. Erasing the > code, re-pasting it and F5 generated no error, but closing the program, > re-opening, re-pasting makes the error again. > > There's something inherently wrong-feeling with a zero scaling factor, > though, isn't there? > > > > -- > Sent from: http://forum.openscad.org/ > > _______________________________________________ > OpenSCAD mailing list > Discuss@.openscad > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org -- Sent from: http://forum.openscad.org/