<br><font size=2 face="sans-serif">Yes, this is true, if you make surfaces from height maps for instance, you need to extrude the surface to get a machineable volume file. I used vtkLinearExtrusionFilter to do this. The only down side is that the bottom of the volume is bottom of the top surface so its not flat. That wasn't a problem for me but some type of cutting plane might be needed to make a flat bottom to the piece if required. I have a tcl example if interested.......john</font>
<br>
<br>
<br>
<br>
<br>
<table>
<tr valign=top>
<td><font size=6 color=red face="Times New Roman"><b>Internet Mail Message</b></font>
<br><font size=2 color=red face="sans-serif">Received from host: </font>
<td></table>
<br>
<table width=100%>
<tr valign=top>
<td>
<td><font size=1 face="sans-serif"><b>Rasmus Reinhold Paulsen <rrp@imm.dtu.dk></b></font>
<br><font size=1 face="sans-serif"> Sent by: vtkusers-admin@public.kitware.com</font>
<p><font size=1 face="sans-serif">02/24/2003 09:08 AM</font>
<br>
<td><font size=1 face="Arial"> </font>
<br><font size=1 face="sans-serif"> To: "Lorensen, William E (Research)" <lorensen@crd.ge.com></font>
<br><font size=1 face="sans-serif"> cc: "'#YAN RI AN#'" <yanrian@pmail.ntu.edu.sg>, vtk users <vtkusers@public.kitware.com>, (bcc: John Anast-JM/PGI)</font>
<br><font size=1 face="sans-serif"> Subject: RE: [vtkusers] Soild *.stl format needed.</font></table>
<br>
<br><font size=2 face="Courier New">Hi Bill and Yan,<br>
<br>
I think that the machine needs some kind of thickness of the shell?<br>
<br>
So I believe that what is needed here is a post-processing with some kind<br>
of "shelling" algorithm. That is an algorithm that produces an offset<br>
surface and connects it with the original surface to produce a watertight<br>
shell with a thickness.<br>
<br>
If I am completely wrong or if there is another solution please tell me.<br>
<br>
Regards,<br>
Rasmus<br>
<br>
<br>
On Mon, 24 Feb 2003, Lorensen, William E (Research) wrote:<br>
<br>
> You should be able to use the stl file to create rapid prototypes. We have done it many times.<br>
> <br>
> Bill<br>
> <br>
> -----Original Message-----<br>
> From: #YAN RI AN# [mailto:yanrian@pmail.ntu.edu.sg]<br>
> Sent: Monday, February 24, 2003 2:06 AM<br>
> To: vtkusers@public.kitware.com<br>
> Subject: [vtkusers] Soild *.stl format needed.<br>
> <br>
> <br>
> <br>
> Dear All vtk users:<br>
> I need Solid *.stl format model for the rapid prototyping technology.</font>
<br><font size=2 face="Courier New">> the MarchingCubes Algorithm only got isosurface *.stl format only.<br>
> I do not know how to solve the proplem.<br>
> Could any experts help me?<br>
> Here is my program:<br>
> <br>
> //main program:<br>
> vtkVolume16Reader *v16=vtkVolume16Reader::New();<br>
> v16->SetDataDimensions(64,64);<br>
> v16->GetOutput()->SetOrigin(0,0,0);<br>
> v16->SetDataByteOrderToLittleEndian();<br>
> v16->SetFilePrefix("c:/Vtkdata/Data/headsq/quarter");<br>
> v16->SetImageRange(1,93);<br>
> v16->SetDataSpacing(3.2,3.2,1.5);<br>
> v16->Update();//put the image into memory<br>
> <br>
> vtkMarchingCubes *iso=vtkMarchingCubes::New();<br>
> iso->SetInput(v16->GetOutput());<br>
> iso->SetValue(0,1150);<br>
> iso->ComputeGradientsOn();<br>
> iso->ComputeScalarsOff();<br>
> <br>
> vtkPolyDataMapper *isoMapper=vtkPolyDataMapper::New();<br>
> isoMapper->SetInput(iso->GetOutput());<br>
> isoMapper->ScalarVisibilityOn();<br>
> isoMapper->ImmediateModeRenderingOn();<br>
> <br>
> <br>
> vtkActor *isoActor=vtkActor::New();<br>
> isoActor->SetMapper(isoMapper);<br>
> isoActor->GetProperty()->SetColor(1,1,1);<br>
> <br>
> // Add the actors to the renderer, set the background and size<br>
> vtkRenderer *ren1 = vtkRenderer::New();<br>
> ren1->AddActor(isoActor);<br>
> ren1->SetBackground(0,0,1);<br>
> <br>
> vtkRenderWindow *renWin = vtkRenderWindow::New();<br>
> renWin->AddRenderer(ren1);<br>
> renWin->SetSize(600,600);<br>
> <br>
> vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();<br>
> iren->SetRenderWindow(renWin); <br>
> <br>
> <br>
> //<br>
> //STL OutPut<br>
> vtkTriangleFilter *triangles=vtkTriangleFilter::New();<br>
> triangles->SetInput(iso->GetOutput());<br>
> <br>
> vtkDecimatePro *decimate=vtkDecimatePro::New();<br>
> decimate->SetInput(triangles->GetOutput());<br>
> decimate-> SetTargetReduction(0.9);<br>
> decimate-> PreserveTopologyOn(); <br>
> <br>
> vtkSTLWriter *stl=vtkSTLWriter::New();<br>
> stl->SetInput(decimate->GetOutput());<br>
> stl->SetFileName("head.stl");<br>
> stl->Write();<br>
> // <br>
> renWin->Render();<br>
> iren->Start();<br>
> <br>
> v16->Delete();<br>
> iso->Delete();<br>
> isoMapper->Delete();<br>
> isoActor->Delete();<br>
> <br>
> ren1->Delete();<br>
> renWin->Delete();<br>
> iren->Delete();<br>
> <br>
> triangles->Delete();<br>
> decimate->Delete();<br>
> stl->Delete();<br>
> <br>
> return 0;<br>
> }<br>
<br>
_______________________________________________<br>
This is the private VTK discussion list. <br>
Please keep messages on-topic. Check the FAQ at: <http://public.kitware.com/cgi-bin/vtkfaq><br>
Follow this link to subscribe/unsubscribe:<br>
http://public.kitware.com/mailman/listinfo/vtkusers<br>
</font>
<br>
<br>