What’s New in v2.1

Version 2.1 of Hard Mesh includes new features from the workflow side and some stability and performance
improvements on the core side. It is the first cross platform release supporting Windows, Mac and Linux!

The Hard Mesh objects generated with versions prior to the 2.1 can be opened, but will not react to the workflow window.
This is due to an improved node layout that adds new features, but is not compatible with the preview structure.
A conversion script for updating the networks is possible, but not currently planned.

Operator Bypass - one of the new features.
Turning on and off the operators opens up a layer style workflow.
Workflow :
  • Maya 2017 dockable window
  • New operators Stack: now displayed as a list with icons.
  • Reorder operators: move up and down the operators to change result and organize them.
  • Delete any operator in the chain. Feel free to experiment even more
    without worrying if you want to delete something in between the chain.
  • Bypass function: turn on and off the operations to try variations on your model. It’s like having layers.
  • Automatic computation of visible elements:
    when you change the visibility of the operators, all the non-relevant nodes
    are turned off, giving you faster iterations also on very long chains!
  • Reference copy: a powerful way for using same input meshes on multiple networks.
  • Smarter color highlighting: when selecting an operator from the stack, the involved elements are highlighted.
  • Global compute, but per network: if you turn off the computations, they are
    off only on the current network of objects.
  • Shader Selection: choose between hard mesh default shaders or select your own for the resulting meshes.
  • Isolate Elements: isolate the Hard Mesh elements when working on them.
  • Global or local display of inputs:
    When working with many operators it can be confusing to see all the involved input meshes.
    The new system lets you choose to display all the inputs, or only the ones involved in the current selected operation.
  • Maya Layers are no longer used. Internal layers on every connected object.
  • Activate UI from curves. Now by selecting a curve the UI is activated.
Core :
  • Improved stability
  • Improved blending geometry algorithm.
  • Improved splitting algorithm.
  • Improved mesh delete process that determines which part of mesh is good or not.
  • New memory management, based on memory pool system.
    It gives more efficient and faster management of all the computations.
  • Reduced and optimized error messages.
  • Added curve cleaning optimizations. Lower number of errors.
  • New node mechanism that does not block the output even in the case of errors, letting
    the user debug problems easier.
Documentation :
  • New visual layout.
  • Animated images for explaining the most important features.

Current Limitations

  • Layers can’t be used on input meshes:
    Please note that since starting from version 2.1 the Maya layer system is not used, and replaced
    with an internal layer system, the use of standard Maya layers will break the connections with
    the HardMesh internal layers. For avoiding errors, please do not use them directly on Hard Mesh objects.
    If you need to use them, simply put your object under a group and use the Maya layers on the new group.

  • Scale of scene matters:
    If you work with large scale objects the algorithms will not work. This is a known issue that will be removed in next releases.
    We suggest that you work in centimeters with objects no larger than 100 centimeters.

  • No dynamic intersections count:
    When you setup 2 meshes for an operation, you can change the shape as long as you don’t create new intersections.
    If you start with 2 intersections you can’t end with 3 intersections, the new one will be ignored.
    You can use the Update Intersection feature while waiting for a full dynamic intersection updating.


  • Small Nodes:
    The simple nodes for cutting from curves or for blending from edges will be released later.
    This will give you the ability to use some HardMesh core algorithms as standard modelling tools.

  • Mesh Library:
    A mesh library optimized for HardMesh purposes, but not limited to only HardMesh,
    is planned to be included in the next major release.

Installing Hard Mesh

The installation and licensing window.

HardMesh uses the Maya modules for finding all the needed elements to work. You can leave the files wherever you prefer in your system and use the auto-install file for creating the needed .mod file. The auto install edits/creates also the userSetup python file for auto-loading the plugin.

  • The hmTools.mod* is usually located in

  • The is usually located in:


Automatic Installation

How to install:
  • Unzip/unrar the HardMesh archive anywhere on your system.
  • Open the supported Maya version that you will use HardMesh with.
  • In Maya, open the file located in the folder where you have unpacked HardMesh.
    It’s important to open it, no drag and drop.
  • Maya will show you a new window with the folders that will be used in the installation process.
  • Click on Install Hard Mesh to let the installer create the files for you.
  • If you haven’t activated the license yet, jump to the licensing section

