Categories
code of the day cotd

Code of the Day: Crack Me

Crack Me 1.7.5 script by Chase Cooper: http://www.creativecrash.com/maya/downloads/scripts-plugins/character/c/crack-me

Crack Me is a tool is for cutting polygon objects with a plane, by performing a boolean operation with the plane and giving options for the number of divisions. This tool is a quick way of cutting objects in half. The plane has to go all the way through the object, to perform the action and does not have the ability to create a crack in just part of the polygon mesh.

Language: MEL
Type: Maya Editor Script
Script Files: 1
Number of lines: 183

Functionality: 7
The tool does not have a lot of options, but the end result is nice. Unlike the boolean intersection operation, the area that has been cut is filled with geometry, making it a quicker tool to use then manually cutting and applying the geometry. It would be nice if the tool allowed for small cuts in the geometry with the same functionality, but instead causes one part of the geometry to disappear if the plane is not all the way through the object.

Design: 8
The code is tiny yet powerful, the code does a pretty good job of checking for errors, and the code is nicely separated into appropriate functions. The code almost has a complete separation of UI and procedure code, which is nice, but it would be better to see a complete separation. Overall the functions are pretty good at performing a single task, but this could have a lot to do with the size of the code base as well.

Style: 7.5
The code style is pretty consistent and is organized in a logical manner. There are a few places where the commenting is inconsistent between functions, but oddly enough seems consistent within the function itself. The use of whitespace is pretty good, although it too could be a bit more consistent between the functions.

Documentation: 8.5
The in code documentation is pretty good, and since the code base is small it benefits even more from the comments provided. The creative crash site provides more documentation as well, but the links within the code (to the authors personal site) do not have a lot more information about this tool.

Reusability: 9
The code base is the smaller than the size of some of the functions in some of the other code bases I have reviewed. While there are some elements that might require splitting for bug fixes, the code base is logical, compact and powerful.

Overall: 8
The functionality is simple and straight to the point. The feature it gives is a nice result, and likely useful in a number of cases while modelling (especially if the object needs to be cut in two). Overall it would have been nice to see a bit more functionality (to create partial cracks would be pretty cool), and it would also be helpful if the geometry did not disappear when making a mistake, but otherwise provides a nice result for what it does.

Until next time,
Michael Hubbard
https://michaelhubbard.ca

Leave a Reply

Your email address will not be published. Required fields are marked *