DSLscripts - Upcoming script pack



• What is DSLscripts?

DSLscripts is my script pack for 3ds max, built around various personal tools that have developed over the years working with 3ds max. 

• Who is DSLscripts created for?

DSLscripts is mainly created to simplify, automate and speed up the things many 3ds max users do everyday. But it also provides tools for specific, otherwise time consuming situations.

• What does DSLscripts contain, and what can it do?

DSLscripts is currently separated in the following 13 categories:

- Arrange

    Tools that arrange, position or pack objects in various ways.

- Camera

    Tools that affect or create camera related objects and features.

- Duplicate

    Tools that copy, clone, instance and replace objects.

- Floater Tools

    A number of similar tools that allow quick assignment of wireframe color, vertex color, or material color.

- Linking

    Tools that create or manipulate object links.

- Material

    Tools that help assign and manage materials.

- MaxSystem

    Tools that perform specific tasks relataed to 3ds max system.

- Modifier

    Tools that assist modifier creation and gizmo manipulation.

- SceneData

    Tools that collect or manipulate various scene data.

- Selection

    Tools that create or manipulate object selection.

- ShellOps

    Tools that perform tasks by interacting with Windows Explorer.

- Time

    Tools that assist in keyframe creation, manipulation, and time navigation.

- Transform

    Tools that deal with object transforms, grid and measurement.

• The following is a list of each individual tool, currently 103 different tools. More detailed explanations of each tool will be available in the near future. Note that some of the video examples below are older versions. New versions have improved performance and features:

    - Arrange

 Pack Objects Linear: Linear packing of objects. 

 Quick Distribute Linear: Distribute objects evenly between the first and last selection.

Spread Positions Tool: Spread positions relative to a specific center point.

 Quick Place: Similar to 3ds max native "Select and Place", but without the need to click and drag the object you wish to affect.

    - Camera

 Create Camera Plane: Creates a dynamic camera plane for camera objects.

 Lock All Cameras: Locks the transform of all camera objects in scene.

 Lock/Unlock Viewport Camera: Locks/Unlocks the transform of current active viewport camera.

 Pick Focus Distance: Lets you set camera focus distance by clicking a point in the scene.

 Select Viewport Camera: Selects the active viewport camera.

 Make Camera Vertigo: Sets up cameras so that they preserve FOV while camera is moved, creating a "vertigo effect" in view.

 Camera FOV by Distance: Lets you pick two points in the scene, and that distance becomes the FOV of the current camera object.

    - Duplicate

 Duplicate Sources and Align At Target: Selected objects will be duplicated and aligned (transform matched) to the picked target object.

Duplicate Sources And Position At Target: Like previous tool, except only position is matched.

 Replace Sources With Target: Selected objects will be replaced by the picked target object.

 Replace Target With Source: Replaces the picked target object with the selected object.

    - Floater Tools

 Floater Tool - Diffuse: Provides a palette for quickly assigning materials and diffuse colors to selected objects.

 Floater Tool - Vertex: Provides a palette for quickly assigning vertex colors to Editable Poly objects.

 Floater Tool - Wire: Provides a palette for quickly assigning object wire colors.

    - Linking

 Chain Link Selection: Link objects in selection order, where first object is linked to the second, and so on.

 Parent To Last Selection: Selected objects are linked to the last selected objects, similar to Maya's parenting workflow.

 Enable Show Links: Links between objects are shown in the viewport.

 Disable Show Links: Shown links will be hidden.

 Enable Show Links Only: Only the links are shown (not the object/mesh).

 Disable Show Links Only: Turns off the above mode.

    - Material

 Quick Assign Material: Input a name and a material will be assigned to selected objects.

 Quick Assign Material - Pick Default: Opens up a menu for specifying the default material type for the above tool.

 Save Material To File: Quickly save selected materials and maps to .mat files. Works in both Material Editor and Slate.

 Load Material From File: Quickly load .mat files and populate Material Editor or Slate.

