Scripts

PEN Helper

PEN Helper: PEN Helper is a customizable helper object. Any Mesh or Poly object can be used as the helper objects mesh and can be saved for later use.

Max 9 and above only. This scripted plugin uses dotNet objects and controls.

Note: There is a common problem with the speed of helper objects in the Max viewport. This affects all helper objects but will become more apparent with the ability to add more complex geometry to this helper. Even when helpers have their display options turned off Max is trying to recalculate that there is no geometry. Helpers should be kept hidden in the scene to keep viewport redraws at optimal speed.

Installation: Download and save the penHelpers.mzp file. Fire Fox users will have to right click and save on the link. Drag and drop the mzp package into the Max viewport or run it as a script. Once installed, PEN Helper will be found under Create/Helpers/PEN Helpers.

XML:
XML file fomat for storing custom display meshs: This is the format of the XML file. Each preset has a start and end Preset tag with a name property. Changing the name in the Preset tag will rename objects.
You can merge preset mesh tags from other XML files by cutting and pasting the entire to tag. The order doesn’t matter as the list is sorted alphabeticaly when it is read in and displayed.

Options Group:

  • Lock UI: Locks and hides the UI so changes can’t be made. This also stops changes from being made via script access. If you want to mass change helpers you must first unlock then then make the changes.
  • Display: Hides the display of the mesh. This completely stops it from being drawn so the helper can’t be selected and can’t be seen in the viewport. This is much like group objects or Nulls in Maya.

Display Group:

  • Custom mesh list: a list of all the saved custom mesh objects. There are 14 custom shapes that ship with the helper as well as the default box mesh.

Manage Group:

  • Normalize Mesh: When a new custom mesh is selected this will normalize the size of the mesh to be one unit square.
  • New Preset Name: Use a unique name to save a custom mesh. This is currently case sensitive.
  • Pick Button: Pick a custom mesh in the viewport. Needs a mesh or poly object to be valid.
  • Save Custom Mesh Button: Save the custom mesh for use later. All custom mesh objects are saved to an XML file saved in the plugins\penProductions folder where the script is stored. If a custom mesh has been choosen and the XML file is removed the mesh will remain persistent in the file from session to session.
  • Delete Selected Custom Mesh Button: Deletes the currently selected custom mesh object.
  • Extract Custom Mesh Button: Extracts the custom mesh and places it at 0,0,0 world space.
  • Edit XML Button: Opens the XML file in the Max script editor. Changing the values could render the mesh objects invalid so be careful what you change. This is an easy way to change the names of the presets however or merging custom shapes that others have created into on XML file.

Display Parameters Group:

  • Size: Changes the over all size of the helper.
  • Position XYZ: Change the offset position of the helper mesh from the pivot.
  • Rotate XYZ: Change the offset rotation of the helper mesh from the pivot.
  • Scale XYZ: Change the offset scale of the helper object from the pivot.

Script access:

  • $.displayGeo: Boolean value
  • $.lock: Boolean value
  • $.setPresetByName string: Sets the mesh to the named custom mesh. This is case sensitive currently.