10 votes
Date Updated: 
Author Name: 
Shawn Olson

PropLine Plugin for 3ds Max PropLine is a scripted geometry plugin that distributes props along splines with various parameters to control how the props are distributed and transformed. This tool replaces the Spacing Tool in Max in a totally parametric/non-destructive fashion. The transformations of the props can be easily retrieved later to export into game engines or other formats.

Additional Info: 


To help simplify maintenance of PropLine, I'm combining its versioning with that of Wall Worm Pro Pack, which is now free and includes PropLine

Version 5.2.8 released on 10-22-2022
  • PropLine: Added new option to randomly flip objects 180 degrees in the Z Axis.
  • PropLine: Fixed the max values of Translation and Rotation values not being enabled when randomization is turned on.
Version 5.1.31 released on 5-22-2022
  • PropLine: Added new options to progressively affect scaling of props.
Version 5.1.19 released on 3-6-2022
  • PropLine: Fixed the Average Vector option not working on the first instance in a closed spline.
Version 5.1.17 released on 2-21-2022
  • PropLine: Added Exclude VMF parameter to match other WW plugins.
  • PropLine: Added new option Skip Nth that will remove instances in a repeating pattern.
Version 5.1.16 released on 2-19-2022
  • PropLine: Fixed PropLine skipping a point when using the Midpoint distribution and the spline is closed.
  • PropLine: Fixed duplicate point added in some cases with a closed spline.
Version 5.1.13 released on 1-30-2022
  • Propline: Fixed the button to generate a random seed only working on first click.
Version 5.0.48 released on 1-5-2021
  • Propline: Fixed a bug in PropLine in 3ds Max 2020 and older.

Legacy Changelog

Version 1.72

  • Fixed bad normals when using WallWormMDL nodes and 3ds Max 2020+ is installed. Requires Wall Worm 5.1.1+ (which also comes with PropLine).
  • Fixed bug in PropLine when using splines with modifiers.
  • Fixed MAXScript error with some splines.

Version 1.71

  • Fixed MAXScript errors related to using shapes other than Editable Spline shapes in a PropLine object caused by a regression in 3ds Max 2021.
  • Fixed duplicate instances being added to closed shapes.
  • Fixed some spacing problems when using the Division value.

Version 1.69

  • Fixed some rollout resizing issues in 3ds Max 2019+.

Version 1.66

  • Fixed Spacing and Divide not working correctly on several shape classes.
  • Added support for spacing and divide on latest version of CorVex Spline.

Version 1.65

  • Added new option new Midpoint distribution method.

Version 1.64

  • Added new option Align to World. When on, the props are aligned to the world orientation.
  • Updated the Create PropLine from Selection Macro to automatically apply an Edit Normals modifier to the PropLine node if one of the added props is a WallWormMDL node.
  • Updated Prop Manager to detect props from a PropLine node if that node had modifiers.

Version 1.63

  • Added new parameter for Divide amount. The divide amount was previously shared with the Spacing amount and caused problems.
  • Added support for CorVexSpline.
  • Added better support for BorderSpline, allowing usage of more than just Knot mode and one sub-spline.
  • Updated macros to work on PropLine nodes that have modifiers.

Version 1.61

  • Added new option Align to World. When on, the props are aligned to the world orientation.
  • Updated the Create PropLine from Selection Macro to automatically apply an Edit Normals modifier to the PropLine node if one of the added props is a WallWormMDL node.
  • Updated Prop Manager to detect props from a PropLine node if that node had modifiers.

Version 1.6

  • Optimized loading of Meshes.
  • Fixed bug loading some meshes.
  • Fixed incorrect offsets when using some kinds of nodes (like WallWormMDL nodes withough models tied to them).
  • Updated internal Wall Worm classification for being tracked by the latest Wall Worm scene manager.
  • Fixed bug in setting to Box mode.
  • Fixed bug when using WallWormMDL nodes and the Source Model Display was set to Per Node.

