Between mid-October and November, the content on AREA will be relocated to the Autodesk Community M&E Hub and the Autodesk Community Gallery. Learn more HERE.
I'd love to help you, but you're on my blacklist. I don't appreciate it when someone claims “solutions” for themselves, even if they are their own. You have eight “solutions,” all marked by you. That's not how things should work.
☝️
@denisT.MaxDoctor I just went through our previous threads and I do see what I did wrong.
In those I accepted solution. Also noticed 2 real old threads with marked accept solution by the moderator
You don't mention what you want to do once you have the intersection, but 3ds Max has the "Section" shape which computes the intersection of a mesh with a plane - does that help?
So you want to cut one plane along the line of intersection of that plane with another?
You could use a Slice modifier for this. If you want, you could remote-control the modifier's gizmo with the gizmoControl script of mine.
Or maybe the Procutter compound would be a way to do that?
I better expand on what I need to do. I should have done this from the start.
I have a house full of walls. I have to check which wall intersects with what walls. I can do this with
intersects $Wall001 $Wall002.
When I find a wall that intersects another wall that wall needs to be split in two.
Here is an example
Wall005 and Wall006 intersect with Wall001. I need Wall005 to split Wall001 in two. As well as Wall006 to split it in two.
I am using MAX 2019
Typically, in any architectural project, “wall line” refers to a horizontal line (floor plan), not a vertical line. In this case, we can talk about the intersection in 2D (floor), or in 3D, assuming there is another vector making the wall plane “UP”.
If you use a vertical line for the wall, you need another vector to define the wall plane... where to get it?
@kenc wrote:@denisT.MaxDoctor I'm not following what you are getting at.
The walls are extruded lines and then collapsed to edit poly.
Walls are usually extruded vertically. In your original pipeline, they are extruded horizontally. Maybe it makes sense to modify the pipeline first?
@kenc wrote:@denisT.MaxDoctor in both my screenshots above, the walls are extruded vertically
According to this picture, the lines are vertical.
Well, uh. What do you need? Math, how do you calculate the intersecting point of two segments?
fn segs_cross_point p11 p12 p21 p22 =
(
a = p12 - p11
b = p22 - p21
c = p21 - p11
mag = cross a b
len = (length mag) ^ 2
p0 = p11 + a * (dot (cross c b) mag)/len
p1 = p21 + b * (dot (cross c a) mag)/len
(p0 + p1)/2
)
delete objects
--seed (timestamp())
p11 = point name:#p11 pos:(random -[100,100,0] [100,100,0]) cross:on wirecolor:green
p12 = point name:#p12 pos:(random -[100,100,0] [100,100,0]) cross:on wirecolor:green
p21 = point name:#p21 pos:(random -[100,100,0] [100,100,0]) cross:on wirecolor:yellow
p22 = point name:#p22 pos:(random -[100,100,0] [100,100,0]) cross:on wirecolor:yellow
v = segs_cross_point p11.pos p12.pos p21.pos p22.pos
cp = point name:#cross pos:v cross:on wirecolor:red
@denisT.MaxDoctor and how to break the wall at the intersection.
Wow, high school math. I was not expecting that.
I thought there would have been a built-in function to determine the point of intersection. Like intersects $Wall001 $Wall002. It determines if they intersect but no function to determine the point of intersection.
What intersects really does is:
Returns true
if the bounding boxes of the two specified nodes overlap, or false
if they do not overlap