discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

rotate around a "virtual axis"

ES
Emanuele Spatola
Thu, Jun 4, 2015 12:39 AM

Hi guys,
I'm trying without much success to create something that looks like this:
http://www.thingiverse.com/thing:282868

To be more specific the goal is to create an empty sphere where the surface
has hexagonal-shaped holes (arranged like a bee nest).

I've tried many approaches, the one I think could be the best is the
following:

  1. cut an hexagon
  2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon
  3. recursively repeat for each of the six hexagon using as z-axis the line
    connecting the center of the sphere to the current hexagon.

I was not able to implement that solution since as far as I now it's not
possible to rotate around a "virtual axis"

That's another possible (buggy) implementation (it takes around 1 min to
render):
https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79

Any help would be really appreciated!

Thanks,
Emanuele

Hi guys, I'm trying without much success to create something that looks like this: http://www.thingiverse.com/thing:282868 To be more specific the goal is to create an empty sphere where the surface has hexagonal-shaped holes (arranged like a bee nest). I've tried many approaches, the one I think could be the best is the following: 1. cut an hexagon 2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon 3. recursively repeat for each of the six hexagon using as z-axis the line connecting the center of the sphere to the current hexagon. I was not able to implement that solution since as far as I now it's not possible to rotate around a "virtual axis" That's another possible (buggy) implementation (it takes around 1 min to render): https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79 Any help would be really appreciated! Thanks, Emanuele
NH
nop head
Thu, Jun 4, 2015 9:18 AM

Rotation is around the origin and around the XYZ axes. To rotate around an
arbitrary axis you need to rotate and translate your object to line up the
arbitrary axis with the origin and say X. Then rotate around X and then do
the opposite rotation and translation to put your axis back where it was.

On 4 June 2015 at 01:39, Emanuele Spatola emanuele.spatola@gmail.com
wrote:

Hi guys,
I'm trying without much success to create something that looks like this:
http://www.thingiverse.com/thing:282868

To be more specific the goal is to create an empty sphere where the
surface has hexagonal-shaped holes (arranged like a bee nest).

I've tried many approaches, the one I think could be the best is the
following:

  1. cut an hexagon
  2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon
  3. recursively repeat for each of the six hexagon using as z-axis the line
    connecting the center of the sphere to the current hexagon.

I was not able to implement that solution since as far as I now it's not
possible to rotate around a "virtual axis"

That's another possible (buggy) implementation (it takes around 1 min to
render):
https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79

Any help would be really appreciated!

Thanks,
Emanuele


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

Rotation is around the origin and around the XYZ axes. To rotate around an arbitrary axis you need to rotate and translate your object to line up the arbitrary axis with the origin and say X. Then rotate around X and then do the opposite rotation and translation to put your axis back where it was. On 4 June 2015 at 01:39, Emanuele Spatola <emanuele.spatola@gmail.com> wrote: > Hi guys, > I'm trying without much success to create something that looks like this: > http://www.thingiverse.com/thing:282868 > > To be more specific the goal is to create an empty sphere where the > surface has hexagonal-shaped holes (arranged like a bee nest). > > I've tried many approaches, the one I think could be the best is the > following: > 1. cut an hexagon > 2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon > 3. recursively repeat for each of the six hexagon using as z-axis the line > connecting the center of the sphere to the current hexagon. > > I was not able to implement that solution since as far as I now it's not > possible to rotate around a "virtual axis" > > That's another possible (buggy) implementation (it takes around 1 min to > render): > https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79 > > Any help would be really appreciated! > > Thanks, > Emanuele > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > >
A
arnholm@arnholm.org
Thu, Jun 4, 2015 11:11 AM

On 2015-06-04 02:39, Emanuele Spatola wrote:

I was not able to implement that solution since as far as I now it's
not possible to rotate around a "virtual axis"

If you mean to rotate around an arbitrarily oriented axis, it is
certainly possible. What you need to do is to create a function
returning a 4x4 homogenous transformation matrix specifying your
rotation. Its input would be a vector defining the rotation axis and
also the rotation angle. The result value is applied to the model using
"multmatrix".

Carsten Arnholm

On 2015-06-04 02:39, Emanuele Spatola wrote: > I was not able to implement that solution since as far as I now it's > not possible to rotate around a "virtual axis" If you mean to rotate around an arbitrarily oriented axis, it is certainly possible. What you need to do is to create a function returning a 4x4 homogenous transformation matrix specifying your rotation. Its input would be a vector defining the rotation axis and also the rotation angle. The result value is applied to the model using "multmatrix". Carsten Arnholm
R
runsun
Thu, Jun 4, 2015 3:30 PM

This might help:

http://forum.openscad.org/Transformation-matrix-function-library-td5154.html


$  Runsun Pan, PhD

$ -- OpenScad_DocTest: doc and unit test ( Github , Thingiverse  )

$ -- hash parameter model: here , here

