MeshTool Kit 1.2
Tool Additions
Primitives
This collection of nodes provides users with the ability to create mesh planes, cuboids, spheres, and cones while controlling the number of subdivisions. If the number of subdivisions is not explicitly specified the mesh will attempt to divide precisely into a whole number of layers in each direction. Otherwise, an additional layer will be added to even out the layers as required.
Extrude PolyCurve
The extrude polycurve node extrudes the provided polycurve a specific distance in the specified vector direction. If the initial polycurve is planar the resulting mesh has the option of being capped to form a solid mesh.
Boolean Operations
There are three boolean operations available in this new update. Each operation takes a target mesh and a tool mesh. The first is boolean union which unites the two supplied meshes removing any overlap between the entities. The second is boolean difference which removes any overlapping of the tool mesh over the target mesh. The final operation is boolean intersection which returns only the overlapping portions of the two meshes.
We have received a few questions in regard to performing boolean operations using a list of tool meshes as the node currently only takes a single target mesh and single tool mesh. While this is definitely on the road map for implementation the image above shows a quick work around to do just this. Using just a couple lines of Python we can loop the operation making it easy to boolean multiple objects.
Explode
The mesh explode node takes a single mesh and returns a list of each mesh face as independent meshes. The example above exhibits a simple mesh sphere that was exploded followed by an offset of each face in the direction of the face normal. This is achieved using the mesh triangle normals node also included in this latest update.
Mesh Coloring
The by mesh color node is located in the Display tab under MeshDisplay and has some intelligence built in. MeshToolkit uses full vertex shading which presents a great opportunity to experiment with some high quality graphics. One example shown below uses a technique known as smooth shading where we can use the new vertex normals node to determine the color distribution. The node is capable of a series of color combinations listed below:
# of colors = 1 –> [entire mesh single color]
# of colors = # of triangles –> [each triangle is colored the specified color]
# of colors = # of unique vertices –> [each triangle will interpolate between the color values at each vertex]
# of colors = # of non-unique vertices —> [each triangle will also interpolate between the color values across a face but may not blend between faces]
Vertex Indices by Triangle
This one is a little confusing at first but can do some powerful things so I decided to include it. In fact a series of existing nodes use this function on the backend! Let’s walk through the example shown above to better understand how this node works. We are trying to get the vertices from every triangle that makes up the given sphere, however when we use the mesh vertices node we only get the list of unique vertices which can be hard to match to the correct corresponding triangles. We can then get the index value of every vertex for every triangle using the vertex indices by triangle node. Finally, by using the get item at index node we can match the correct unique vertex with the corresponding index for each triangle vertex. We can verify we did the operation correctly by multiplying the number of triangles by 3 [3 vertices per triangle] and making sure the result matches the number of vertex values.
Triangle Normals & Vertex Normals
As mentioned in a few of the examples above these nodes return the normal direction of the mesh triangle faces and vertices respectively.
Structural Analysis
We have noticed a few instances of strange behavior with the structural analysis node and are currently in the process of looking into it. This node has the ability to examine a mesh for inherent structural weaknesses. It can be used to provide an indication as to which parts of the model are most likely to break if fabricated as a physical object. The analysis assumes that the physical object is to be made of solid material and works great for 3D prints.