1

I kept creating a hollow cylinder by spinning a curve [Example]. This is the hollow cylinder I made by spinning a second-order polynomial curve. The cylinder would be hollow but not "filled" or not "solid".

enter image description here

After I exported it into STL, it is still hollow. However, I need the cylinder to be solid. So is there a function to spin a surface to make a solid object using python script? If not, is there any other way to do it? Thank you

HSChan
  • 49
  • 7
  • Please be more specific and add a screenshot and or the blend file. – VorTechnix Jul 19 '18 at 18:18
  • @TechTornado Thank you. Do you think it is now more clear? Basically, I tried to make a "solid" cylinder with varying radius with respect to its height. – HSChan Jul 19 '18 at 18:30
  • Yes that was all I needed to see. Also there are many times where you may need to use python scripts but always remember that they make things more complicated and don't always work the way you want, so try to do whatever you can without them. – VorTechnix Jul 19 '18 at 18:45
  • @TechTornado Gotcha. My goal is not to create a single cylinder. I need to create a huge amount of parametric columns between points in space. Only Python can make it much more efficient. – HSChan Jul 19 '18 at 18:49
  • Have you tried using Array modifiers? – VorTechnix Jul 19 '18 at 18:57
  • @TechTornado I have not... Each column has a different profile, and some profiles are very random (e.g. Biological foam materials). So it's not simply duplicating. – HSChan Jul 19 '18 at 19:01
  • Making first and last points of curve on axis will close top and bottom with a fan. – batFINGER Jul 19 '18 at 19:08
  • @HSChan What exactly are you trying to make? It almost sounds like an object particle system. – VorTechnix Jul 19 '18 at 19:09
  • @TechTornado Open cell foam. http://www.foardpanel.com/open-vs-closed-cell-foams/ there are lots of branches connecting to each other. – HSChan Jul 19 '18 at 19:15
  • @batFINGER Do you mean adding one more vertice on the spin axis to kind of enclosing the curve then spin it? – HSChan Jul 19 '18 at 19:18
  • Yes. Could use (0, 0, max(z)) at top, and (0, 0, min(z)) at bottom to make flat ends. Or use circle formula top and bottom to make rounded end. As long as first and last pt sit on axis. – batFINGER Jul 19 '18 at 19:21
  • btw are you using mesh or curve version? above will work for either. Might need to build curve top to bottom or to screw it the other way to get normals pointing out. (Note also this is covered in answer below re finish outline before spinning) – batFINGER Jul 19 '18 at 19:28
  • @batFINGER I am using the mesh version. Is getting normals pointing out a step to make the spun object "solid"? – HSChan Jul 19 '18 at 19:32
  • In general have normals pointing out. (noticed it too late after posting bmesh answer) – batFINGER Jul 19 '18 at 19:40
  • @batFINGER Enclosed the curve and spun it. It still gives me a hollow cylinder. The normals are pointing out. Is it even possible to revolve a surface to create a "solid" object in Blender? Or perhaps there is another way? – HSChan Jul 19 '18 at 20:29
  • Re terminology of "solid" : Do you consider the default UV sphere to be a "solid" object? It is after all a semi circle spun around z axis. – batFINGER Jul 19 '18 at 20:31
  • @batFINGER Yes. I exported an STL for a sphere and opened it with Netfabb. I cut it along the cross-section and it showed me a solid object. It doesn't work for my cylinder. – HSChan Jul 19 '18 at 20:33
  • Try removing doubles, (or hit merge on screw modifier (& possibly apply)) before exporting. – batFINGER Jul 19 '18 at 20:39
  • @batFINGER Oh... Great. I think I know what you are saying about the "solid" object and removing doubles and merging vertices. I tried a model repair function in Netfabb and the hollow cylinder becomes "solid". I believe there must be some duplicated vertices or other unwanted geometry. – HSChan Jul 19 '18 at 20:43
  • The verts on axis when spun (without merge) are really an N (spins) point circle merged to a point. A closed hole. Nethingy must need a manifold to be consider an object solid. As well as the seam at 0 and 360. – batFINGER Jul 19 '18 at 20:52

1 Answers1

3

It seems to me that you didn't finish the outline before you spun the model, so now you have three options. See the blender documentation for the Spin function.

  1. You can modify your outline to have a top and bottom and re-spin it.

  2. Select Edge Ring and press F to make a face.

    2.1 Press Alt+P to Poke the face, thus making a triangle fan.

  3. You can use Grid Fill or from the Ctrl+F menu.

enter image description here

VorTechnix
  • 592
  • 1
  • 4
  • 11
  • I tried modifying the outline by adding top and bottom and spin it. I exported the model as STL file and opened it with Netfabb. It still is a hollow cylinder when I looked at the cross-section. I think my question is similar to this: https://blender.stackexchange.com/questions/62330/is-there-a-way-i-can-make-a-hollow-object-solid?rq=1. But there is no useful answer. – HSChan Jul 19 '18 at 20:24
  • @HSChan Some programs don't like triangles (tris) and ngons. Try using the grid fill method. – VorTechnix Jul 19 '18 at 21:19
  • Thanks. I modified the outline and repaired the model in Netfabb. It actually turned the hollow cylinder into a "solid" object. It could be the duplicated vertices in the original model. I didn't remove doubles or merge vertices before. – HSChan Jul 19 '18 at 21:39
  • @HSChan I'm happy it worked. Good luck. – VorTechnix Jul 20 '18 at 02:47