$ -- Linux Mint 17.1 Rebecca x64  + OpenSCAD 2015.03.15/2015.04.01.nightly

--
View this message in context: http://forum.openscad.org/rotate-around-a-virtual-axis-tp12779p12789.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

This might help: http://forum.openscad.org/Transformation-matrix-function-library-td5154.html ----- $ Runsun Pan, PhD $ -- OpenScad_DocTest: doc and unit test ( Github , Thingiverse ) $ -- hash parameter model: here , here $ -- Linux Mint 17.1 Rebecca x64 + OpenSCAD 2015.03.15/2015.04.01.nightly -- View this message in context: http://forum.openscad.org/rotate-around-a-virtual-axis-tp12779p12789.html Sent from the OpenSCAD mailing list archive at Nabble.com.
ES
Emanuele Spatola
Fri, Jun 5, 2015 12:56 AM

After almost a day of failed attempts and research, I found out what I
wanted to create is not physically possible :)
or at least it's not possible just with hexagons, you need to put some
pentagons in the middle.
The name of the polyhedron is Geodesic Sphere dual:
http://en.wikipedia.org/wiki/Geodesic_dome#Chord_factors

the design is not as straightforward as I thought, I found a couple of
.scad sources:
http://www.thingiverse.com/thing:345775
http://www.thingiverse.com/thing:65820
but they are not parametric.

Also turned out openJsC http://openjscad.org/#examples/sphere.jscadAD has
a geodesic sphere built in:
https://plus.google.com/+ReneKMueller/posts/5hp2CcMRJqu

So now I'm playing with the geodesic sphere source code trying to make what
I need:
http://openjscad.org/#examples/geodesic-sphere.jscad

Thanks to everybody who helped!!

Emanuele

On Thu, Jun 4, 2015 at 1:39 AM, Emanuele Spatola <emanuele.spatola@gmail.com

wrote:

Hi guys,
I'm trying without much success to create something that looks like this:
http://www.thingiverse.com/thing:282868

To be more specific the goal is to create an empty sphere where the
surface has hexagonal-shaped holes (arranged like a bee nest).

I've tried many approaches, the one I think could be the best is the
following:

  1. cut an hexagon
  2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon
  3. recursively repeat for each of the six hexagon using as z-axis the line
    connecting the center of the sphere to the current hexagon.

I was not able to implement that solution since as far as I now it's not
possible to rotate around a "virtual axis"

That's another possible (buggy) implementation (it takes around 1 min to
render):
https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79

Any help would be really appreciated!

Thanks,
Emanuele

After almost a day of failed attempts and research, I found out what I wanted to create is not physically possible :) or at least it's not possible just with hexagons, you need to put some pentagons in the middle. The name of the polyhedron is Geodesic Sphere dual: http://en.wikipedia.org/wiki/Geodesic_dome#Chord_factors the design is not as straightforward as I thought, I found a couple of .scad sources: http://www.thingiverse.com/thing:345775 http://www.thingiverse.com/thing:65820 but they are not parametric. Also turned out openJsC <http://openjscad.org/#examples/sphere.jscad>AD has a geodesic sphere built in: https://plus.google.com/+ReneKMueller/posts/5hp2CcMRJqu So now I'm playing with the geodesic sphere source code trying to make what I need: http://openjscad.org/#examples/geodesic-sphere.jscad Thanks to everybody who helped!! Emanuele On Thu, Jun 4, 2015 at 1:39 AM, Emanuele Spatola <emanuele.spatola@gmail.com > wrote: > Hi guys, > I'm trying without much success to create something that looks like this: > http://www.thingiverse.com/thing:282868 > > To be more specific the goal is to create an empty sphere where the > surface has hexagonal-shaped holes (arranged like a bee nest). > > I've tried many approaches, the one I think could be the best is the > following: > 1. cut an hexagon > 2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon > 3. recursively repeat for each of the six hexagon using as z-axis the line > connecting the center of the sphere to the current hexagon. > > I was not able to implement that solution since as far as I now it's not > possible to rotate around a "virtual axis" > > That's another possible (buggy) implementation (it takes around 1 min to > render): > https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79 > > Any help would be really appreciated! > > Thanks, > Emanuele >
YA
Yona Appletree
Fri, Jun 5, 2015 7:40 AM

Emanuele,

Here's another thing that has the hexagons and pentagons calculated:
http://www.thingiverse.com/thing:334955

That thing (and most of the others I've seen) "cheat" in the sense that
they don't actually do face sub-division, which is a bit tricky to
implement in the OpenSCAD language.

I've created a gist,
https://gist.github.com/Yona-Appletree/a03bc32a5c5ca6886e38 with my
implementation of geodesic slicing. The geodesic_example.scad file
contains an example of using the library. You'll have to excuse the
quality of the code... I was just learning OpenSCAD and geodesic math at
the time, so it's kind of funky, but it does work correctly, as far as I
know.

Best,

Yona

Emanuele Spatola mailto:emanuele.spatola@gmail.com
June 4, 2015 at 17:56
After almost a day of failed attempts and research, I found out what I
wanted to create is not physically possible :)
or at least it's not possible just with hexagons, you need to put some
pentagons in the middle.
The name of the polyhedron is Geodesic Sphere dual:
http://en.wikipedia.org/wiki/Geodesic_dome#Chord_factors