Version 1.58

  • Optimizations to improve performance. Best performance increase found in 3ds Max 2018.4+.
  • Fixed the Uniform Scale not working when using Randomization of scale.
  • Fixed some bugs in UI when pressing buttons after deleting source splines or source models.
  • Added support for Scaling props with the Instantiate function.

Version 1.55

  • Fixed Max freezing for a long time and creating an exception one some source nodes. Note this fix does not yet apply to source nodes that are part of a Group.
  • Fixed transform of WallWormMDL nodes in source list.
  • Fixed Display as Boxes and Use Node's Box Mode.

Version 1.53

  • Added New display mode for Use Node's Box Mode. Will respect the individual prop box mode or layer box mode setting.
  • Added new global setting to use Subtitute Modifiers on source objects that are over a threshhold vertex count.
  • Added new button in utilities rollout to add Substitute Modifiers on source nodes not using substitute modifiers.
  • Added Instantiate All MacroScript.

Version 1.52

  • Added Source Model integration so that you can manually use Lowest/Highest LODs of models in scene to improve performance. Source Model geometry class are available when you install Wall Worm or Wall Worm Pro.

Version 1.49

  • Added Scaling options to PropLine and PropLine Transformation Custom Attributes.

Version 1.48

  • Updated the orientation of the last prop spawned on a closed spline to point towards the first prop in the closed spline.
  • Added new transformation parameter called Point At First. When on, forces the last prop in a spline to point at the first prop whether the spline is closed or not.

Version 1.47

  • Added new setting Allow Repeat. When off, props will not repeat with Random or Probability distribution settings.

Version 1.46

  • Added new setting AutoUpdate. When off, the mesh is cached and not calculated when any setting is changed.
  • Added several new utilitiy functions to the PropLine Manager Floater.
  • Fixed bug with some combinations of Distribution type and shape objects other than Editable Spline Shapes.

Version 1.45

  • Updated they way the material is generated to fix problems with Grouped geometry and XRef geometry nodes.

Version 1.44

  • Minor performance optimization.
  • Updated the Enforce XRef Proxy setting to only turn on all proxies when enabled. When disabled, the user must manually change the proxy status of objects or to press the Disable XRef Proxy button in the performance rollout. This is to help reduce sever performance problems if some or all of the XRef objects are very high poly.

Version 1.43

  • Fixed viewport performance bug that caused Max to lag during the creation of objects after the PropLine was created.
  • Fixed a bug with materials when using XRef Objects.

Version 1.42

  • Fixed a bug that could crash PropLine and freeze the Max UI due to a dependency loop with some materials.
  • Fixed Instantiate function not properly skipping props that were skipped in the PropLine mesh.

Version 1.41

  • Fixed a bug in calculating the distribution distances.

Version 1.4

  • Added new Prop Distribution Method "divide". When on, places props at equal intervals along the path. Number of props is determined by the Spacing value (which is converted to an integer value when using divide distribution).
  • Updated PropLine Custom Attributes to display changes in the viewport immediately. Removed button to force display of prop CA changes. (Props with pre-existing CA need the CA updated by re-assigning a CA to the prop.)
  • Added support for Group props.
  • Added new parameter Skip Probability to PropLine and PropLine Custom Attributes. Defaults to 0. When above 0, there is a chance that a prop will be skipped at a location.
  • Added new transform setting Average Vector. When on, each prop will orient to a vector defined by the last and next prop locations. When off (default) the vector is between the current location and the next prop.
  • Added new transform setting for Snap to Grid. When on, each prop pivot is moved to the nearest grid intersection based on the grid spacing value.
  • Added Custom Attribute override for Average Vector.
  • Added Custom Attribute override for Upright.
  • Added Prop Manager floater.
  • Added button to generate new random seed value.
  • Fixed per-prop transform overrides losing randomness after a few props when transformation randomness is on.
  • Updated Spacing & Padding minimum to be set in a global config file. The default minimum is still 1.0 but you can now change this default.
  • Added new Performance Rollout.
  • Moved Display as Boxes from the main parameters rollout to the the Performance rollout.
  • Added new performance setting Limit Props. When on, the props generated in the PropLine mesh is limited to this value.
  • Added Min Prop Size parameter. When on, limits the minimum spacing between props when using the Size distribution method.
  • Added performance setting XRef Object Proxies. When on, forces all XRef Object nodes that have proxies to display the proxy object in the viewport.
  • Added Global Settings button in Utilities Rollout which launches a controller for setting some global settings that get stored in an INI file.
  • Fixed the placement of props when using the Interpolation spacing setting to match interpolation correctly.
  • Updated calculation of the probability of props along splines based on Material ID.
  • Fixed Prop Orientation to still point to the next prop location even if the next prop is skipped based on Material ID.
  • Fixed problem with erratic distribution when the distribution method was set to Size and padding randomization was on.