When you restart Maya, if the auto load option was on during the installation, a new HardMesh menu will appear in the menu bar.
If you kept the option off, load the plugin through the plugin manager.

What the installer does:

The installer basically asks Maya where the module folder used for searching plugins is and creates a file called hmTools.mod.
This file will contain the right path pointing to the location where you have HardMesh on your system.
Then, if the auto load is on, a new line in the file is added.
This file is located under your scripts preferences.

Manual Installation

If you prefer you can install Hard Mesh manually.
HardMesh uses the Maya modules for finding all the needed elements to work.
You can leave the files wherever you prefer and create the necessary files for letting Maya find it on your machine.

Then instead of activating the product with your internet connection, you can proceed to a remote activation by providing us your system mac address.

How to manual install:
  • Unzip/unrar the HardMesh archive anywhere on your system, copy the path.
  • Go to your Maya version preferences that is usually located in: C:\Users\\Documents\maya\\modules
  • Create a new text file called hmTools.mod
  • Make sure that .mod is the extension and not in the name of the file.
  • Open the file, and paste the following lines:

    On Windows:
    On Mac:
  • Paste the path of the root where you have unpacked the plugin instead of the REPLACE WITH YOUR PATH string. .
  • Save the file.

Now when starting Maya you should find the file hmTools.mll inside the plugin manager.
Remember that you need to activate Hard Mesh in order to load it.

Licensing Hard Mesh

Once you have installed HardMesh from the installation windows, you can activate your license during the same Maya session.

Activation steps:
  • Open your email containing the activation code ( ex:8000101020003008 )
  • Paste the activation code in the provided field of the installation window and click on activate.
Important note

An internet connection is required for obtaining the license.
Please check that your firewall or anti virus is not blocking Maya from reaching our server.
If your computer is not connected to the internet for security reasons go to Remote Activation

After your activation is done, you can load the plugin manually, if you didn’t check the the autoload field in the installation.
Otherwise, the HardMesh menu will appear in the menu bar of Maya.

Licensing on multiple Maya versions

Once you have activated the license on one Maya version, the easiest way to have Hard Mesh on every installed Maya is to just copy/paste the license file.

Copy the license file:
  • Go to the root folder of the current activated version
  • Copy the file hmTools.lic
  • Go to the root of another Hard Mesh version
  • Paste
The location where the license file should be pasted.

At this point when you load Hard Mesh into another Maya version the license is already present and working.

Remote Activation

If for some reason the computer where you will use Hard Mesh has no internet connection you can send us your mac
address for a remote activation process.

For avoiding errors, is better that you use our library for getting the mac address, otherwise it could not work.

Please keep in mind that after sending to us the mac address it might take 48 hours or more for receiving the license.

Getting the MAC address with pux library:
  • Open Maya
  • Open the installation file “”
  • Open the script editor and in a python tab paste:
    licModule.get_mac('the path of your plugin')
  • Make sure that the slashes are forward (this / and not this \)
  • Click on the execute button (the blue play icon)
  • Send the result to: and we will send back the license file.
Manually getting the mac address.
Saving the license in the right place:
  • After you have received the email, you need to paste the license file in the right place.
  • Paste it in the root Hard Mesh folder that you are using.
    You can use the same license for every Maya version as long as you use it on the same machine.
  • You are done. Open Maya, and load Hard Mesh. Happy modeling!
The location where the license file should be pasted.

Removing Hard Mesh

For cleanly removing Hard Mesh from your system:

  • Simply delete the file hmTools.mod located under your Maya preferences folders.
  • If you have created the remove the following lines by opening the file in a text editor:
    import maya.cmds as cmds
    cmds.loadPlugin( 'hmTools' )
  • You can delete the entire root folder of Hard Mesh before or after deleting the above file and lines.

In future versions, an automatic uninstallation will be added.

HardMesh Workflows

Depending on your needs, HardMesh can be used in many different ways in your production workflow. Let’s take a look at how we can use the power of HardMesh in different situations.

Concept modeling

You can use HardMesh for creating concepts for your 3d model, while keeping everything in history. In this way, you are always able to edit
and change the shape of your model for experimenting with all the freedom you need.

Key Options:

Geometry Bias is set to 0 and Split Refine is set to Chord Dist. Smooth Mesh is Low since we want to keep the interaction fast.
Super low-res geometries (like a cube without subdivisions) should be avoided though.