the design is not as straightforward as I thought, I found a couple of
.scad sources:
http://www.thingiverse.com/thing:345775
http://www.thingiverse.com/thing:65820
but they are not parametric.

Also turned out openJsC
http://openjscad.org/#examples/sphere.jscadAD has a geodesic sphere
built in:
https://plus.google.com/+ReneKMueller/posts/5hp2CcMRJqu

So now I'm playing with the geodesic sphere source code trying to make
what I need:
http://openjscad.org/#examples/geodesic-sphere.jscad

Thanks to everybody who helped!!

Emanuele


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Emanuele Spatola mailto:emanuele.spatola@gmail.com
June 3, 2015 at 17:39
Hi guys,
I'm trying without much success to create something that looks like this:
http://www.thingiverse.com/thing:282868

To be more specific the goal is to create an empty sphere where the
surface has hexagonal-shaped holes (arranged like a bee nest).

I've tried many approaches, the one I think could be the best is the
following:

  1. cut an hexagon
  2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon
  3. recursively repeat for each of the six hexagon using as z-axis the
    line connecting the center of the sphere to the current hexagon.

I was not able to implement that solution since as far as I now it's
not possible to rotate around a "virtual axis"

That's another possible (buggy) implementation (it takes around 1 min
to render):
https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79

Any help would be really appreciated!

Thanks,
Emanuele


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

Emanuele, Here's another thing that has the hexagons and pentagons calculated: http://www.thingiverse.com/thing:334955 That thing (and most of the others I've seen) "cheat" in the sense that they don't actually do face sub-division, which is a bit tricky to implement in the OpenSCAD language. I've created a gist, https://gist.github.com/Yona-Appletree/a03bc32a5c5ca6886e38 with my implementation of geodesic slicing. The geodesic_example.scad file contains an example of using the library. You'll have to excuse the quality of the code... I was just learning OpenSCAD and geodesic math at the time, so it's kind of funky, but it does work correctly, as far as I know. Best, Yona > Emanuele Spatola <mailto:emanuele.spatola@gmail.com> > June 4, 2015 at 17:56 > After almost a day of failed attempts and research, I found out what I > wanted to create is not physically possible :) > or at least it's not possible just with hexagons, you need to put some > pentagons in the middle. > The name of the polyhedron is Geodesic Sphere dual: > http://en.wikipedia.org/wiki/Geodesic_dome#Chord_factors > > the design is not as straightforward as I thought, I found a couple of > .scad sources: > http://www.thingiverse.com/thing:345775 > http://www.thingiverse.com/thing:65820 > but they are not parametric. > > Also turned out openJsC > <http://openjscad.org/#examples/sphere.jscad>AD has a geodesic sphere > built in: > https://plus.google.com/+ReneKMueller/posts/5hp2CcMRJqu > > So now I'm playing with the geodesic sphere source code trying to make > what I need: > http://openjscad.org/#examples/geodesic-sphere.jscad > > Thanks to everybody who helped!! > > Emanuele > > > > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > Emanuele Spatola <mailto:emanuele.spatola@gmail.com> > June 3, 2015 at 17:39 > Hi guys, > I'm trying without much success to create something that looks like this: > http://www.thingiverse.com/thing:282868 > > To be more specific the goal is to create an empty sphere where the > surface has hexagonal-shaped holes (arranged like a bee nest). > > I've tried many approaches, the one I think could be the best is the > following: > 1. cut an hexagon > 2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon > 3. recursively repeat for each of the six hexagon using as z-axis the > line connecting the center of the sphere to the current hexagon. > > I was not able to implement that solution since as far as I now it's > not possible to rotate around a "virtual axis" > > That's another possible (buggy) implementation (it takes around 1 min > to render): > https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79 > > Any help would be really appreciated! > > Thanks, > Emanuele > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
M
misch.mash
Fri, Jun 5, 2015 6:48 PM

You may be interested in Goldberg Polyhedra. Basically, the generalised form
of the soccer ball. Based on what I've seen in youtube videos, someone must
have parametrised them.

@Hypher: I tried running your code in the response, but it's dependent on a
"platonic.scad" I either don't have or am not pointed to by default (please
excuse if this is a newbie mistake.)

--
View this message in context: http://forum.openscad.org/rotate-around-a-virtual-axis-tp12779p12797.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

