[prev] Patches [next]

New in CySlice v3 is the ability to fit Catmull-Clark SubDivision (SUBD) and ordered polymesh (Poly) surfaces, along with the original NURB surface fitting.

Below is a complete description of the NURBS surface fitting, many aspects of which apply directly to the SUBD and Poly fitting process. Those new to CySlice should read the following, but those familiar with the NURBS fitting could skip straight to the Subdivison Surfaces chapter if they wished.

Seed Points and Enclosed Regions

[click to zoom]
Figure 66. Enclosed Regions

Patches are created by dropping seed points into regions of polymesh that are enclosed by one or more curves (see Figure 66). A patch is built by first searching out from the seed point for a curve, then the curve is traced around to find the closed boundary, then four corner points are picked.

The major advantage of this approach is that, in most cases, you only ever need to pick one point to create a patch - the seed point. CySlice can usually guess what the four corner points are by examining the shape of the traced out boundary curve.

[click to zoom]
Figure 67. Must Have Points at Curve Intersections

If you create an enclosed region by simply overlapping curves (see left side Figure 67), then the patch creation will not work; CySlice needs there to be a shape point at each curve intersection (see right side Figure 67).

Patch Dimensions

The UV dimensions of patches in CySlice aren't defined explicitly (e.g. "I want this patch to be 20x10"). The patch dimensions are derived from the number of Divisions on the boundary curves. Opposite boundaries are compared, and the greater number of divisions is used as the patch dimension.

[click to zoom]
Figure 68. Make Divisions Before Creating Patch

Before creating patches, its a good idea to have at least a few divisions on the boundary curves. If you have no divisions (see left side Figure 68) then the patches created in the bounded regions will be very simple, possibly with UV dimensions of 1x1. There's nothing wrong with this, but none of a 1x1 patch's internal surface will be fitted to the mesh; not very exciting.

But if you make some divisions before creating patches (see right side Figure 68) then the initial fit will be much more informative. A quick way to create divisions is to use the Num Div, Div Spacing or Mult Div buttons in the Points and Curves panel.

Creating a NURB Patch

CySlice fits the polymesh with uniform bspline patches. Although the patches are exported in IGES files as entity 128 (NURBS patches), there is no non-uniformity in the knot vectors, or rational component to the control points.

[no zoom]
Figure 69. Patch Controls

To create a new patch, click on the Create button in the Patches panel (see Figure 69). You will then be asked to place or pick a seed point. Click the left mouse button with the mouse pointing somewhere near the middle of the new patch, and a yellow seed point will appear (see left side Figure 70). Hit the <Space> bar to continue if you are happy with the selected location.

[click to zoom]
Figure 70. Place Seed Point, Then Pick Corners

If you aren't happy with the selected location, hit <Enter> to abort. The seed point will be retained; you can move it to a better location and click on Create again. This time select that repositioned point instead of placing a new point, then hit <Space> to continue.

After the <Space> bar is hit, CySlice will search out from the seed point for the new patch's boundary curves, and will make a reasonable guess at where the corner points are; these will be drawn as large yellow points (see right side Figure 70). If you want a different four corner points, click on the yellow dots to toggle them off, and click on other points to select them. When you are happy with the corner point selection, hit the <Space> bar to create the patch (see Figure 71).

[click to zoom]
Figure 71. New Patch Created

At this point, if you have more patches to create, place or pick another seed point. Hit <Enter> at any time to abort the patch creation process and you'll be returned to the Edit menu.

Three Sided Patches

CySlice creates three sided patches by collapsing one edge a four sided patch into a single point.

[click to zoom]
Figure 72. Three Sided Patches: Beginning

Begin with the four sided patch creation process as described in the previous chapter; place a seed, then hit <Space> and CySlice will pick four corner points (see Figure 72).

[click to zoom]
Figure 73. Three Sided Patches: Middle

What you do now is identify which of the four selected point isn't a corner in your three sided patch, then click on it with the left mouse button to toggle it off (see left side Figure 73). Hit <Space> to continue.

CySlice will then complain that only three points are selected, and maybe you forgot to select the fourth? Hit <Space> to tell CySlice that, no, you're picking only three for a reason; you want to create a three sided patch. Next you'll need to pick the "pointy" corner; this is where the iso-params collapse (see right side Figure 73).

[click to zoom]
Figure 74. Three Sided Patches: End

After picking the pointy corner, hit <Space> a final time, and the three sided patch is created (see Figure 74).

[prev] [top] [next]