Suggested Options for concept are the default options.

Topology Modeling Tool

If you already know what you want to model, you can use the HardMesh tools for helping you with the creation of the right topology for your model.
By using a HardMesh operation as a starting point, you will save a lot of time by just fixing the edge flow where you need it.

Key Options:

Geometry Bias is set around 1 and Split Refine is set to Off and Chord Dist is around 1 as well.
By setting the Geometry Bias to 1, the vertices on the geometry are snapped on the Offset curve before cutting and no extra polygons are added from the split refine. By setting the Chord Dist with high values, no extra subdivisions will be added on the blending strip.

In this way we have the least possible geometry as a starting point for creating the edge flows that you need. Keeping the Sections Spans to 3 will also avoid having too many details on the blending, assuming that the whole model will be subdivided in the end.
We also left Off the Interpolate Blend, in this way you will have a more squared blend, ideal for modelling operations.

Suggested Options for using it as modeling tool.

Details Enhancer

In some cases creating some Hard-Surface details by topology can be a nightmare and extremely time consuming. In these cases you can use
HardMesh for adding that extra detail that will make the difference on your 3d model, without having to deal with super complex topology.
Use higher levels subdivisions and go ahead with your detailing!

Key Options:

Geometry Bias is set to 0 and Split Refine is set to Chord Dist. The Chord Dist parameter has low values for preserving the curvature of the splitting. Smooth Mesh is High since we want to use the output model as it is. In the example below we are also using the ramp feature that gives us the control over the profile of the Blend.

Suggested Options for using it as modelling tool and ramp.

The Workflow window

The workflow window is the core for creating, managing and editing the HardMesh operations.

Jump To:

Starting from 2.1, the interface adds the new operators stack, a better way to display, edit and organize your operations.

Every time you select an input mesh, a curve or a result mesh, the UI will automatically load all the data you need.

The operator stack will be populated with a chain of all the operations that are involved and the options for editing

the selected operator are displayed on the bottom part of the window.

the updated UI


The creation part of the workflow window is located on the very top part with a preset of common used operations.

Every icon corresponds to a different kind of operation. Remember that the operation can always be changed at any time.

By double clicking on one of the icons you will be able to open the setting to use for the next operation you want to create.

Union, Difference A-B, Difference B-A, Intersection, Panel A-B, Panel B-A
New Operation
  • How to:

    • Select 2 meshes.

    • Click on one of the creation icons.

    • Double click for opening the creation options.

  • Remember that:

    • Currently Hard Mesh supports 2 meshes for operation, if you have multiple meshes from one side we suggest to combine them.

      This limit will be removed in future releases where all the mesh in the selection after the second one will behave as “side B” meshes.

Creating a new operation takes just 3 clicks.
Cascade / Chain Operation

The process of creating a new operation, on the result of another operation is the basic concept that makes working with Hard Mesh powerful while keeping it intuitive.

  • How to:

    • Select the result mesh of an Hard Mesh operation and another mesh that is not involved in an Hard Mesh operation.

    • Create a new operation with these 2 inputs.

    • You have created the first step for a chain of operations.

  • Remember that:

    • Branching of operators is not allowed. This means that you can’t create an operation if:

      • One of the two meshes is already an input mesh of another operation.

      • Both meshes are the result of another operation.

This limit is introduced for keeping the generation of cascade operations linear and easy to edit.

Use **Utility >> Reference Copy** for creating the effect of branched operation, while keeping the chain linear.
Creating a chain of operations.

Operator Stack

The operator stack in the evolution of the preview operator selector. It gives a better control over the currently involved operations, featuring the new bypass feature and operator reordering.

The very top part affects all the operators in the chain.

In the center part each operator is displayed from the first of the chain, on the bottom part, to the last of the chain, on the top part.

The last part of the operator stack is for managing the visibility of the network and scene.

Global Compute

The “Global Compute” turns on and off the computations for all the Hard Mesh nodes in the current operator / chain of operators.

This allows you to make modelling edits, and see the result in a later time by turning the computations on again.

  • How to:

    • Turn off the Global Compute.

    • Make your modeling edits.

    • Turn it on again when done.

  • Remember that:

    • The intersection count is not dynamic, if while modeling you add or increase the number of intersection points

      You will have to run the update intersections command located under the edit menu.