You may be interested in Goldberg Polyhedra. Basically, the generalised form of the soccer ball. Based on what I've seen in youtube videos, someone must have parametrised them. @Hypher: I tried running your code in the response, but it's dependent on a "platonic.scad" I either don't have or am not pointed to by default (please excuse if this is a newbie mistake.) -- View this message in context: http://forum.openscad.org/rotate-around-a-virtual-axis-tp12779p12797.html Sent from the OpenSCAD mailing list archive at Nabble.com.
ES
Emanuele Spatola
Fri, Jun 5, 2015 7:15 PM

Yona, your design is great!! Thank for sharing it.
I was trying to understand the code, but I have to say I'm quite lost :(
I'd need it to look like this: http://www.thingiverse.com/thing:79337
My idea is for each triangular face, create a pyramid with base the
triangle itself (a bit smaller) and as top the center of the polyhedron.
then subtract all this pyramid from the main polyhedron.
The problem is I have no idea where to start, any suggestion? :)

Thanks,
Emanuele

On Fri, Jun 5, 2015 at 8:40 AM, Yona Appletree hypher@gmail.com wrote:

Emanuele,

Here's another thing that has the hexagons and pentagons calculated:
http://www.thingiverse.com/thing:334955

That thing (and most of the others I've seen) "cheat" in the sense that
they don't actually do face sub-division, which is a bit tricky to
implement in the OpenSCAD language.

I've created a gist,
https://gist.github.com/Yona-Appletree/a03bc32a5c5ca6886e38 with my
implementation of geodesic slicing. The geodesic_example.scad file contains
an example of using the library. You'll have to excuse the quality of the
code... I was just learning OpenSCAD and geodesic math at the time, so it's
kind of funky, but it does work correctly, as far as I know.

Best,

Yona

Emanuele Spatola emanuele.spatola@gmail.com
June 4, 2015 at 17:56
After almost a day of failed attempts and research, I found out what I
wanted to create is not physically possible :)
or at least it's not possible just with hexagons, you need to put some
pentagons in the middle.
The name of the polyhedron is Geodesic Sphere dual:
http://en.wikipedia.org/wiki/Geodesic_dome#Chord_factors

the design is not as straightforward as I thought, I found a couple of
.scad sources:
http://www.thingiverse.com/thing:345775
http://www.thingiverse.com/thing:65820
but they are not parametric.

Also turned out openJsC http://openjscad.org/#examples/sphere.jscadAD has
a geodesic sphere built in:
https://plus.google.com/+ReneKMueller/posts/5hp2CcMRJqu

So now I'm playing with the geodesic sphere source code trying to make
what I need:
http://openjscad.org/#examples/geodesic-sphere.jscad

Thanks to everybody who helped!!

Emanuele


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Emanuele Spatola emanuele.spatola@gmail.com
June 3, 2015 at 17:39
Hi guys,
I'm trying without much success to create something that looks like this:
http://www.thingiverse.com/thing:282868

To be more specific the goal is to create an empty sphere where the
surface has hexagonal-shaped holes (arranged like a bee nest).

I've tried many approaches, the one I think could be the best is the
following:

  1. cut an hexagon
  2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon
  3. recursively repeat for each of the six hexagon using as z-axis the line
    connecting the center of the sphere to the current hexagon.

I was not able to implement that solution since as far as I now it's not
possible to rotate around a "virtual axis"

That's another possible (buggy) implementation (it takes around 1 min to
render):
https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79

Any help would be really appreciated!

Thanks,
Emanuele


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

Yona, your design is great!! Thank for sharing it. I was trying to understand the code, but I have to say I'm quite lost :( I'd need it to look like this: http://www.thingiverse.com/thing:79337 My idea is for each triangular face, create a pyramid with base the triangle itself (a bit smaller) and as top the center of the polyhedron. then subtract all this pyramid from the main polyhedron. The problem is I have no idea where to start, any suggestion? :) Thanks, Emanuele On Fri, Jun 5, 2015 at 8:40 AM, Yona Appletree <hypher@gmail.com> wrote: > Emanuele, > > Here's another thing that has the hexagons and pentagons calculated: > http://www.thingiverse.com/thing:334955 > > That thing (and most of the others I've seen) "cheat" in the sense that > they don't actually do face sub-division, which is a bit tricky to > implement in the OpenSCAD language. > > I've created a gist, > https://gist.github.com/Yona-Appletree/a03bc32a5c5ca6886e38 with my > implementation of geodesic slicing. The geodesic_example.scad file contains > an example of using the library. You'll have to excuse the quality of the > code... I was just learning OpenSCAD and geodesic math at the time, so it's > kind of funky, but it does work correctly, as far as I know. > > Best, > > Yona > > Emanuele Spatola <emanuele.spatola@gmail.com> > June 4, 2015 at 17:56 > After almost a day of failed attempts and research, I found out what I > wanted to create is not physically possible :) > or at least it's not possible just with hexagons, you need to put some > pentagons in the middle. > The name of the polyhedron is Geodesic Sphere dual: > http://en.wikipedia.org/wiki/Geodesic_dome#Chord_factors > > the design is not as straightforward as I thought, I found a couple of > .scad sources: > http://www.thingiverse.com/thing:345775 > http://www.thingiverse.com/thing:65820 > but they are not parametric. > > Also turned out openJsC <http://openjscad.org/#examples/sphere.jscad>AD has > a geodesic sphere built in: > https://plus.google.com/+ReneKMueller/posts/5hp2CcMRJqu > > So now I'm playing with the geodesic sphere source code trying to make > what I need: > http://openjscad.org/#examples/geodesic-sphere.jscad > > Thanks to everybody who helped!! > > Emanuele > > > > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > Emanuele Spatola <emanuele.spatola@gmail.com> > June 3, 2015 at 17:39 > Hi guys, > I'm trying without much success to create something that looks like this: > http://www.thingiverse.com/thing:282868 > > To be more specific the goal is to create an empty sphere where the > surface has hexagonal-shaped holes (arranged like a bee nest). > > I've tried many approaches, the one I think could be the best is the > following: > 1. cut an hexagon > 2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon > 3. recursively repeat for each of the six hexagon using as z-axis the line > connecting the center of the sphere to the current hexagon. > > I was not able to implement that solution since as far as I now it's not > possible to rotate around a "virtual axis" > > That's another possible (buggy) implementation (it takes around 1 min to > render): > https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79 > > Any help would be really appreciated! > > Thanks, > Emanuele > _______________________________________________ > 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 > >
YA
Yona Appletree
Fri, Jun 5, 2015 8:48 PM

