Simple Sculptor for Rhino Sculpting Tools

testing. setting Ignor Backface

Great!!! :saluting_face: :flexed_biceps:
Over the next few days I’ll point out two more additions you should make. As soon as I record the video in ZBrush, I’ll show you these two features that are really useful in the workflow and that I use both in Blender and ZBrush, just like many other users who rely on sculpting tools.

@taraskydon This is the first thing I wanted to understand: whether it’s possible to achieve this kind of result. With the addition of a backface mask and by controlling a depth value, for example like in this case where I’m using a mask combined with brush depth, is it possible to obtain this kind of precise edge selection on the mesh?
In this example the cube is also slightly beveled, but as you can see the masking happens only on a single plane. This would be extremely useful in a wide range of situations.
The second thing I’ll ask you about later — I just need to find a suitable file to explain it properly, and then I’ll show you its usefulness.

This would be like a crease angle value to filter the selection?

Meshmixer has that and it is very useful for separating surfaces. If this were available in Simple Sculptor it would make a faster process to generate separate surfaces from the mesh that could be trimmed together. It is a pain to separate the surfaces in Meshmixer and then export & import.

@taraskydon This is another extremely useful feature! I’m not sure how to explain it perfectly, so besides my video I’ll show you how the command called Group by Normals works, which is found in the Polygroup tools of ZBrush.

With the slider next to it, which affects the mesh based on the angle, you can divide a single mesh into multiple parts. Imagine taking one solid block and splitting it into many smaller blocks in the areas where the geometry has angles, for example 45°. This way you separate clean, sharp regions (in Rhinoceros 3D it would be somewhat similar to exploding a polysurface).

So what’s the benefit? Endless use cases, honestly… but I’ll try to explain. Once I have these Polygroups, I can select and isolate them, activate masking while everything else is hidden, and then bring everything back. The result is that I’ve precisely selected a specific area because it has become its own Polygroup. With the rest masked out, any brush stroke or texture I apply will only affect that specific area.

On top of that, I can subdivide a single group and, while the rest is hidden, in ZBrush I can use the Split Hidden command to separate that group from the rest, creating two different subtools (layer rhino).

There are honestly countless use cases for this feature, but besides my video I’ll also include a few explanatory videos from Blender and ZBrush on YouTube.

blender facesets


Add this somehow and I’ll be your customer for life :joy:

rhino command ExtractMeshPart ?

I’ll show you one of my works in ZBrush—in a situation like this, Rhinoceros wouldn’t really know how to handle it with that command.

Maybe I didn’t mention this before: when I use the Mask tool on a specific area, I can press Shift + Q to convert that masked region into a polygroup. This means I can decide manually what belongs to a group and what doesn’t.

Watch the entire video of the cat made in Blender—actually, take a look at this video instead.

Also, dividing the parts into polygroups helps with the topology flow when I need to perform a QuadRemesh in software like Blender or ZBrush.

@taraskydon Here’s a real use case.
For example, this wedge was modeled in Rhino; I then exported the mesh to ZBrush to perform additional work, since Rhino doesn’t provide advanced sculpting tools.
Inside ZBrush, as shown, I convert the mesh into “polygroups.”
For someone who has never used this system, it might look like the colored areas are separating the mesh into disconnected parts — but that’s not the case.
A polygroup does not split the geometry: the mesh remains a single object.
Its purpose is to let you quickly select specific areas without affecting the rest.
Only when I select a polygroup, hide the rest of the mesh, and then use a split command, that portion is actually separated.

@taraskydon hi,
I uploaded this video because I’m honestly surprised that Rhinoceros 3D can even open this file—some years ago it would have just frozen during loading. The fact that I can already rotate it is a big step. :rofl:

That said, this file is at the limit: even after heavy decimation, it’s still around 7 million faces. For Rhino, that’s an extreme case, so slowdowns are expected. In ZBrush the same scene is completely smooth, but that’s its domain.

The good part is that the plug-in still works. The lag is clearly caused by Rhino, not by your tool.

Quick feedback:

  • Mirror: very well done. Full control over placement, works great.
  • Fix for the default black layer issue: solid.
  • Display options: fast, clear, and easy to use. No issues here.
  • Masking (front/back): very useful. Being able to work on the front without affecting the back is exactly what’s needed. Great implementation.

Over the next few days, I’ll test on simpler, more industrial geometry. This sculpt is intentionally extreme and pushes Rhino in an unrealistic way.