Turning off the computations is a great way for modeling an input mesh when you don’t need the result to be updated.
Operators Resolution

Change the smooth level of all the involved input meshes of the chain.

  • How to:

    • Select an object involved in an Hard Mesh operation, the UI will load the data.

    • Click on increase for adding 1 to the level of subdivision of the input meshes.

    • Click on decrease to remove 1 to the level of subdivision of all the input meshes.

  • Remember that:

    • The splitting and offset computations tend to be more stable with mid to high resolution geometries.

      Lowering too much the resolution can give incorrect results.

The effect of the resolution change. Notice that instead of applying the smooth after, like in a regular workflow, we apply it before the end result.
Operators Visibility

Lets you move between the different output mesh visibility in a chain of operations.

  • How to:

    • Click on the first icon to move the visibility of the current operator.
  • Remember that:

    • You can’t display more than one result since the result mesh visibility is exclusive.
Moving from the bottom to the top of visibility gives an idea of all the steps used in the modeling of the object.
Operators Delete

Remove a selected operator from the chain.

  • How to:

    • Select the operator that you want to remove, you can do that from the scene or from the stack.

    • Right click on the stack and press delete, alternatively you can go on the top menu and click edit >> delete.

    • The input mesh will be disconnected an reset to a normal mesh, you can delete it or use it for other purposes.

  • Remember that:

    • You can delete an operator located anywhere in the chain, except the first one.

    • You can’t delete more than one operator at once.

Deleting an operator that we don’t like is easy.
Operators Reordering

Change the position of an operator in the chain of operations.

  • How to:

    • Click with the middle mouse button the operator you want to move.

    • Hold the click and release where you want to insert the operator.

  • Remember that:

    • You can’t move the first operation
A simple example of operation reorder, notice how much it can affect the final result
Operators Bypass

Turns on and off the effect of an operator.

  • How to:

    • Click on the middle icon to turn off the operator, the icon will change.

    • Click again to turn it on.

  • Remember that:

    • Turning on simultaneously 2 or more operators that act on the same part of the mesh

      might gives errors and instability.

    • You can’t turn off the first operator in the chain.

Turning on and off the operators opens up a layer style workflow.
Operator Isolate

Isolate the selected operator elements in the current Maya model panel.

  • How to:

    • Click on one operator that you want to work on.

    • Right click and select “isolate current elements”.

    • All the other operators will become grayed out and locked.

      Make your changes to the input meshes.

    • Once satisfied, click again on the “isolate current elements”.

  • Remember that:

    • Don’t change the standard Maya isolate view mode when you have the Hard Mesh one active.

      If you do it, you will just have to do it also from the Hard Mesh workflow window to unlock the update of the window.

Isolating the current elements is a great way for focusing just on the current operator inputs and result.
Input Visibility - All / Current

Display all the input meshes or only the ones related to the current operator.

  • How to:

    • Activate the UI by selecting an Hard Mesh object.

    • Make sure that one input type is visible by checking that “Input” or “Curves” is active.

    • Choose if you want to display all the involved inputs by clicking on “All” or if you want to display

      just the inputs of the current operator by clicking on “Current”

Display All the input or the Current inputs.
Input Mesh - Wireframe / Shaded

The icon on the left side of the “Input” lets you turn on and off the wireframe for the input meshes.

You might need to turn the wireframe override off while modeling the input meshes with the “Global Compute” off, for avoiding the update of the results while focusing on the shape editing.

  • How to:

    • With the input icon checked, click on the cube icon.

    • It will act as a toggle for the wireframe mode.

Activating the shading of the current Input meshes.
Visibility - Input / Curves / Result

Every Hard Mesh operator is composed from the input meshes, the intersection and offset curves and the resulting mesh.

The checkboxes located in the visibility sections are the best way for switching the visibility on and off.

  • How to:

    • Click on the checkbox to turn on and off the visibility of the specified type, for the current chain of Hard Mesh objects.
  • Remember that:

    • By default the result mesh is only selectable when the input meshes are hidden.

      You can unlock the result mesh any time by acting on the lock icon, or by turning off this behavior

by going under Options > Auto lock / unlock result.

Turning on and the visibility of the Hard Mesh elements.
Wire / Hilight buttons