Emanuele,

There's a really fantastic polyhedron set for OpenSCAD available here:
http://kitwallace.co.uk/3d/solid-index.xq

They render like this:
https://www.dropbox.com/s/881dv9jy8l9e2pg/Screenshot%202015-06-05%2013.39.22.png?dl=0
I updated that gist to include an example of how to this -- just run git
pull to grab the new nice_rendering.scad file.

The logic used to generate those is pretty complex, but it's fairly easy
to swap in a new polyhedron. The result looks like this:
https://www.dropbox.com/s/xi0dxp9wjlammj7/Screenshot%202015-06-05%2013.44.12.png?dl=0

If you want just pentagons and hexagons, you can just use the truncated
icosahedron provided here:
http://kitwallace.co.uk/3d/solid-to-scad.xq?id=TruncatedIcosahedron&scad=shell
Which looks like this:
https://www.dropbox.com/s/ooa88h6y0v4meao/Screenshot%202015-06-05%2013.47.18.png?dl=0

Cheers,

Yona

Emanuele Spatola mailto:emanuele.spatola@gmail.com
June 5, 2015 at 12:15
Yona, your design is great!! Thank for sharing it.
I was trying to understand the code, but I have to say I'm quite lost :(
I'd need it to look like this: http://www.thingiverse.com/thing:79337
My idea is for each triangular face, create a pyramid with base the
triangle itself (a bit smaller) and as top the center of the polyhedron.
then subtract all this pyramid from the main polyhedron.
The problem is I have no idea where to start, any suggestion? :)

Thanks,
Emanuele


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Yona Appletree mailto:hypher@gmail.com
June 5, 2015 at 00:40
Emanuele,

Here's another thing that has the hexagons and pentagons calculated:
http://www.thingiverse.com/thing:334955

That thing (and most of the others I've seen) "cheat" in the sense
that they don't actually do face sub-division, which is a bit tricky
to implement in the OpenSCAD language.

I've created a gist,
https://gist.github.com/Yona-Appletree/a03bc32a5c5ca6886e38 with my
implementation of geodesic slicing. The geodesic_example.scad file
contains an example of using the library. You'll have to excuse the
quality of the code... I was just learning OpenSCAD and geodesic math
at the time, so it's kind of funky, but it does work correctly, as far
as I know.

Best,

Yona

Emanuele Spatola mailto:emanuele.spatola@gmail.com
June 4, 2015 at 17:56
After almost a day of failed attempts and research, I found out what I
wanted to create is not physically possible :)
or at least it's not possible just with hexagons, you need to put some
pentagons in the middle.
The name of the polyhedron is Geodesic Sphere dual:
http://en.wikipedia.org/wiki/Geodesic_dome#Chord_factors

the design is not as straightforward as I thought, I found a couple of
.scad sources:
http://www.thingiverse.com/thing:345775
http://www.thingiverse.com/thing:65820
but they are not parametric.

Also turned out openJsC
http://openjscad.org/#examples/sphere.jscadAD has a geodesic sphere
built in:
https://plus.google.com/+ReneKMueller/posts/5hp2CcMRJqu

So now I'm playing with the geodesic sphere source code trying to make
what I need:
http://openjscad.org/#examples/geodesic-sphere.jscad

Thanks to everybody who helped!!

Emanuele


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Emanuele Spatola mailto:emanuele.spatola@gmail.com
June 3, 2015 at 17:39
Hi guys,
I'm trying without much success to create something that looks like this:
http://www.thingiverse.com/thing:282868

