Collada plugin for After Effects

More info here
Plugins and Scripts > trueSpace > Modeling - NURBS Patch
patch nodes

NURBS Patches for trueSpace7.61(workspace)

A collection of scripts for using NURBS patches in the truespace workspace environment. Includes file loaders, primitive to patch conversion, extrude, insert isocurve, delete isocurve

back to workspace nurbs

Usage:

  • Double Sided mesh faces are double sided
  • U precision, V precision - display resolution
  • Smooth Angle autofacet angle
  • Select LOD Mesh select the NURBS display mesh

Notes:

  • Do NOT edit the patch node directly.
  • Use Select All Geometry not Select Visible. Some control points/edges can be on invisible back faces.
  • Use rectangle or lasso selection with vertex mode. Do not use face selection mode.
  • The NURBS appearance can be busy bcause the normally invisible floating control points are invisible in modelspace. The edges correspond to the handles used to control the shape of the patch. In modelspace the handles are only visible one at a time, here in workspace all the handles are shown at once.
  • when an isocurve is selected it shows as 2 or 3 rows of selected points with an outside row partially selected, this somewhat mimics the modelspace patch selection.
  • The plane loop select script can be used to select non-isocurve edge "loops"
Ideas/things to add later
  • true handles with automatic positioning of the floating control points
  • direct link to my CAD software - turbocad through com controls
October 30, 2020

Patch from Primitive

nurbs primitive

This script will create a patch from a mesh primitive.

original mesh primitives in back, NURBS result in front

Primitives.

  • Cone and Cylinder
  • Torus
  • Sphere
  • Cube
  • Plane - the detail is defined by the segment counts for width and height

RMB panel

  • Keep Source Mesh will not delete the polygon source primitive
  • Offset Source Mesh if Keep Source Mesh is active, this will move the old primitive mesh so it does not overlap the newly created NURBS patch.

The plane segment counts will translate to the nearest multiple of 3. The final NURBS will have 3,6,9, etc segments on a side

Plane height count corresponds to NURBS U span and width will translate to V spans.

The cylinder is a cone with equal top and bottom radii.

Items will be named "NURBS Cone", "NURBS Torus" etc.

Skin

nurbs skin

This script will create a patch from a series of curves.

Select a series of curves and press the button to create a patch.

Be mindful of the curve direction to avoid twisting.

RMB panel,

  • Smooth make a smooth transition between profile curves
  • Close Patch - repeat the first curve to give the appearance of a closed patch

The curves must all have the same number of spans.

Rail

nurbs rail

This script will create a patch from profile and a rail curve.

Curve heads close together, result rail, result rail when curve heads are touching

The profile curve is extruded along the rail curve to create a patch.

RMB panel

  • Maintain Profile Orientation - profile will not rotate to follow the rail curve
  • Automatic Curve Flip - will automatically flip the curves so the curve heads are close together

Set the profile curve so it's head is close to the head of the rail curve. Select the profile then the rail and press the button.

BiRail

nurbs rail

This script will create a patch from 1 or 2 profile curves and 2 rail curves.

RMB panel, Automatic Curve Flip

BiRail with 1 profile curve

Left to Right.

  • curves arranged: profile on the left and 2 rails top and bottom. The bottom is the first rail selected.
  • result of birail selection order profile, bottom then top
  • same birail with the curves touching and the top rail reversed, automatic flip is on
  • same again but with automatic curve flip turned off

Birail2 selection order: left profile, right profile, bottom rail, top rail

Arrange the curves so the head of the first profile is near the head of the first rail. If not then the Automatic Curve Flip isn't guaranteed to work properly.

Select the profile, then optionally select the second profile, then the first and second rail curves, press the button to get a patch.

This button calls one of 2 scripts, BiRail1 or BiRail2. Birail1 uses 1 profile and Birail2 uses 2 profile curves. The Birail2 can be used in cases where the BiRail1 lacks some control caused by rotational flips of the profile as it is swept along the rail path.

Lathe

nurbs rail

This button will create a patch from a revolved profile .

  • X,Y,Z local axis direction for the lathe, not world axis
  • Start Angle
  • End Angle
  • Helix Offset to create spiral
  • Segments number of times the curve will to copied to make the patch
  • Lathe

Lathe center will be the origin of the curve, (0,0,0) in local space. This is shown in the image above as the orange sphere location of the object navigation widget.

Far right image shows helix result.

The origin of the curve can be set by using the Axis, then Flatten axis tools.

The Mesh Origin script is also helpful for setting the origin of the curve to a precise location.

Extrude

patch extrude

Extends a patch by adding an isocurve to the selected border.

  • select a border control edge or at least 2 vertices on a border
  • run the tool and the geometry will be extruded and selected
  • move the new isocurve into position

Refine

refine patch

Add isocurve geometry to the interior of a patch.

  • start the tool - the line appearance will change
  • select one of the edges and an isocurve will be added perpendicular to it
  • the isocurve will be selected so it can be adjusted

Unrefine Patch

unrefine patch

Remove a isocurve geometry from a NURBS patch.

Select vertices or control handle edge of the isocurve and press to delete it

Select isocurve

isoparm

Selects a line of control points with a soft selection to imitate modelspace manipulation of isocurves.

Select a control edge and press the button to select the isocurve.

Select line

line

Selects a line of control points.

Requires installation of the plane loop select script, Plane Loop

Select a control edge and press the button to select the isocurve.

Stitch

line

Moves the control points of 2 patches to be coincident

RMB panel, Coincident Radius - how close to make points coincident

Select 2 patches with overlapping control points and run the tool.

if nothing happens RMB and change the radius

Tool is like the first step of a welding type action, the points are moved together but not joined.

Only control point handles are affected, floaters are ignored.

Can be used to stich multiple rows to get smooth continuity when patches are butted up against each other.

Load Patch from a file
Save Patch to a truespace object file

This button will open a panel for loading and saving NURBS patches from trueSpace scn and cob files generated from the modelside or earlier truespace versions.

This button has been removed and corresponding items have been added to the file import and export menus.

Save patches from modelside in trueSpace 6.6 ascii format. The version 7 format has a lot of extra information and will slow down the load process.

The scn and cob files must be ascii format. JScript only reads ascii text format files and has no check for binary format files.

Some Notes

trueSpace7.61 has a crash bug. If you try to load an ascii format NURBS patch while in wireframe display mode it will crash trueSpace. Earlier versions of trueSpace do not have this bug,

A closed patch can be simulated by moving the border of the patch together and lining up the control handles into a straight line.

The patches are based on plane meshes because of their consistent point index order and it is the simplest polygon mesh that can represent a patch.

Moving a point selection is enough to change the triangle indices. The vertex indices are fine but the triangles get scrambled.

October 30, 2020

(OLD) NURBS Patch Loader for trueSpace7.61

A script for loading NURBS patches as regular meshes from ascii format scene(scn) and object(cob) files. Click the link above to get the installer.

October 8, 2011
September 19, 2009