Version 1.3

  • Added new setting "Use Mat ID Distribution". When on, each prop can be set to obey distribution based on the rules of the spline's material IDs.
  • Added Rules to Custom Attribute of PropLine Props to limit object to specific material IDs. Default to use All material IDs, but if set to include/exclude material IDs, allows you to enter a comma-separated list of the IDs to use.
  • Added Randomize Spacing option when in Spacing distribution method.
  • Added support for spline bases that have been extruded or had geometry added to them.
  • Added several buttons to get parameters and settings from other PropLine objects in the scene.
  • Fixed the placement of props when using the Interpolation spacing setting to match interpolation correctly.
  • Added two macroscript functions: Activate All PropLine and Deactivate All PropLine. These commands must be assigned via Max's Customize User Interface.

Version 1.21

  • Fixed bug if any of the source geometry nodes do not have any mesh data.

Version 1.2

  • Added new Prop Distribution method: Probability. This mode will distribute each prop based on its relative probability attribute (added to the custom attribute definition for source nodes).
  • Added new parameters Padding and Padding Randomization that adds extra space between each prop when the Prop Distribution Method is set to spacing.
  • Added new transformation parameter Upright. When on, all props will use an initial X-axis vector from the spline that is transformed to be parallel with the World's XY plane. This is helpful when you need props to stand upright in the world Z axis regardless of the spline vector.
  • Added Probability property to the PropLine Transforms custom attribute.
  • Added sub-rollout to Propline Source Nodes section. When a node is selected in the list that has a PropLineTransform custom attribute, that node's transform rollout will populate the subrollout.
  • Added button Show Override Changes. Used to update the PropLine if any changes are made to the source node custom attributes in the source node attribute sub-rollout.
  • Updated the function for adding custom attributes to source nodes. Now the command panel returns to the modify tab and the current selection is remembered.
  • Moved the Allow Overrides setting to the Transformations rollout.
  • Swapped order of the Spline Base UI group and the Source Nodes UI Group because of the added custom attribute sub-rollout.
Version Requirement: 
3ds Max 2012+
Video URL: 


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
dxforever's picture

8 vote? This deserve 800 at

8 vote? This deserve 800 at least. thank you!!

hello. thank you everyone. i love 3ds max and someday i will make maxscripts by my self. thank you.

lightcube's picture

Thanks for the comments guys.

Thanks for the comments guys. I really appreciate the love!

I guess I should update the license info. Use on a render node is not restricted. No extra licenses needed unless installed on machines for more than one user.


Shawn Olson

Developer of Wall Worm

michaelwbell's picture

Very useful, very versatile.


I grabbed a copy of Propline after seeing the first Youtube video and have been using it on a number of productions for the past month or so. I've not seen any of the other WallWorm tools until now. My focus at this time is on standard 'offline' rendering - not realtime but found Propline to be extremely useful no matter what the task. It beats Spacing Tool, Railclone and other arrays in many situations mainly because of the ease of use, speed to setup...and the low price.

Highly recommended.

This review is based on the initial release. I've not yet had a chance to check out the features added since then.

One question: What is the policy on network rendering? If I have one Propline license but require propline to network render on a collection of render nodes, can I use the Propline licence on those machines, or do I need to purchase a separate render license?

guarabana's picture


This script has been a real find for me. Recommendable.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.