To be more specific the goal is to create an empty sphere where the
surface has hexagonal-shaped holes (arranged like a bee nest).

I've tried many approaches, the one I think could be the best is the
following:

  1. cut an hexagon
  2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon
  3. recursively repeat for each of the six hexagon using as z-axis the
    line connecting the center of the sphere to the current hexagon.

I was not able to implement that solution since as far as I now it's
not possible to rotate around a "virtual axis"

That's another possible (buggy) implementation (it takes around 1 min
to render):
https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79

Any help would be really appreciated!

Thanks,
Emanuele


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

Emanuele, There's a really fantastic polyhedron set for OpenSCAD available here: http://kitwallace.co.uk/3d/solid-index.xq They render like this: https://www.dropbox.com/s/881dv9jy8l9e2pg/Screenshot%202015-06-05%2013.39.22.png?dl=0 I updated that gist to include an example of how to this -- just run git pull to grab the new nice_rendering.scad file. The logic used to generate those is pretty complex, but it's fairly easy to swap in a new polyhedron. The result looks like this: https://www.dropbox.com/s/xi0dxp9wjlammj7/Screenshot%202015-06-05%2013.44.12.png?dl=0 If you want just pentagons and hexagons, you can just use the truncated icosahedron provided here: http://kitwallace.co.uk/3d/solid-to-scad.xq?id=TruncatedIcosahedron&scad=shell Which looks like this: https://www.dropbox.com/s/ooa88h6y0v4meao/Screenshot%202015-06-05%2013.47.18.png?dl=0 Cheers, Yona > Emanuele Spatola <mailto:emanuele.spatola@gmail.com> > June 5, 2015 at 12:15 > Yona, your design is great!! Thank for sharing it. > I was trying to understand the code, but I have to say I'm quite lost :( > I'd need it to look like this: http://www.thingiverse.com/thing:79337 > My idea is for each triangular face, create a pyramid with base the > triangle itself (a bit smaller) and as top the center of the polyhedron. > then subtract all this pyramid from the main polyhedron. > The problem is I have no idea where to start, any suggestion? :) > > Thanks, > Emanuele > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > Yona Appletree <mailto:hypher@gmail.com> > June 5, 2015 at 00:40 > Emanuele, > > Here's another thing that has the hexagons and pentagons calculated: > http://www.thingiverse.com/thing:334955 > > That thing (and most of the others I've seen) "cheat" in the sense > that they don't actually do face sub-division, which is a bit tricky > to implement in the OpenSCAD language. > > I've created a gist, > https://gist.github.com/Yona-Appletree/a03bc32a5c5ca6886e38 with my > implementation of geodesic slicing. The geodesic_example.scad file > contains an example of using the library. You'll have to excuse the > quality of the code... I was just learning OpenSCAD and geodesic math > at the time, so it's kind of funky, but it does work correctly, as far > as I know. > > Best, > > Yona > > Emanuele Spatola <mailto:emanuele.spatola@gmail.com> > June 4, 2015 at 17:56 > After almost a day of failed attempts and research, I found out what I > wanted to create is not physically possible :) > or at least it's not possible just with hexagons, you need to put some > pentagons in the middle. > The name of the polyhedron is Geodesic Sphere dual: > http://en.wikipedia.org/wiki/Geodesic_dome#Chord_factors > > the design is not as straightforward as I thought, I found a couple of > .scad sources: > http://www.thingiverse.com/thing:345775 > http://www.thingiverse.com/thing:65820 > but they are not parametric. > > Also turned out openJsC > <http://openjscad.org/#examples/sphere.jscad>AD has a geodesic sphere > built in: > https://plus.google.com/+ReneKMueller/posts/5hp2CcMRJqu > > So now I'm playing with the geodesic sphere source code trying to make > what I need: > http://openjscad.org/#examples/geodesic-sphere.jscad > > Thanks to everybody who helped!! > > Emanuele > > > > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > Emanuele Spatola <mailto:emanuele.spatola@gmail.com> > June 3, 2015 at 17:39 > Hi guys, > I'm trying without much success to create something that looks like this: > http://www.thingiverse.com/thing:282868 > > To be more specific the goal is to create an empty sphere where the > surface has hexagonal-shaped holes (arranged like a bee nest). > > I've tried many approaches, the one I think could be the best is the > following: > 1. cut an hexagon > 2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon > 3. recursively repeat for each of the six hexagon using as z-axis the > line connecting the center of the sphere to the current hexagon. > > I was not able to implement that solution since as far as I now it's > not possible to rotate around a "virtual axis" > > That's another possible (buggy) implementation (it takes around 1 min > to render): > https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79 > > Any help would be really appreciated! > > Thanks, > Emanuele > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
ES
Emanuele Spatola
Sat, Jun 6, 2015 1:04 AM

