Page 1 of 2

Facet vertex angles and sizes

Posted: Fri Jun 26, 2009 7:38 pm
by RTChoke
I just purchased the Stella4D program, have been fooling around with the demo version for a week or so. Very neat stuff.

Anyway, what I am going to do is make facet pieces with my CNC machine I built, and some jigs to use for cutting the bevels (!!) after I have the proper shapes. I use a program called Cambam ( to make shapes and generate the gcode to run my machine. In Cambam it is possible to write scripts to make shapes (and do other stuff). I would like to be able to write a script for a particular polyhedron that would generate the facets directly in Cambam, then I can do the manipulations to get it cut the right size and shape. I have written some simple scripts to make 3, 4, 5 sided shapes if you put in the radius or side length, the angles are hard-coded.

I realize that Stella4D does this by magic inside the code and then uses that to create the nets and the angles and side lengths with them. I also realize the author has spent considerable time and effort to make this product, and might not want to divulge too much of his work directly, and that is OK.

I presume there is some standard math that is used to calculate all that based on which shape you are working with. (And I have been slowly learning some of that math, but am getting lazy and anxious to start cutting bits.)

So my question is, what might that math be? Would it be fairly simple to learn what it is (or can someone tell me or point me in the right direction? -- I have the requisite mental capacity to learn it) then encode that in a Cambam script so parts can be generated straightaway? I guess I don't want to re-create the whole thing, but I don't want to snag anyone's IP either.

So, standing by, will do some hard designs based on Stella4D output, see what I can come up with.

Again, great program, will love making new things with it!

Posted: Sat Jun 27, 2009 5:50 am
by robertw
I'm not sure what math your after. Different shapes are made different ways. Many categories, like uniform polyhedra, stellations, etc took me a long time to get working, and were not really just implemented based on any standard formulas or algorithms.

It sounds like you want to create these polyhedra again from scratch within your script, but why not create the model in Stella4D and export it to one of the 3D formats (.OFF is the simplest) then read this model into your script which can do whatever you need with it?


Posted: Sat Jun 27, 2009 1:24 pm
by RTChoke
Yesterday evening I wrote a little Cambam script for the facets of a deltoidal hexacontahedron using hard angle values as generated by Stella4D, and scalable using midradius length input and a "base" value of the facet sides relative to a unit midradius. That works OK and gets me what I need for now for that particular shape. I am dangerous now, gotta go fire up the CNC today and see what comes out.

Part of the problem is that I am fairly lazy, another part is I am still teaching myself programming (in these moderne languages), and the other part is that I would have to figure out what you suggest (which I will do at some point). But thanks for the feedback, I am sure I will be soliciting more.

Always learning!

Posted: Sat Jun 27, 2009 2:28 pm
by RTChoke
AH! Play time with the full program this morning. funfunfun. :D I even learned to do offs. I can export a dxf of the 3D model and open it in Cambam, that is cool.

In Stella4D I can see the various face types in the right screen, if I could export a face (not the whole model) as a properly sized dxf that would be exactly what I need! Is that possible to do? Do all my design and scaling in Stella4D, then send the individual part types as dxfs to my gcode converter?

Posted: Sun Jun 28, 2009 2:36 am
by robertw
Sorry, no you can't export a single face as a 2D dxf. Stella only exports full models as 3D dxf.

If you export the whole model though, doesn't that have the faces you need within it?


Posted: Sun Jun 28, 2009 3:51 pm
by RTChoke
The 3D model appears as (ta-da!) a 3D frame in Cambam, which would be OK if I wanted to cut the whole shape out of a big block of wood, which is not really doable for anything very large on my machine. And it wouldn't look too good either.

Extracting one particular face (or an example of each of the face shapes) is probably doable somehow but it is not apparent in Cambam. Maybe if I used a more capable CAD program and fooled with it. The fact that the face appears in one pane, and if I have that pane active and try to do an export, and a whatever-face.dxf file name appears gave me hope, but alas....

Perhaps I could suggest that capability as a feature request? For now, I can generate them with a script as mentioned above, using the side lengths and vertex angles, or make one in a CAD program using those values and save it off.

Posted: Sun Jun 28, 2009 8:47 pm
by guy
Am I right in thinking that what you want is to make each facet as a thick slab with sides cut at the correct angle so they can all glue together with no gaps?
Last time I knew anybody do this, they just had to take the data that Great Stella gave them, and hack the rest manually.

Posted: Mon Jun 29, 2009 12:05 pm
by Ulrich

you can easily create little slabs and their bevels with stella4D:


All you have to do is adding a polyhedron to another one of the same kind
which is scaled a little smaller. Then you decrease the symmetry to that one
of a single face, pyramidal, and you facet one block out, that's all.
You can export it as a dxf file and enter it into your cnc machine.

The picture above shows a structure made of some (icosahedron) slabs.

For the strombic hexecontahedron, it looks like that:



Posted: Mon Jun 29, 2009 9:45 pm
by RTChoke
Well it looks like Ulrich might have my answer, if I knew how to do what he explains I need to do. I am a total beginner with Stella4D so you might need to give me a step-by-step tutorial. No, you actually do need to give me that tutorial.

To answer guy, I want to have one facet exported as a dxf, which I can then cut directly on my machine (after creating the gcode from the dxf). Then I will have to cut the bevels on a table saw or band saw or something to get all of them on the edges properly, but I will have the shapes correctly done, and the edges can be beveled easily with a jig (the "anti-facet").

As I mentioned, I wrote a little script for one facet shape ("hack the rest manually"), but if some other random object has other shapes, or if I want to do other sizes, then I have to write another script to get my shape ("hack the rest manually"), or go into a CAD program and make it using the angles and lengths ("hack the rest manually"). Nothing exotic or difficult, but seeing the beautiful 3d dxf emerge so easily from the image in the left pane, and the facet staring at me in the other pane, I want to click "export" and just have it straightaway!

Thanks for the responses...


Posted: Tue Jun 30, 2009 6:50 am
by Ulrich
RTChoke might need to give me a step-by-step tutorial. No, you actually do need to give me that tutorial
You choose the model you want to construct and you should show the vertices and edges, see ... a4D#showVE. Then you scale it to a radius of 10 (scaling menu) and put it into the memory ... D#memories. After rescaling to a radius of 9.5 you give it another colour and add the model from the memory (menu edit=>add from memory). You change the symmetry (eg to 3-fold pyramidal, if there is any and if there is a triangular face from which you might want to create a triangular slab) ... symmetries and show the rotation axis by hitting the "s" key. You hide the external triangular face where the axis goes through by selecting it with the mouse and hitting the "ctrl+h" keys. Now you see the six vertices you need to facet your new faces, see ... #facetMode - that's all.


Posted: Wed Jul 01, 2009 12:44 pm
by robertw
Sounds like you don't want thick bevelled faces, but thick unbevelled faces would suffice (ie shallow prisms). This is probably even easier that Ulrich's idea.

Start with your model, put it in a memory slot (eg hit "m1"). Select the face you're interested in and hit "a" to augment it. Select "prism" and "selected face only" and hit Enter. This takes you to a preview, so hit Enter to confirm. Or make the prism shallower first using Ctrl+Left-drag.

Now you have a prism on the face and just need to get rid of the original model. Good thing you put it in a memory slot to start with :D Select another face of the model and hit "a" again. This time select "augment using... memory" and "excavate". Hit enter and hit it again to accept the preview. This leaves you with just a prism based on the face you wanted.

Now I would suggest selecting the face of interest (top of prism) and using "View->Orientation->Look at Selected Face/Vertex", since the orientation on screen will be used for the export. Now export to DXF and hopefully it will be exactly what you want.

I've referred to some keyboard shortcuts for features above, just to save typing menu names, but they're all on the menus somewhere too.


Posted: Thu Jul 02, 2009 1:31 pm
by RTChoke
That is great -- thank y'all for the help. I'm off to cut some pentagons and triangles and squares today, and get some jigs made to do the beveling. After I see how that works then I will start on the more complex shapes. I'll have to study your instructions and learn how to do that. The program looks to have a lot of great features, I need to dig in!

Posted: Thu Jul 02, 2009 1:33 pm
by RTChoke
Oh, I forgot to say I milled up some cherry to 3/8" thick, so that is what I will be using for my models. That is a good thickness to give some edge grip for gluing, I might work on a way to do some splines or mini-biscuits in there to hold things more tightly.

Posted: Tue Jul 07, 2009 10:28 pm
by RTChoke
Well that little tutorial from RobertW worked. It seems there are considerable features in the program that are not entirely intuitive to the casual user.

I'll see how this compares with the script I wrote for that shape, and then try it with others.

I finished cutting all my pieces for the rhombicosi.... on the CNC today, made some jigs for them to get the bevels done precisely, then will starting cutting bevels tomorrow and see how things fit.


BTW how do I put an image in here? It looks like it needs a URL?

Posted: Wed Jul 08, 2009 11:45 am
by robertw
Yes, you can't upload photos here directly and need a link. I suggest setting up an account at