SplineOffset

the ultimate tool for 3D spline cloning and distribution.

SplineOffset is a modifier for 3ds Max that creates multiple clones of splines with the option to incrementally increase or decrease offset, translation, and rotation. In many ways it is similar to 3ds Max's built-in array tool combined with a spline offset function, but with two major benefits: Firstly SplineOffset is fully parametric so you can change the number of clones, the size of the offsets, and their distribution at any time. Secondly, SplineOffset is able to heal overlapping splines so that they form one continuous path, a feature that's missing from Max and opens up the plugin to a huge range of applications.

Download

Features

  • Procedurally clone and offset any spline.
  • Increment translation, rotation and offset.
  • Fully non-destructive. Edit settings at any time.
  • Automatically heals intersecting splines caused by the offset operation.
  • Set, increment and create patterns of Material IDs on cloned splines.
  • Choose between 5 end types: Butt, Square, Round, Closed Spline or Closed Polygon.
  • Choose between 3 bevel types: Square, Chamfer, or Round.
  • Multiple SplineOffset modifiers can be used to create sophisticated nested effects
  • Compatible with Max 2013 and above.

Tutorial

Procedures

To incrementally offset, translate or rotate parallelss

SpineOffset Modifier
  1. Add a SpineOffset Modifier
  2. Use the # Parallels value to determine how many times the base spline is cloned
  3. Use the Translation values to incrementally Translate each parallel. There are separate values for X, Y and Z axes.
  4. Use the Rotate values to incrementally Rotate each clone. There are separate values for X, Y and Z axes.

To create parallels inside, outside or inside and outside a closed spline

Clones outside the source spline

Clones outside the source spline

Clones inside the source spline

Clones inside the source spline

Clones both side of the source spline

Clones both side of the source spline

  1. To create parallels outside a closed spline, use a positive Distance value.
  2. To create parallels inside a closed spline, change End Type to Closed Line and enter a negative Distance value.
  3. To create parallels inside and outside a closed spline, change End Type to Closed Line, enable Double Sided Offset and enter a positive Distance Value.

To fix a material ID

  1. Add a SpineOffset Modifier
  2. Increase # Parallels and incrementally Translate, Rotate or Offset splines as described above.
  3. Change Material ID mode to Fixed
  4. Enter a Material ID value to be used for the new splines. Note that the original spline is unaffected and that if multiple values are entered, only the first will be used.

To Increment material IDs

  1. Add a SpineOffset Modifier
  2. Increase # Parallels and incrementally Translate, Rotate or Offset splines as described above.
  3. Change Material ID mode to Increment By
  4. Enter a value by which the material ID for each spline will be incremented, starting with the material ID number on the source path. Note that if multiple values are entered, only the first will be used.

To Sequence material IDs

Material ID
  1. Add a SpineOffset Modifier
  2. Increase # Parallels and incrementally Translate, Rotate or Offset splines as described above.
  3. Change Material ID mode to either

    Sequence by Segments to create a pattern of material IDs based on the segments of the spline

    Sequence by Spline to create a pattern of material IDs based on the parallels

  4. Enter a comma separated list to define a repeating sequence.

To auto-heal overlapping Splines

SplineOffset can auto-heal splines that overlap

SplineOffset can auto-heal splines that overlap

The same spline with the auto-healing feature disabled

The same spline with the auto-healing feature disabled

  1. Add a SpineOffset Modifier
  2. Increase # Parallels and incrementally Translate, Rotate or Offset splines as described above.
  3. Splines from the same sub-splineare healed when the offset operation causes them to overlap
  4. To heal splines for different Sub Splines, enable Heal Intersecting Splines.

To set the pivot point

  1. Select the Spline object, remove any SplineOffset modifiers that are already present
  2. Go to the Hierarchy Panel and enable Affect Pivot Only
  3. Move the Pivot to its new position and orientation.
  4. Disable Affect Pivot Only
  5. Use the Reset XForm tool found in the Utilities panel
  6. Add SplineOffset modifiers as normal. They will now use the new pivot position for translate and rotate operations.

To Offset open splines

  1. Add a SplineOffset Modifier to an open spline
  2. Increase # Parallels and incrementally Translate, Rotate or Offset splines as described above.
  3. Change the End Type to either Open Butt, Open Square or Open Circle

To Offset splines that are not planar

  1. Add a SpineOffset Modifier
  2. Increase # Parallels and incrementally Translate, Rotate or Offset splines as described above.
  3. Change Mode to 3D
