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.
|Turning on and off the operators opens up a layer style 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.
- 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.
- New visual layout.
- Animated images for explaining the most important features.
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.
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.
A mesh library optimized for HardMesh purposes, but not limited to only HardMesh,
is planned to be included in the next major release.
|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 userSetup.py is usually located in:
- 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 hardMesh_auto_install.ma. 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.
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 userSetup.py file is added.
This file is located under your scripts preferences.
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.
- 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\
- 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:
+ PLATFORM:win64 hmTools any REPLACE WITH YOUR PATH PATH+:=bin
+ PLATFORM:mac hmTools any REPLACE WITH YOUR PATH PATH+:=bin
+ PLATFORM:linux hmTools any REPLACE WITH YOUR PATH PATH+:=bin
- 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.
Once you have installed HardMesh from the installation windows, you can activate your license during the same Maya session.
- 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.
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.
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.
- Go to the root folder of the current activated version
- Copy the file hmTools.lic
- Go to the root of another Hard Mesh version
|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.
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.
- Open Maya
- Open the installation file “hardMesh_auto_Install.ma”
- 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: firstname.lastname@example.org and we will send back the license file.
|Manually getting the mac address.|
- 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.|
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 userSetup.py 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.
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.
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.
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.|
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.
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.|
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!
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 is the core for creating, managing and editing the HardMesh operations.
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|
Select 2 meshes.
Click on one of the creation icons.
Double click for opening the creation options.
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.|
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.
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.
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.|
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.
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.
Turn off the Global Compute.
Make your modeling edits.
Turn it on again when done.
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.|
Change the smooth level of all the involved input meshes of the chain.
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.
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.|
Lets you move between the different output mesh visibility in a chain of operations.
- Click on the first icon to move the visibility of the current operator.
- 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.|
Remove a selected operator from the chain.
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.
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.|
Change the position of an operator in the chain of operations.
Click with the middle mouse button the operator you want to move.
Hold the click and release where you want to insert the operator.
- You can’t move the first operation
|A simple example of operation reorder, notice how much it can affect the final result|
Turns on and off the effect of an operator.
Click on the middle icon to turn off the operator, the icon will change.
Click again to turn it on.
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.|
Isolate the selected operator elements in the current Maya model panel.
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”.
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.|
Display all the input meshes or only the ones related to the current operator.
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.|
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.
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.|
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.
- Click on the checkbox to turn on and off the visibility of the specified type, for the current chain of Hard Mesh objects.
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.|
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.|
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.
With an Hard Mesh operator selected, click on the drop down menu operation
Select the new operation.
- 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.
With a Hard Mesh operator selected, click on one of the two Smooth boxes.
Set the new Smooth value.
Click on the apply button.
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.
- Move the Offset slider or input numbers in the field.
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.|
The Split button of the offset gives you an independent control over the two sides of the offset.
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.|
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.
Set to 0 for cutting the geometry without moving points.
Set to 1 to snap first the points on the curves, and then cut.
- 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.|
The Section Spans let you change the resolution of the blending strip.
- Move the Section Spans slider or input numbers in the field.
- For better visual results, choose a number that gives a uniform mesh density with the surrounding meshes.
|Section Spans change.|
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.
- Move the slider or manually input the number.
- When increasing the resolution, while lowering the number, use the precision of the number insertion.
|Changing the Chord Dist between 1 and 0.001.|
The Split Refine sets the policy to use when splitting the mesh from the offset curves.
- The split will be made only where the curves intersect the edges of the geometry.
- 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.
- The real offsetted points will be used for cutting the geometry. This is the simplest split, but gives bad visual results.
- Select the preferred method in the drop down menu.
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.|
Turns on and off the interpolation of the profile curve.
- Click on the checkbox for turning the option on and off
- 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.|
The Weight parameter determines how much the tangent of the mesh affects the blending strip.
- 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
Activate the “Use Ramp” parameter.
Move the points for changing the profile.
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.|
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.
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.
As long as you follow the rules of your printer, the models generated from the plugin are totally compatible with a 3d printing workflow.
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.
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: email@example.com
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.
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:
+ PLATFORM:win64 hmTools any REPLACE WITH YOUR PATH PATH+:=bin
In the path part, paste the root location of HardMesh on your system. Save the file and open Maya.
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.
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\python27.zip\ctypes\__init__.py line 365: 126 #
- Download the Redistributable C++ library in your language directly from microsoft website here.
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: firstname.lastname@example.org 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.