[prev] Loading Meshes [next]

For CySlice to work efficiently, or correctly, or at all, it needs to be fed data in the right form:

(1) CySlice only works off of polygonal meshes. A polygonal mesh, or polymesh, is a collection of points that are connected, usually in groups of three, to make faces. A point cloud is just a bunch of points; there is no connectivity information. If you only have point clouds, you'll first need to find a way to turn them into polymeshes before you can use CySlice.

(2) CySlice only reads in PLY files. The PLY format was developed by the Stanford Computer Graphics Lab as a flexible way of storing all sorts of geometry information. We chose it as our "standard" for 3D data because of the compact way in which it stores polymeshes.

Mtool, a separate application included free with the CySlice distribution, can be used to convert Wavefront OBJ and binary STL format files into PLY. See the Mtool User Guide for more information.

(3) The polymesh should be dense. CySlice has been optimized to work with detailed polymeshes, the sort of data you get from 3D scanners. Other sources might include iso-surfaces from volumetric representations of medical imaging, or meshes from metaball modelers.

If your polymesh is sparse, such as those produced by a point digitizer, then you might need to sub-divide the mesh before loading it into CySlice. However, having said that, many of our users report that they have had great success converting low polygon count models into NURBS without any need to sub-divide first.

(4) The polymesh should be clean. In other words, it shouldn't have small holes, weird twisted connectivities, or self penetrations. When you load the polymesh into CySlice, these problem areas will be outlined in blue.

Consult the Fill and Smooth section for information on how to edit meshes in preparation for slicing or surfacing.

(5) The polymesh should be real world sized. To make CySlice as fast as possible, we have made certain assumptions about the overall dimensions of the object; it should be no smaller than 50mm, and no larger than 5m. If your object is outside these bounds, then use Mtool to scale before loading.

(6) If you wish to extract UV color maps, then the color information can be stored in the polymesh as either CPV (Color Per Vertex) or as a UV color map.


Loading the Mesh

[no zoom]
Figure 2. Loading the Mesh

To load a polymesh, click on the right arrow at the end of the Mesh input field, found towards the top of the CySlice window (see Figure 2). A file selection window will appear; see the chapter titled File Selection for more details on the functionality of these windows.

As the file is being loaded, two more windows will appear:

(1) The CySlice Console window shows you the output that comes back from CyEat. CyEat, running in a special "cyslice" mode, is the program that's actually used to slice and draw networks on the polymesh.

(2) The CySlice Display window shows the mesh, and will show the slices and networks once they are created.

[no zoom]
Figure 3. Loading the Color Map

If the polymesh loaded has UV coordinates defined, you'll be given the option to load the color map as well (see Figure 3). You'll need to load the color map if you want to extract color maps for surfaces built from a UV mapped polymesh.



RAM Usage

As a rough guide, CySlice will use RAM according to the following formula:

  
  RAM = num_faces * 100  

So, for example, if the polymesh being loaded has 1,000,000 faces (i.e. 1M faces) then 100,000,000 bytes of RAM will be used (i.e. 100Mb).

If the calculated RAM is greater than the available free physical RAM, some swapping to disk will occur. This will slow down the operation of CySlice, and the greater the difference between RAM used and free RAM, the slower it will get.

[prev] [top] [next]