Thanks Yona, the "nice_rendering.scad" works perfectly!
The truncated icosahedron has a limited number of faces, I need something
more flexible like the "Goldberg Polyhedra".
I think the code would not change much as in the currently generated
polyhedron the pentagon and hexagon are already there, we just need to
remove some edges.. (said like that it is seems easy :)
I'm already printing it:
https://www.dropbox.com/s/fkh63u84h6vll9g/Screen%20Shot%202015-06-06%20at%2001.49.09.png?dl=0
but in the meantime I'll try to look into your code to see if I can make it
like I need.
I'm working on a rolling ball robot and I still have a lot of other pieces
to design.

Thanks a lot!!

Emanuele

On Fri, Jun 5, 2015 at 9:48 PM, Yona Appletree hypher@gmail.com wrote:

Emanuele,

There's a really fantastic polyhedron set for OpenSCAD available here:
http://kitwallace.co.uk/3d/solid-index.xq

They render like this:
https://www.dropbox.com/s/881dv9jy8l9e2pg/Screenshot%202015-06-05%2013.39.22.png?dl=0
I updated that gist to include an example of how to this -- just run git
pull to grab the new nice_rendering.scad file.

The logic used to generate those is pretty complex, but it's fairly easy
to swap in a new polyhedron. The result looks like this:
https://www.dropbox.com/s/xi0dxp9wjlammj7/Screenshot%202015-06-05%2013.44.12.png?dl=0

If you want just pentagons and hexagons, you can just use the truncated
icosahedron provided here:
http://kitwallace.co.uk/3d/solid-to-scad.xq?id=TruncatedIcosahedron&scad=shell
Which looks like this:
https://www.dropbox.com/s/ooa88h6y0v4meao/Screenshot%202015-06-05%2013.47.18.png?dl=0

Cheers,

Yona

Emanuele Spatola emanuele.spatola@gmail.com
June 5, 2015 at 12:15
Yona, your design is great!! Thank for sharing it.
I was trying to understand the code, but I have to say I'm quite lost :(
I'd need it to look like this: http://www.thingiverse.com/thing:79337
My idea is for each triangular face, create a pyramid with base the
triangle itself (a bit smaller) and as top the center of the polyhedron.
then subtract all this pyramid from the main polyhedron.
The problem is I have no idea where to start, any suggestion? :)

Thanks,
Emanuele


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Yona Appletree hypher@gmail.com
June 5, 2015 at 00:40
Emanuele,

Here's another thing that has the hexagons and pentagons calculated:
http://www.thingiverse.com/thing:334955

That thing (and most of the others I've seen) "cheat" in the sense that
they don't actually do face sub-division, which is a bit tricky to
implement in the OpenSCAD language.

I've created a gist,
https://gist.github.com/Yona-Appletree/a03bc32a5c5ca6886e38 with my
implementation of geodesic slicing. The geodesic_example.scad file contains
an example of using the library. You'll have to excuse the quality of the
code... I was just learning OpenSCAD and geodesic math at the time, so it's
kind of funky, but it does work correctly, as far as I know.

Best,

Yona

Emanuele Spatola emanuele.spatola@gmail.com
June 4, 2015 at 17:56
After almost a day of failed attempts and research, I found out what I
wanted to create is not physically possible :)
or at least it's not possible just with hexagons, you need to put some
pentagons in the middle.
The name of the polyhedron is Geodesic Sphere dual:
http://en.wikipedia.org/wiki/Geodesic_dome#Chord_factors

the design is not as straightforward as I thought, I found a couple of
.scad sources:
http://www.thingiverse.com/thing:345775
http://www.thingiverse.com/thing:65820
but they are not parametric.

Also turned out openJsC http://openjscad.org/#examples/sphere.jscadAD has
a geodesic sphere built in:
https://plus.google.com/+ReneKMueller/posts/5hp2CcMRJqu

So now I'm playing with the geodesic sphere source code trying to make
what I need:
http://openjscad.org/#examples/geodesic-sphere.jscad

Thanks to everybody who helped!!

Emanuele


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Emanuele Spatola emanuele.spatola@gmail.com
June 3, 2015 at 17:39
Hi guys,
I'm trying without much success to create something that looks like this:
http://www.thingiverse.com/thing:282868

To be more specific the goal is to create an empty sphere where the
surface has hexagonal-shaped holes (arranged like a bee nest).

I've tried many approaches, the one I think could be the best is the
following:

  1. cut an hexagon
  2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon
  3. recursively repeat for each of the six hexagon using as z-axis the line
    connecting the center of the sphere to the current hexagon.

I was not able to implement that solution since as far as I now it's not
possible to rotate around a "virtual axis"

That's another possible (buggy) implementation (it takes around 1 min to
render):
https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79

Any help would be really appreciated!

Thanks,
Emanuele


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

