Cross Sections 2.0 for Maya

Cross sections tool was the very first plugin for Maya I wrote in C++. After using this amazing tool daily for 5 months I realized it’s time to juice it up.

What’s new

From the outside it may look just like the old Section tool, in the end it’s supposed to to do the same thing, but starting from scratch helped me to bring in some new features (also cost me a lot of sleepless nights):

  • Cross sections 2.0 supports all types of geometry – Meshes, NURBS and subdivision surfaces. Smoothness/resolution of the sections depends on display options of the input geometry.
  • Geometry can be added to existing node and also removed from it any time.
  • Plugin can generate actual NURBS curves.
  • New analytic features – Curvature comb and distance measuring.
  • Improved performance
  • This handsome icon Cross Sections icon

Fixed bugs

The main reason I wrote the new version were these bugs:

  • Vieport 2.0 support – As much as I hate writing VP 2.0 overrides I had to fix this one because of my friend who’s been bothering me about VP 2.0 support since the very beginning.
  • Placement and orientation of the custom manip is now based on the world matrix of the Cross Sections node instead of  parent’s local matrix (seriously, what did I think?)
  • New node is by default placed in the center of a bounding box containing all the input geometry. The position used to be based on intersection of the view vector with the input geometry, which often didn’t work correctly (when it worked it was actually pretty awesome).

How to use

command (MEL): crossSections

Command creates a crossSections locator and automaticaly connects all selected geometry as input geometry. Node’s attributes can be set/queried using following flags.

Long name (shortName) Argument type Properties
-numberOfPlanes (-n) int createeditquery
Sets/query number of section planes.
-planeSpacing (-s) float createeditquery
Set/query spacing of section planes. Actual spacing also depends on scale of tool's transform.
-translate (-t) float float float createeditquery
Set/query translation of tool. Default is center of geometry's bounding box.
-rotate (-r) float float float createeditquery
Set/query rotation of tool. Default direction is vector X.
-addGeometry (-add) string editmultiuse
Add geometry to existing tool. Flag can be used multiple times in one command.
-remove (-rem) int editmultiuse
Remove inputs from from existing tool. Flag can be used multiple times in one command.
-inputs (in) int array query
Return list containing indices of all existing inputs.
-objects (-obj) string array query
Return list containing names of all connected objects.
-curves (-crv) int querymultiuse
Create nurbs curves for given input. Flag can be used multiple times in one command.
-lineWidth (-lw) float createeditquery
Set/query section line width (doesn't affect curvature comb thickness).
-curvatureComb (-cc) bool createeditquery
Set/query curvature comb display status.
-combSamples (-csp) int createeditquery
Set/query number of curvature comb samples.
-combScale (-csc) float createeditquery
Set/query curvature comb scale.
-combSmooth (-csm) bool createeditquery
Set/query curvature comb smoothing status.
-combSmoothRadius (-csr) int createeditquery
Set/query curvature comb smoothing radius. Higher values provide smoother but less accurate comb.




  1. GooDroN

    Good day!!!
    Cutoff effect is not rendered?!? (Arnold, Redshift…)

  2. Robert

    Any chance this could work in the 2015 version?

    Great looking tool!

  3. Matt r

    Great tool! …but I am missing where to apply the cross section for rendering? I only get a solid object when rendered

    • Stepan Jirka (Author)

      Hi Matt,

      I’m afraid you can’t render the cross sections because it’s a locator so it only shows in a viewport.



  4. Rodrigo

    Hi Stepan, thanks for your replay.

    But I couldn’t download it. Something is wrong. I can’t see the icons on the workspace.

    and I have diferents folders, I don’t know if that is one of the reason what doesn’t work:

    C:\Program Files\Autodesk\Maya2017\bin\plug-ins

    C:\Program Files\Autodesk\Maya2017\scripts

    C:\Program Files\Autodesk\Maya2017\icons

    • Stepan Jirka (Author)

      You’re not supposed to see any icons. Folders you mentioned should work fine. Did you manage to load the plugin in plugin manager? After that you just select geometry and run the crossSections command.

  5. Rodrigo


    I would like to install the crossSections plugin, I have Maya 2017 but I don’t how can do it.

    Could you help me?


    • Stepan Jirka (Author)

      Hi Rodrigo

      copy files into following folders:
      crossSections_2.1_2017.mll in C:\Users\username\Documents\maya\2017\plug-ins\
      AEcrossSectionsTemplate.mel in C:\Users\username\Documents\maya\2017\scripts\
      and content of icons folder in C:\Users\username\Documents\maya\2017\prefs\icons\

      Load the plug-in in Windows>Settings/Preferences>Plug-in manager and use the tool through crossSections command as described above.

  6. Matthias


    thank you!

    missing the visual clip function under maya 2017?

    did i miss something?

    • Stepan Jirka (Author)

      Hi Matthias,

      It turned out I attached the wrong AE template. Thanks for pointing this out. Please download the file again. Btw visual clip works only in legacy viewport on meshes with Maya Catmull-Clark smoothing method.

  7. I have this horrible feeling that ALL these very cool scripts are Windows only ?