Thanks & a little help needed


First off, thanks (again) to Joseph Oster for a post he made late last year. He showed someone how to make twisted columns that were going to be used for a building structure. I saw that and thought I could adapt Joseph’s script to make a 3D printed LED table lamp, which is one of my standard projects.

With some changes and additions based on Joseph’s script I made this lamp geometry:

It is comprised of a base to hold the LED light, a polar array of twisted columns, and a hemispherical top. What I need help with is how to find the outer edge of the polar array:

A close-up of the top of the array shows the problem I have:

The top of the lamp is a hemispherical shell, and this does not accurately fit the outside edge of the array. I’ve tried several ways to isolate/obtain the array’s top outer edge curve, but I can’t find any method that works. As a result I have this kind of mismatch between the top and the array:

Since this will be a 3D printed part (it is printing right now) I think this mismatch won’t be too noticeable, but it would be nice if the top could match the array edge properly. So I’d appreciate any suggestions anyone might have to get these 2 sets of geometry to match up.

I’ll be happy to post my GH file if needed, but I’m hopeing someone can just point me to some method that will allow me to get the top outer edge curve. Thanks in advance for any feedback.

(Aris Nikolopoulos) #2

I think Joseph should be the one to help you (since it’s his script you used)
but just in case he doesn’t show up:

you essentially have a polygonal footprint. You obviously are not going to change the body (since it’s allready printing) so what you want is to change the 'dome’
I see two solutions

1)making a polygonal dome (cylindrical sections that start from the bottom and meet on the top
2) ‘sweetening’ the bottom of the dome so as to meet the polygonal footprint.
the first one is easy and the second one is probably best done ‘manually’ in rhino…


:point_right: method requires geometry to work with at the very least. I’d just rather not get into this.


Yeah, it is a tricky one. If the print finishes OK I’ll post a pic of the area in question. I can always use sandpaper.


Is it? It’s tricky without access to the geometry, but that’s your choice. My policy on that matter has very few exceptions, and this isn’t one them. Wouldn’t it be easier if the segments were curved to match the circle at the top instead of straight?


I thought I’d try Aris’s suggestion since the top outside curve is pretty close to a polygon. So I made one and tweaked the radius and rotation a bit to make it line up with the polar array. Then I used this as the rail curve for a RailRev using a simple arc segment. The overall result looks like this:


which turned out much better than I had expected. Close inspection shows the matchup is not totally correct:

but the mismatch is tiny and probably wont be noticeable on a 3D printed part.

I called the problem tricky because the top outside edge of the polar array is not a polygon at all, but a much more complex set of curves. Here’s an outline view of a part of the top surface that shows what it really looks like:

I might be able to tweak the twisting parameters sufficiently to smooth out the bumps, but I find it difficult to make such miniscule changes. It took me quite a while to get the individual slabs to be as closely aligned as they are now.

Edit: I was able to change the twisting parameters to get better alignment of the top surfaces, so I am printing a new version that looks like it will not have the slight misalignment problem I described above.