Material XML Tool: A tool for mass-assigning materials based on geometry profiles (Example Video).

 Remove Material Assignment: Removes any material assigned to selected objects.

    - MaxSystem

 Clear Listener: Clears the 3ds max Listener output.

 Re-Init Icons: 3ds max icon library is re-initialized, updates icons without restart.

 Get Current Modifier Class: Prints out the class of current modifier to Listener.

 Show Current Modifier Parameters: Prints out current modifier parameters to Listener.

 Clear Memory: Provides a menu to clear various aspects of 3ds max memory system.

    - Modifier

 UVW Map Region Fit: My own version of the native "Region Fit", works more intuitively and supports viewport snapping.

 Link Modifier Gizmo To Object: Link modifier gizmos to external objects. Primitives can also substitute as gizmo control.

 Reset Modifier Gizmo: Resets Modifier Gizmos to their default transform, including option to reset Gizmo Center independently.

    - SceneData

 Copy Object Name: Copy the names of currently selected objects to the clipboard as text.

 Copy Scene Name: Copy the name of the current scene to the clipboard.

 Copy Scene Path: Copy the scene path of the current scene to the clipboard.

 Quick Rename Objects: A tool for quick intelligent renaming of objects, with proper non-conflicting numbering.

    - Selection

 Select Double Geometry: A tool to identify scene objects with identical geometry existing in the exact same place.

 Select Instanced Objects: Select all objects that are instanced, or only select instances of currently selected object.

 Select Nth Object: Refine selection by selecting every Nth object.

 Select Same Material: Select all objects sharing the same material instance.

 Select Same Material Name: Select all objects sharing materials with the same name (materials don't need to be instances).

 Select Same Object Name: Select objects sharing the same naming pattern as selected object.

 Select Same Wirecolor: Select objects sharing same wireframe color.

 Select Targets: Select object targets, regardless of object type.

 Select Topmost: When an object in a hierarchy is selected, selects the top-most object of that hierarchy. If multiple objects are selected, selection result is limited to that initial selection.

 Sort By Name: Selection order is sorted alphabetically.

 Sort By Position: Selection order is sorted by position relative to the specified world axis.

    - ShellOps

 Open Preview Folder: Opens the current project Preview Folder in Windows Explorer.

 Open Project Folder: Opens the current Project Folder in Windows Explorer.

 Open Project Image Folder: Opens the Images (normally sceneassets/images) folder in Windows Explorer.

 Open Render Output Folder: Opens render output file path or render output folder in Windows Explorer, or with specified external viewing/editing tool.

 Open Scene Folder: Opens the folder of current open Scene File in Windows Explorer.

    - Time

 Keys Insert: Insert keyframe at time slider, or specified time.

Fill Insert Keys: Insert keyframes at every frame/specified interval between selected keyframes or specified time range (Example Video).

 Forced Playback: Force an initial playback where every frame is loaded, then runs normal real-time playback. Useful for pre-caching systems like tyFlow.

 Jump To Next Time Tag: If Time Tags are present in the timeline, navigates in time to the next available Time Tag.

 Jump To Previous Time Tag: If Time Tags are present in the timeline, navigates in time to the previous available Time Tag.

 Time Tag Filter Tool: Works in conjunction with above tools, where only Time Tag names matching the one specified in the Filter Tool is navigated to.

 Save Time Tags To File: Save Time Tags to a text file.

 Load Time Tags From File: Loads Time Tags from text file and applies it to the scene.

 Keys Copy: Copy selected keyframes in the Track View to memory/clipboard.

 Keys Paste: Paste keyframes to selected Tracks from memory/clipboard.

Keys Flip X: Mirror keyframes in time (Example Video).

Keys Flip Y: Mirror keyframes in value (Example Video).

Keys Normalize Values Tool: Normalize keyframe values within a specified range (Example Video).

Keys Offset Time Tool: Offset keyframe time (Example Video).

Keys Offset Values Tool: Offset and align keyframe values (Example Video).

Keys Scale Values Tool: Scale keyframe values (Example Video).

Linearity Tool: Select or delete keyframes that do not provide enough value change in relation to adjacent keyframes. Can be used to clean out "unnecessary" keyframes (Example Video).

Loop Duplicate: Quickly duplicate keyframes with automatic offset and alignment (Example Video).

Ramp Values Tool: Fade in or out keyframe values (Example Video).

Snap Values: Values are snapped to the interval of a specified value (Example Video).

 Fuse Keyframes: Keyframes are unified at the average time and value, similar to welding of mesh verticies.

 Select All Keys: Select all keyframes in selected tracks.

 Select Key Range: Select all keyframes between selected keyframes, or within specified time range.

 Invert Keyframe Selection: Invert current keyframe selection.

 Set In Time To Current Frame: Set scene animation start at the current frame (slider time).

 Set Out Time To Current Frame: Set scene animation end at the current frame (slider time).

 Set Time Range: A tool for quickly set start and end frames for the scene.

 Straighten Keys: Keyframes between first and last keyframes are straightened. Does not change tangent type like native tool, and provides a second mode where keyframes are straightened over selection gaps.

Tangent Tool: A tool for quick mass tweaking of keyframe tangents. Tangent heights can also be specified using relative numbers and controller units, allowing for more intuitive animation (Example Video).

 Align First Key To TimeSlider: Align the first keyframe in track or in selected keyframes to the time slider.

 Align Last Key To TimeSlider: Align the last keyframe in track or in selected keyframes to the time slider.

 Align Center Keys To TimeSlider: Align the center of track keyframes or selected keyframes to the time slider.

 Copy Time Range: Copy scene Time Range to clipboard.

 Paste Time Range: Paste and apply Time Range from clipboard.

 Open Track View Time Control: Open a dockable time control for the Track View. Provides a way to control time when Track View completely covers 3ds max main interface.

    - Transform

 Copy To Clipboard: Copy transform or individual components (position, rotation, scale) from objects to clipboard.

 Paste From Clipboard: Paste transform or individual components from clipboard to objects.

 Grid Size By Distance: Set Grid spacing by the distance of two picked points in the scene.

 Grid Size Subdivide: Reduce grid spacing in half.

 Grid Size Superdivide: Increase grid spacing by double.

 Reset Position: Reset the position of objects, ie. set object's position to [0,0,0].

 Reset Rotation: Reset the rotation of objects, ie. set object's rotation to (quat 0 0 0 0)

 Reset Scale: Reset the scale of objects, ie. set object's scale to [1,1,1] (100%).

 Lock Transform: Lock all or individual transform components (position, rotation, scale) in selected objects.

 Unlock Transform: Unlock all or individual transform components (position, rotation, scale) in selected objects.

 Copy View Transform: Copy the transform of the current perspective view to clipboard.

 Paste View Transform: Paste and apply the transform from clipboard to the current perspective view. A quick and easy way to match views without the need for cameras.

• How and when will DSLscripts be available?

DSLscripts will be provided as donationware. There is no current release date for an initial preview version, but since the tool set is comprehensive enough and the individual tools are stable enough a preview release should not be too far away. A Facebook page is being built to provide information about development, ect https://www.facebook.com/DSLscripts

Stay tuned!


Congratulations, you did a great job!


Here follows a number of small animations showing the core basics of many of the tools:

- Arrange

Pack Objects Linear:

Quick Distribute Linear:


Spread Positions Tool:

Quick Place:

- Camera

Create Camera Plane:

Camera FOV by Distance:

Make Camera Vertigo:

Pick Focus Distance:

- Duplicate

Duplicate Sources and Align At Target:

Duplicate Sources And Position At Target: 

Replace Sources With Target:

Replace Target With Source:

- Floater Tools

Floater Tool - Diffuse:

Floater Tool - Vertex:

Floater Tool - Wire:

- Linking

Chain Link Selection:

Parent To Last Selection:

- Material

Save /Load Material To/From File:

- Modifier

UVW Map Region Fit:

- Scene Data

Quick Rename Objects:

- Selection

Select Nth Object:

Select Targets:

- Time

Align First/Last/Center Keys To TimeSlider:

 Fuse Keyframes:

 Invert Keyframe Selection:

 Keys Copy/Paste:

Fill Insert Keys:

Keys Flip X/Y:

Linearity Tool:

Loop Duplicate:

Keys Normalize Values Tool:

Keys Offset Time Tool:

Keys Offset Values Tool:

Ramp Values Tool:

Keys Scale Values Tool:

 Select Key Range:

Snap Values:

Tangent Tool:

 Set Time Range:

 Straighten Keys:

- Time

Copy/Paste Transform To/From Clipboard:

 Grid Size By Distance:

 Grid Size Subdivide/Superdivide:

 Track View Time Control: