Notifications
Clear all

[Closed] Detach Specific Parts Of Object

I have single EPoly object which is cutted on specific places. Edges at the place where the cutting done are also splited (open edges) and selected in this case. How can detach objects between this cuts but still preserve other elements to not be separated as objects.
This is the example file

The result should look like this

38 Replies

Few months ago I was preparing an “API” in C# for MaxScript to select object elements by ID (as for vertex or faces). It worked very-very fine.
Sadlely, as all my programming projects, when I see the end arriving, I pass to the next one and leave it without finishing.
In this case, I think the only thing missing was the help. I’ll search for it when I ‘ll have the time. Surely there are better ways to do what you need.

what about using several slice modifiers?
though this method has some obvious limitations

obj = $Line001
cutplanes = for o in objects where iskindof o plane collect o

for p in cutplanes do (
	
	local o = snapshot obj
	addmodifier o (SliceModifier())
	o.modifiers[1].Slice_Type = 3
	o.modifiers[1].slice_plane.rotation = inverse p.transform.rotation
	o.modifiers[1].slice_plane.position = p.pos - o.pos
	o.name = uniquename "part_001"
		
	o2 = snapshot obj
	addmodifier o2 (copy o.modifiers[1])
	o2.modifiers[1].Slice_Type = 2
	o2.name = uniquename "part_001"
		
	collapsestack o
	collapsestack o2	
	
	if not obj.isfrozen then delete obj		
	obj = o2	

)

select $part*

it’s the right idea. but it could be better just detach one part (from any side of slicing plane) after every cut.
you don’t need a splice modifier for it.

The thing is that object is already sliced and splited at cutting point. I used ProBoolean “Attach”+“Imprint” option. The problem with slice modifier plane is that cut into infinity which is bad for curved (organic) objects. Than I need to use Volume select modifier and face selection to limit cutting of unwanted parts.
Anyway thanks for suggestion.
Trick question is how to detach already prepared object :banghead:

i have some mistake in the above script so it’s just an idea of how to.

If the object is already sliced, what information do you have about it?
Does the central pipe have a unique material ID or something unique?
Do the images you uploaded represent the real object, or part of it or it is a sample model?
Were the sliced pieces capped or they have opened edges?

I am asking in order to think some possible solution. If you would need to slice it, it would be a different story, but as you already have it sliced you would need to know some information to decide which pieces belong to which others. For example, in the images I see one of the additional elements is also sliced, so we can’t rely just on open edges (I think).

One way I can think of would be to get all the elements as separated groups. Then pick up the central pipe pieces, and if they are NOT capped, extrude its faces, and get the intersecting elements. At this point you just need to collect faces groups and detach them. This may have issues with closed curves and the distance you decide to extrude the faces, so it is a little of try and error with the real models.

Hi Jorge,
I attached the example scene in the first post.
Object is already sliced by ProBoolean then converted to EPoly. After that I used Epoly Split on auto selected edges. So no caping here. If link for test file not work please let me know.
Thanks!

1 Reply
(@polytools3d)
Joined: 10 months ago

Posts: 0

Sory, the old blind man missed that
I will take a look.

what max version is it?

Created in max2014 and saved as 2011

Page 1 / 3