discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Newbie with rotation problem

M
macdarren
Fri, Apr 1, 2016 7:14 PM

huh...that last doesn't work for me at all...I can kinda round part of the
primary object if I translate the sphere out to the coroner of the object
but still it only rounds part of it...

I admit I don't know much about full, so maybe there is some way to make it
work over the entire thing.
To my mind I would need a sphere at each vertex.

maybe minkowski() instead of hull()?

--
View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16894.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

huh...that last doesn't work for me at all...I can kinda round part of the primary object if I translate the sphere out to the coroner of the object but still it only rounds part of it... I admit I don't know much about full, so maybe there is some way to make it work over the entire thing. To my mind I would need a sphere at each vertex. maybe minkowski() instead of hull()? -- View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16894.html Sent from the OpenSCAD mailing list archive at Nabble.com.
CA
Carsten Arnholm
Fri, Apr 1, 2016 7:45 PM

On 01. april 2016 21:11, Ronaldo wrote:

Sorry. That is what I mean:

minkowski() {
sphere(1);
union() {
cylinder(r1=10,r2=0,h=10,$fn=4);
mirror([0,0,-1]) cylinder(r1=10,r2=0,h=10,$fn=4);
}
}

Interesting ... so minkowski does not really care about the
specification of the object type (cylinder), only the discretized result.

It appears to me to be a major hack to use cylinder to specify a cone
which becomes a pyramid and then use minkowski on that....

Carsten Arnholm

On 01. april 2016 21:11, Ronaldo wrote: > Sorry. That is what I mean: > > minkowski() { > sphere(1); > union() { > cylinder(r1=10,r2=0,h=10,$fn=4); > mirror([0,0,-1]) cylinder(r1=10,r2=0,h=10,$fn=4); > } > } Interesting ... so minkowski does not really care about the specification of the object type (cylinder), only the discretized result. It appears to me to be a major hack to use cylinder to specify a cone which becomes a pyramid and then use minkowski on that.... Carsten Arnholm
NH
nop head
Fri, Apr 1, 2016 8:51 PM

There are no true spheres, cylinders, circles or curves in OpenScad once
the renderings starts. All the geometry is represented by polygons and
polyhedra.

On 1 April 2016 at 20:45, Carsten Arnholm arnholm@arnholm.org wrote:

On 01. april 2016 21:11, Ronaldo wrote:

Sorry. That is what I mean:

minkowski() {
sphere(1);
union() {
cylinder(r1=10,r2=0,h=10,$fn=4);
mirror([0,0,-1]) cylinder(r1=10,r2=0,h=10,$fn=4);
}
}

Interesting ... so minkowski does not really care about the specification
of the object type (cylinder), only the discretized result.

It appears to me to be a major hack to use cylinder to specify a cone
which becomes a pyramid and then use minkowski on that....

Carsten Arnholm


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

There are no true spheres, cylinders, circles or curves in OpenScad once the renderings starts. All the geometry is represented by polygons and polyhedra. On 1 April 2016 at 20:45, Carsten Arnholm <arnholm@arnholm.org> wrote: > On 01. april 2016 21:11, Ronaldo wrote: > >> Sorry. That is what I mean: >> >> minkowski() { >> sphere(1); >> union() { >> cylinder(r1=10,r2=0,h=10,$fn=4); >> mirror([0,0,-1]) cylinder(r1=10,r2=0,h=10,$fn=4); >> } >> } >> > > Interesting ... so minkowski does not really care about the specification > of the object type (cylinder), only the discretized result. > > It appears to me to be a major hack to use cylinder to specify a cone > which becomes a pyramid and then use minkowski on that.... > > Carsten Arnholm > > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
WT
Wim ten Brink
Fri, Apr 1, 2016 10:51 PM

I generally use $fn=100; as the first line in my projects, setting it at a
global level. With hull(), it then gives a nice, round shape. The minkowski
version also gives a good-looking result but when I subtract them from one
another by using:

$fn=100;
radius=10;
difference(){
hull(){
translate([radius-1, 0, 0]) sphere(1);
translate([-radius-1, 0, 0]) sphere(1);
translate([0, radius-1, 0]) sphere(1);
translate([0, -radius-1, 0]) sphere(1);
translate([0, 0, radius-1]) sphere(1);
translate([0, 0, -radius-1]) sphere(1);
}
minkowski() {
sphere(1);
union() {
cylinder(r1=radius, r2=0, h=radius, $fn=4);
mirror([0,0,-1]) cylinder(r1=radius, r2=0, h=radius, $fn=4);
}
}
}