I’ll update with more practical use cases. :heart_hands:

Obviously, the known issue with the toolbar in Rhinoceros 9—where icons get overwritten—still persists. Hopefully, they’ll fix it as soon as possible.

Almost 8 million vertices. What’s going on with you??? :sweat_smile: I don’t think I’ll ever be able to match how fast it works in Zbrash. It uses its own optimized method for rendering the mesh. with hardware acceleration. Unfortunately, I have to make do with what Rhino offers. I could use my own OpenGL method, but it isn’t native to macOS (But even so, the limit will still be around 3–4 million.) At this point, I wouldn’t spend more than 1–1.5 million on Rhino Sculpting

from my experience using it and looking into how it works, ZBrush can handle millions of polygons not because of a single reason, but due to a combination of factors.
The visibility aspect is real: non-visible parts (backface, outside the camera, etc.) are not rendered. However, this is not the key point, since all modern 3D software already does this.
What really makes the difference, from what I understand, is that ZBrush never treats the mesh as a single block. It works with subdivision levels and local areas. When I sculpt, it doesn’t update the entire mesh, only the area under the brush, while the rest stays cached. This makes a huge difference in performance.
Another key point is that it has no “CAD-like” constraints. It doesn’t need to maintain NURBS, tolerances, perfect joins, or parametric relationships. It’s much more flexible, so it can apply far more aggressive optimizations on geometry.
So yes, not rendering invisible parts helps, but it’s not the main reason. The real difference comes from its proprietary engine, local updates, and the fact that it’s not bound to a rigid mathematical structure like CAD software.
For reference, in ZBrush I’ve worked with files reaching around 60–80 million polygons without major performance issues.

It’s explained better in the document.
zbrush doc.pdf (1.8 MB)

Look here — unless I actually want the back faces, they’re not visible. It’s a trick.

As for me, I’ve already done everything I could. I used my own Octree structure and local mesh transformations based on the changed indices. Right now, the main problem is that to visualize the modified mesh in Rhino, I have to break it down into vertices, make changes, and then reassemble it to export it to Coundit as a mesh. Currently, Rhino does not allow you to manage the display buffer for local rendering of (vertex, normals and vertexcolors). I’ve already informed the developers @stevebaer about this. But it won’t happen anytime soon.

another thing you could add, if possible, is the ability to have a dedicated brush color



In ZBrush it’s a bit more particular, because I can paint with colors, but I can also paint by turning that brush into a specific material. So for example, I can make one object look like plastic and another part look like gold.

I can create this as a separate plugin for painting with color. I don’t think you can use different rendering modes at the same time in Rhino Coundit. However, in theory, i can create a Face extract method and assign a render material to it for rendering in Rhino. :smiling_face_with_sunglasses:

This is a practical case for using the coloring feature. When sculpting, it’s actually very useful. In reality, the same principle is also used when sculpting a block of marble: artists use a pencil to sketch the anatomy first before working with the chisel.

Annotating directly on the surface of a design object could be useful in the same way, maybe to highlight errors or things like that.

Hi @taraskydon , question: I was looking at this instant switch command between ZBrush and Rhino. Which versions of ZBrush does the switch work with? I’m still using ZBrush 2022.0.7, before Maxon bought Pixologic and started the annual subscription policy. I stayed on the 2022 version like many others because mine is a perpetual license. What I’m wondering is whether this command is compatible with that version of ZBrush and if it works with Rhino 8–9.

It rarely happens that I work with gemstones for stone settings and similar things. Usually I do this work manually, because I need to orient the stones for an industrial mold, so when dealing with undercuts the whole process becomes more complicated. But in cases like this belt buckle, your other plug-in could actually be useful to me.




I don’t know if the plug-in already has a command like this, but it would be useful to have the possibility to orient some embedded stones toward a direction that is not perpendicular to the surface. For example, being able to select a group of stones and direct them wherever I want, using something like a guide line or curve as a reference direction.

Simple Sculptor Tools for Rhinoceros Windows and Mac V4.0.2

Update V4.0.2
Significant optimization and improved performance. for large Mesh.
Reduced tools delay. A 150% increase in tools performance, a 90% increase in Remes tool performance.

Added the ability to ignore the back side.
Added the ability to change the trigger frequency of the tool.
Added the ability In the Options, the ability to button click on links support.
Added the ability to adjust the mirror’s position has been added: Viewpot, Volume Centroid, Select Point, Select Line.