Thanks Yona, the "nice_rendering.scad" works perfectly! The truncated icosahedron has a limited number of faces, I need something more flexible like the "Goldberg Polyhedra". I think the code would not change much as in the currently generated polyhedron the pentagon and hexagon are already there, we just need to remove some edges.. (said like that it is seems easy :) I'm already printing it: https://www.dropbox.com/s/fkh63u84h6vll9g/Screen%20Shot%202015-06-06%20at%2001.49.09.png?dl=0 but in the meantime I'll try to look into your code to see if I can make it like I need. I'm working on a rolling ball robot and I still have a lot of other pieces to design. Thanks a lot!! Emanuele On Fri, Jun 5, 2015 at 9:48 PM, Yona Appletree <hypher@gmail.com> wrote: > Emanuele, > > There's a really fantastic polyhedron set for OpenSCAD available here: > http://kitwallace.co.uk/3d/solid-index.xq > > They render like this: > https://www.dropbox.com/s/881dv9jy8l9e2pg/Screenshot%202015-06-05%2013.39.22.png?dl=0 > I updated that gist to include an example of how to this -- just run git > pull to grab the new nice_rendering.scad file. > > The logic used to generate those is pretty complex, but it's fairly easy > to swap in a new polyhedron. The result looks like this: > https://www.dropbox.com/s/xi0dxp9wjlammj7/Screenshot%202015-06-05%2013.44.12.png?dl=0 > > If you want just pentagons and hexagons, you can just use the truncated > icosahedron provided here: > http://kitwallace.co.uk/3d/solid-to-scad.xq?id=TruncatedIcosahedron&scad=shell > Which looks like this: > https://www.dropbox.com/s/ooa88h6y0v4meao/Screenshot%202015-06-05%2013.47.18.png?dl=0 > > Cheers, > > Yona > > Emanuele Spatola <emanuele.spatola@gmail.com> > June 5, 2015 at 12:15 > Yona, your design is great!! Thank for sharing it. > I was trying to understand the code, but I have to say I'm quite lost :( > I'd need it to look like this: http://www.thingiverse.com/thing:79337 > My idea is for each triangular face, create a pyramid with base the > triangle itself (a bit smaller) and as top the center of the polyhedron. > then subtract all this pyramid from the main polyhedron. > The problem is I have no idea where to start, any suggestion? :) > > Thanks, > Emanuele > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > Yona Appletree <hypher@gmail.com> > June 5, 2015 at 00:40 > Emanuele, > > Here's another thing that has the hexagons and pentagons calculated: > http://www.thingiverse.com/thing:334955 > > That thing (and most of the others I've seen) "cheat" in the sense that > they don't actually do face sub-division, which is a bit tricky to > implement in the OpenSCAD language. > > I've created a gist, > https://gist.github.com/Yona-Appletree/a03bc32a5c5ca6886e38 with my > implementation of geodesic slicing. The geodesic_example.scad file contains > an example of using the library. You'll have to excuse the quality of the > code... I was just learning OpenSCAD and geodesic math at the time, so it's > kind of funky, but it does work correctly, as far as I know. > > Best, > > Yona > > Emanuele Spatola <emanuele.spatola@gmail.com> > June 4, 2015 at 17:56 > After almost a day of failed attempts and research, I found out what I > wanted to create is not physically possible :) > or at least it's not possible just with hexagons, you need to put some > pentagons in the middle. > The name of the polyhedron is Geodesic Sphere dual: > http://en.wikipedia.org/wiki/Geodesic_dome#Chord_factors > > the design is not as straightforward as I thought, I found a couple of > .scad sources: > http://www.thingiverse.com/thing:345775 > http://www.thingiverse.com/thing:65820 > but they are not parametric. > > Also turned out openJsC <http://openjscad.org/#examples/sphere.jscad>AD has > a geodesic sphere built in: > https://plus.google.com/+ReneKMueller/posts/5hp2CcMRJqu > > So now I'm playing with the geodesic sphere source code trying to make > what I need: > http://openjscad.org/#examples/geodesic-sphere.jscad > > Thanks to everybody who helped!! > > Emanuele > > > > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > Emanuele Spatola <emanuele.spatola@gmail.com> > June 3, 2015 at 17:39 > Hi guys, > I'm trying without much success to create something that looks like this: > http://www.thingiverse.com/thing:282868 > > To be more specific the goal is to create an empty sphere where the > surface has hexagonal-shaped holes (arranged like a bee nest). > > I've tried many approaches, the one I think could be the best is the > following: > 1. cut an hexagon > 2. for ( k = [0 : 60 : 360] ) rotate([offset_deg,0,k]) cut hexagon > 3. recursively repeat for each of the six hexagon using as z-axis the line > connecting the center of the sphere to the current hexagon. > > I was not able to implement that solution since as far as I now it's not > possible to rotate around a "virtual axis" > > That's another possible (buggy) implementation (it takes around 1 min to > render): > https://gist.github.com/Emanuele-Spatola/17680d59f173bbc78d79 > > Any help would be really appreciated! > > Thanks, > Emanuele > _______________________________________________ > 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 > >