Boolean script question
Hello. I need help with boolean script. I want to write a tool that makes a chamfer to those edges that appears when two boolean objects intersects. Something like "Modo Meshfusion" functionality, but simplier. So, there are two main question.
Question number one - how to catch those edges? The problem is that bollean operation automatically selects not all of those edges, but all of those vertices. How to convert the selection of vertices to the selection of edges that lies between vertices?
Question number two - how to avoid mesh overlapping when I do the chamfer? Maybe there is a way to weld a vertices if the distance between them is too short? And if I want to make a chamfer smaller, how to return a welded vertices? Is there a way to make a script more dynamic, so the chamfer will stay even if I move one of the source objects and the number of edges/vertices will change?
Attachment | Size |
---|---|
ttt.jpg | 150.57 KB |
Comments
I understand the problem,
but 3ds max does not make very clear chamfers, when the edges are not perpendicular to the chamfer line. Also you may need to reed the boolean's requirements in 3ds max reference. There are some restrictions. Also examine the proBoolean and proCuter objects, they are more powerful.
.
thanks
Ready
Script
I've tried this, but the chamfer is still messy, especially when I try to make chamfer bigger..
Continued from my previous post...
You need to work with editable poly, so the script converts to.
I wrote this without testing it.
You can weld vertices, but what do you mean with mesh overlapping?
Mesh Overlapping
Did you saw Modo "Meshfusion" in action? You can see it on Youtube. The tool is producing clean dynamic booleans with the ability to change chamfer radius on the fly. The mesh is welding to the borders of chamfer, so there in no mess. In 3d Max, even if I catch the border of boolean and try to do big chamfer, the mesh becomes very messy and unclean. So, I'm searching a way to solve this problem in maxscript.
About the wanted edges...
To get the edges by vertices:
thanks
Thanks, I will try this. Any thoughts about the second question?