While working with Hard Mesh, you might want to turn off the selection hilighting for concentrating on the shape, without the visual noise of the wireframe.

On the other hand, you might want to see the wireframe on all the objects, for concentrating more on the way the polygons are edited from the operations.

These two buttons give fast access to both features.

The viewport utility buttons.

Edit Parameters

The edit section allows you to change the parameters of the current operation.


In any moment you can edit the operation type of an Hard Mesh operator.

  • How to:

    • With an Hard Mesh operator selected, click on the drop down menu operation

    • Select the new operation.

  • Remember that:

    • The panel operations gives the panel effect when used with the ramp.
Select the operation that best serve your modeling needs.

The smooth process, while working with Hard Mesh, has to be considered an intermediate phase; not the final one like in the traditional polygonal modeling.

Ideally we want to keep the input meshes with as low polygons as possible, to keep them easily editable, and set a smooth value good enough for our final mesh.

Since everything remains editable until you use the clean object / scene command, you can work with a lower smooth, for speed, and increase it just before cleaning or while proceeding with the modeling.

  • How to:

    • With a Hard Mesh operator selected, click on one of the two Smooth boxes.

    • Set the new Smooth value.

    • Click on the apply button.

  • Remember that:

    • The smooth parameter acts only on the current operator, not on all the operators in chain like the “Increase” and “decrease” buttons, located on the top part of the Operator Stack.

    • For better results, when possible, keep the mesh density similar on both sides.

Swapping the resolution between 0, the original poly count, to 2 a smoothed level.

The offset parameter determines how big the blending is starting from the intersections.

  • How to:

    • Move the Offset slider or input numbers in the field.
  • Remember that:

    • Very big offset values might give bad results.

      If you see that you need a very big radius for the shape that you have in mind,

      it might be a good task for traditional topology modeling.

    • If the generated Offset curves intersect each other, the computation will fail.

      Creating a different operation in this case might be a good solution.

Changing the offset value.
Offset / Split

The Split button of the offset gives you an independent control over the two sides of the offset.

  • How to:

    • Click on the “Split Sides” button

    • Change the offset independently on each side.

    • Click on Merge sides to merge the parameters again.

The Offset changing on each side.
Geometry Bias

The Geometry bias determines how much the geometry points are snapped on the offset curve before cutting.

You might want to use it when using Hard Mesh for getting basic topology to edit.

  • How to:

    • Set to 0 for cutting the geometry without moving points.

    • Set to 1 to snap first the points on the curves, and then cut.

  • Remember that:

    • When you use the “Geo Bias” to 1, turn off the split refine if you want to add the least amount of geometry.
Notice how the vertex near the cut is moved when increasing the parameter.
Section Spans

The Section Spans let you change the resolution of the blending strip.

  • How to:

    • Move the Section Spans slider or input numbers in the field.
  • Remember that:

    • For better visual results, choose a number that gives a uniform mesh density with the surrounding meshes.
Section Spans change.
Chord Dist

The Chord Distance parameter defines the tolerance that is used for generating the section profiles of the blending strip.

The lower the value, the higher the resolution.

  • How to:

    • Move the slider or manually input the number.
  • Remember that:

    • When increasing the resolution, while lowering the number, use the precision of the number insertion.
Changing the Chord Dist between 1 and 0.001.
Split Refine

The Split Refine sets the policy to use when splitting the mesh from the offset curves.

  1. Off:

    • The split will be made only where the curves intersect the edges of the geometry.
  2. Chord Dist:

    • After splitting on the intersection curve-edge, the split will be refined within the value provided from the Chord Dist parameter.

    Smaller values will add more resolution points in the split, bigger values will use less points.

  3. Strict:

    • The real offsetted points will be used for cutting the geometry. This is the simplest split, but gives bad visual results.
  • How to:

    • Select the preferred method in the drop down menu.
  • Remember that:

    • Even though the chord dist and the strict might look similar they are very different.

      The Strict does not offer you the control over the refining, the chord dist let you chose the resolution through the Chord Dist parameter.

Changing the Split Refine.
Interpolate Blend

Turns on and off the interpolation of the profile curve.

  • How to:

    • Click on the checkbox for turning the option on and off
  • Remember that:

    • With an even number of Sections Spans you can have a “sharp” corner instead of a rounded one since there is an edge loop in the center.
