Overlapping Group Check


#1

Hello all.
I’m fairly new to the extension development, and I’m running into a road block… I have a ruby script that trims a group A (solid) based on another group B (solid), which works great.

My question is, how can I limit or stop the trim from occurring if group A overlaps say a group C? I’m looking for an if statement check prior to trim.

Thanks for the help.


#2

The solid operations do not give enough fine-grained access to use if statements. They are “atomic” operations with a clearly defined input and result.

Think of it like a set operation. If you want to protect those parts of A overlapping with C from being trimmed by B, they must not overlap with B.

So instead of:

A \ B

you do:

A \ (B \ C)

#3

Thanks for the feedback.
Is there a check statement that returns (true/false) that can be used to determine if two groups intersect?


#4

Determining intersection of arbitrary solid volumes is a non-trivial problem. Usually only bounding-boxes are checked. Only if bounding-boxes intersect, the geometry may intersect or not.

Something like:

instance1.bounds.intersect(instance2.bounds).valid?



#5

I was heading down that road… thanks again.
I’ll let you know if I can get it figured out.


#6

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.