Then it seems the minkowski version is a bit wrong. The hull version touches
the axes at exactly 10 but the minkowski is too long on the negative sides.
Thus, the minkowski version doesn't seem to have the same length sides.
(The hull version needs radius-1 because the spheres also take space, and
they have a radius of 1. Total makes the exact radius.


With kind regards,
Wim,
W.A. ten Brink

View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16903.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

I generally use $fn=100; as the first line in my projects, setting it at a global level. With hull(), it then gives a nice, round shape. The minkowski version also gives a good-looking result but when I subtract them from one another by using: > $fn=100; > radius=10; > difference(){ > hull(){ > translate([radius-1, 0, 0]) sphere(1); > translate([-radius-1, 0, 0]) sphere(1); > translate([0, radius-1, 0]) sphere(1); > translate([0, -radius-1, 0]) sphere(1); > translate([0, 0, radius-1]) sphere(1); > translate([0, 0, -radius-1]) sphere(1); > } > minkowski() { > sphere(1); > union() { > cylinder(r1=radius, r2=0, h=radius, $fn=4); > mirror([0,0,-1]) cylinder(r1=radius, r2=0, h=radius, $fn=4); > } > } > } Then it seems the minkowski version is a bit wrong. The hull version touches the axes at exactly 10 but the minkowski is too long on the negative sides. Thus, the minkowski version doesn't seem to have the same length sides. (The hull version needs radius-1 because the spheres also take space, and they have a radius of 1. Total makes the exact radius. ----- With kind regards, Wim, W.A. ten Brink -- View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16903.html Sent from the OpenSCAD mailing list archive at Nabble.com.
WT
Wim ten Brink
Fri, Apr 1, 2016 10:54 PM

Oops, one minus needs to be a +. :)


With kind regards,
Wim,
W.A. ten Brink

View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16904.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Oops, one minus needs to be a +. :) ----- With kind regards, Wim, W.A. ten Brink -- View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16904.html Sent from the OpenSCAD mailing list archive at Nabble.com.
R
Ronaldo
Sat, Apr 2, 2016 6:21 PM

nophead wrote

There are no true spheres, cylinders, circles or curves in OpenScad once
the renderings starts. All the geometry is represented by polygons and
polyhedra.

This is a quiz :) The following image is the preview of translated
primitives. No boolean operations, no rotation, neither scale nor mirror.
How to get them?

http://forum.openscad.org/file/n16907/primitives.png

--
View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16907.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

nophead wrote > There are no true spheres, cylinders, circles or curves in OpenScad once > the renderings starts. All the geometry is represented by polygons and > polyhedra. This is a quiz :) The following image is the preview of translated primitives. No boolean operations, no rotation, neither scale nor mirror. How to get them? <http://forum.openscad.org/file/n16907/primitives.png> -- View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16907.html Sent from the OpenSCAD mailing list archive at Nabble.com.
F
fred_dot_u
Sat, Apr 2, 2016 6:26 PM

It would appear that a good part of the answer to your question lies here:

https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids

Some of the answer involves low values of $fn along with cylinders of
different r1 and r2 values.

Do you already know the answers and this is a true quiz, or are you seeking
a solution?

--
View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16908.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

It would appear that a good part of the answer to your question lies here: https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids Some of the answer involves low values of $fn along with cylinders of different r1 and r2 values. Do you already know the answers and this is a true quiz, or are you seeking a solution? -- View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16908.html Sent from the OpenSCAD mailing list archive at Nabble.com.
DM
doug moen
Sat, Apr 2, 2016 6:57 PM

The second from the left is a sphere.
All the rest could be done using cylinder.
The middle could be a cube.
The second from right could be a sphere.

See how OpenSCAD has warped me? When I first started using OpenSCAD, I was
really annoyed by all of this. I wanted sphere to always produce a sphere,
cylinder to always produce a cylinder, etc.

I am still in favour of adding prism(), pyramid() and cone(), even though
you would normally do those using cylinder().

On 2 April 2016 at 14:21, Ronaldo rcmpersiano@gmail.com wrote:

nophead wrote

There are no true spheres, cylinders, circles or curves in OpenScad once
the renderings starts. All the geometry is represented by polygons and
polyhedra.