Notice how the blending assumes a sharp profile when the interpolation is not computed.
Weight A / B

The Weight parameter determines how much the tangent of the mesh affects the blending strip.

  • How to:

    • Set the value to 0 for using minimum tangent influence of the mesh, and to 1 to use it at its maximum influence.
The Weight parameters let you change the profile of the blending based on tangency.

The Ramp parameters move the points of the blending strip “up and down” for creating different looking blendings.

Ramp Offset: move all the points inward or outward

Ramp Scale: multiply the values of each point for this value

  • How to:

    • Activate the “Use Ramp” parameter.

    • Move the points for changing the profile.

  • Remember that:

    • When the ramp mode is active, the Section Spans is applied for every section between 2 points.

    • The interpolation changes the shape of the curve, which affects the number of spans.

Activating one of the ramp presets will distort the blending strip.



1) Do I need Hard Mesh to open a model created with it?

Hard Mesh relies on custom nodes to let you create models with its own workflow.
For being able to edit the model with the interactive workflow, you need Hard Mesh on every computer that you want to use for editing the file.
However, when you finish your model, you can delete all the plugin nodes from the scene with just one click, with the command Clean Scene under the Utility menu of the Hard Mesh window and just deliver the final model.

2) Why is the resulting mesh not all quadrangular?

Hard Mesh has been created to speed up all the tedious tasks related with the hard surface modeling. Since majority of the time hard surface models don’t need to be deformed, having a 100% quad mesh isn’t necessary.
Other than that, generally speaking, an “all quad” mesh without good edge flows, is not useful.
If for pipeline reasons you need a mesh generated only from quadrangular faces, we suggest to use Hard Mesh as a starting point for your topology and finalize your final model by hand.

3) Can I 3d print models generated with Hard Mesh?

As long as you follow the rules of your printer, the models generated from the plugin are totally compatible with a 3d printing workflow.

Common Errors

1)When I move the input meshes too much the result seems to be broken.

The current version does not support dynamic intersections. Majority of the time when you change the inputs too much, you create new intersection points that are not counted and can break the setup.
When this happens:

  • Open the Hard Mesh window
  • Select the operator that is giving a broken result
  • Right click on it on the Operator Stack.
  • Select the update.

This will force the recreation of the intersection curves, adding or removing them depending on the new intersections found.

2) If I increase the radius the blending part looks odd.

The radius value controls how far the offset curves are moved.
Since the main purpose of the tool is to create blendings between meshes, if you are creating too large offsets you are giving hard times to the algorithms that are not created to blend two totally different parts.
If you think that Hard Mesh should be able to solve your case, please send us the scene so we can analyze it and improve the algorithm:


1) After the installation the plugin is not available on the plug-ins list.

If after installing HardMesh you can’t find the plugin in your plugin manager, there could be different reasons.

Remember that HardMesh is not on the common plugins list located in the Maya installation directory.
Check on the other tabs that point to other directories for finding it.

  • The current Maya version is not the right one:
    You might have installed Hard Mesh on a different Maya version than the one that you are using.
  • Maya can’t read/find the module file:

    If for some reason your module file hasn’t been written, you can check manually in your modules folder located under:


    If this folder is empty, you need to create a file called hmTools.mod, and inside write this content:


    In the path part, paste the root location of HardMesh on your system. Save the file and open Maya.

2) The plugin is on the plugin manager but it is not loading.

If you are trying to load Hard Mesh but you only have errors there might be 2 main reasons:

  • You still need to activate the license. Hard Mesh will not load without a valid license file
  • You have installed a version not matching with your Maya version.
  • There are some missing libraries.


1) When I try to activate the license I get an error:

If when activating the software you get this error, the problem is caused from a missing Redistributable C++ library.

    :Error: WindowsError: file C:\Program Files\Autodesk\Maya2016\bin\\ctypes\ line 365: 126 #
2) When I load the plugin I get a License not present error.

If you get the following error your license file hasn’t been created.

// Hard Mesh: License not present //
// Hard Mesh: Invalid License or Trial licence is expired //
// Hard Mesh: Contact: for information
  • Check that you have a file called “hmTools.lic” under the root of your plugin after activating the license as explained in the licensing instructions.