The 3D mode is able to retain the position of source splines when they are flat on a single plane, however you should be aware that the algorithm is less effective at auto-healing, especially when using negative distance values, and the options for End Type and Bevel are also not available.

Interface

Spline Offset interface, Itoosoft

# Parallels

Specifies the number of times the input spline is duplicated.

Spacing

Controls the incremental offset of the cloned splines using two parameters

Distance

Sets the offset distance between each parallel

Offset

Allows you to modify the offset value for just the first parallel.

Rotation

Incrementally rotates splines using the stepped values set for the X, Y, and Z axes.

Translation

Incrementally translates the splines using the values set for the X, Y, and Z axes.

Material ID

Allows the user to control the material IDs on cloned splines. Five options are available

Don't change

Parallels retain the Material ID(s) assigned to the source spline

Fixed

Sets a new value for the parallels. The new Material ID is set using the input list at the bottom of the Material ID group UI. Note that in the event of a comma separate list, only the first entry is used for this mode.

Increment by

Increments the Material ID on each parallel by the first value stored in the input list

Sequence by Segment

Creates a pattern of material IDs using a comma separated list. The modifier then loops through these, moving to the next material ID in the sequence for each spline segment.

Sequence by Spline

Creates a pattern of material IDs using a comma separated list. The modifier then loops through these, moving to the next material ID in the sequence for each parallel

Mode

SplineOffset includes two algorithms for performing offset and healing operations: 2D Mode and 3D Mode.

2D Mode

2D Mode

3D Mode

3D Mode

2D

The 2D algorithm provides the most robust healing solution and has two additional options to define how the parallels are created by setting their Bevel Type and End Type. It also has the ability to auto-heal splines that are being generated by different sub-splines Though more featured, 2D mode will always flatten all splines on the Z axis before performing any further translation rotation or offset operations.

Bevel Type

Choose from 3 types of bevel type for intermediary corners: Square, Round or Chamfer

Bevel Type = Square

Bevel Type = Square

Bevel Type = Chamfer

Bevel Type = Chamfer

Bevel Type = Round

Bevel Type = Round

End Type

Choose from 5 options for the way the ends of spline are terminated: Closed Polygon, Closed Line, Open Butt, Open Square, or Open Round.

End Type = Closed Polygon

End Type = Closed Polygon

End Type = Closed Line (& Double Sided Offset = On)

End Type = Closed Line (& Double Sided Offset = On)

End Type = Open Butt

End Type = Open Butt

End Type = Open Square

End Type = Open Square

End Type = Open Round

End Type = Open Round

Heal Intersecting Splines

When enabled intersecting parallels from different sub-splines are auto-healed. When disabled, parallels from different sub-splines are not healed and simply overlap.

Heal Intersecting Splines = Off

Heal Intersecting Splines = Off

Heal Intersecting Splines = On

Heal Intersecting Splines = On

3D

3D mode lacks the Bevel Type and End Type features of 2D mode and has a less robust auto-healing algorithm, but it will retain the spline's position and orientation and attempt to make appropriate clones.

New Vertex Type

Sets the type used when new vertices are created, particularly useful on curved Splines. This setting can be used with the Conditional nodes and/or Corner settings in RailClone to help differentiate the original vertices in the source spline to the ones added by the SplineOffset modifier.

Keep Original Spline

When enabled, the source spline is retained. When disabled the source spline is removed.

Keep Original Spline = Off

Keep Original Spline = Off

Keep Original Spline = On

Keep Original Spline = On

Apply Backwards

When enabled, translation and rotation operations are performed backwards, i.e. from from the last parallel to the first. When disabled, translation and rotation operations are performed in the order from the first parallel to the last.

Apply Backwards = Off

Apply Backwards = Off

Apply Backwards = On

Apply Backwards = On

Double Sided Offset

When enabled, splines are created inside and outside of the source spline. When disabled, splines are only on one side of the source spline.

Double Sided Offset = Off

Double Sided Offset = Off

Double Sided Offset = On

Double Sided Offset = On

Installation

SplineOffset supports 3ds Max 2013 and above. There is no automatic installer application, so you will need to install SplineOffset manually by following these steps:

  1. Download SplineOffset from either the ITOOSOFT Website or Autodesk App Store.
  2. Extract the downloaded ZIP.
  3. Once extracted you will find a folder for each supported version of 3ds Max. Open the appropriate plugin folder and select SplineOffset.dlm.
  4. Copy SplineOffset.dlm to 3ds Max's plugin directory, usually located at C:\Program Files\Autodesk\3ds Max #####\Plugins.
expand_less