This is a quiz :) The following image is the preview of translated
primitives. No boolean operations, no rotation, neither scale nor mirror.
How to get them?

http://forum.openscad.org/file/n16907/primitives.png

--
View this message in context:
http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16907.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

The second from the left is a sphere. All the rest could be done using cylinder. The middle could be a cube. The second from right could be a sphere. See how OpenSCAD has warped me? When I first started using OpenSCAD, I was really annoyed by all of this. I wanted sphere to always produce a sphere, cylinder to always produce a cylinder, etc. I am still in favour of adding prism(), pyramid() and cone(), even though you would normally do those using cylinder(). On 2 April 2016 at 14:21, Ronaldo <rcmpersiano@gmail.com> wrote: > nophead wrote > > There are no true spheres, cylinders, circles or curves in OpenScad once > > the renderings starts. All the geometry is represented by polygons and > > polyhedra. > > This is a quiz :) The following image is the preview of translated > primitives. No boolean operations, no rotation, neither scale nor mirror. > How to get them? > > <http://forum.openscad.org/file/n16907/primitives.png> > > > > -- > View this message in context: > http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16907.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 > > >
RW
Rogier Wolff
Sat, Apr 2, 2016 7:58 PM

On Sat, Apr 02, 2016 at 02:57:39PM -0400, doug moen wrote:

See how OpenSCAD has warped me? When I first started using OpenSCAD, I was
really annoyed by all of this. I wanted sphere to always produce a sphere,
cylinder to always produce a cylinder, etc.

IMHO, it is fine if openscad has to "simplify" cylinders to extruded
polygons. However, in writing code, it would be best to assume that
the implementation reserves the right to use the simplification OR
BETTER.

That means that the triangular prism could suddenly upgrade to a
perfect cylinder if say the output format directly supports cylinders.

But alas, it has become customary to exploit the defects of the
implementation so that now there is no way back.

I am still in favour of adding prism(), pyramid() and cone(), even though
you would normally do those using cylinder().

Those would, be oneliner modules, right? There is a "system" library
now, so it could be added there, right?

Roger. 

--
** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2600998 **
**    Delftechpark 26 2628 XH  Delft, The Netherlands. KVK: 27239233    **
-- BitWizard writes Linux device drivers for any device you may have! --
The plan was simple, like my brother-in-law Phil. But unlike
Phil, this plan just might work.

On Sat, Apr 02, 2016 at 02:57:39PM -0400, doug moen wrote: > See how OpenSCAD has warped me? When I first started using OpenSCAD, I was > really annoyed by all of this. I wanted sphere to always produce a sphere, > cylinder to always produce a cylinder, etc. IMHO, it is fine if openscad has to "simplify" cylinders to extruded polygons. However, in writing code, it would be best to assume that the implementation reserves the right to use the simplification OR BETTER. That means that the triangular prism could suddenly upgrade to a perfect cylinder if say the output format directly supports cylinders. But alas, it has become customary to exploit the defects of the implementation so that now there is no way back. > I am still in favour of adding prism(), pyramid() and cone(), even though > you would normally do those using cylinder(). Those would, be oneliner modules, right? There is a "system" library now, so it could be added there, right? Roger. -- ** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2600998 ** ** Delftechpark 26 2628 XH Delft, The Netherlands. KVK: 27239233 ** *-- BitWizard writes Linux device drivers for any device you may have! --* The plan was simple, like my brother-in-law Phil. But unlike Phil, this plan just might work.
R
Ronaldo
Sat, Apr 2, 2016 8:08 PM

fred_dot_u wrote

It would appear that a good part of the answer to your question lies here:

https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids

Some of the answer involves low values of $fn along with cylinders of
different r1 and r2 values.

Do you already know the answers and this is a true quiz, or are you
seeking a solution?

You are right. I generated the image so it is really a quiz.

--
View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16913.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

fred_dot_u wrote > It would appear that a good part of the answer to your question lies here: > > https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids > > Some of the answer involves low values of $fn along with cylinders of > different r1 and r2 values. > > Do you already know the answers and this is a true quiz, or are you > seeking a solution? You are right. I generated the image so it is really a quiz. -- View this message in context: http://forum.openscad.org/Newbie-with-rotation-problem-tp16873p16913.html Sent from the OpenSCAD mailing list archive at Nabble.com.