Why does this intersection fail?
-
@davidboulder said:
On you first image I think it twill interset if you use the API to interset.
Actually - that was the source of this attempt. I could not make it intersect with the API. So I tried to intersect manually.
-
On you first image I think it twill interset if you use the API to interset. I have found that the manual intersect requires a face not parallel to the target surface, but the API implementation only requires an edge. So what you have drawn would intersect if you use the API.
This video shows the intersect method similar to your first image at about 2 minutes in.
http://youtube.com/watch?v=rIO_jcvq2Vc -
@thomthom said:
@davidboulder said:
On you first image I think it twill interset if you use the API to interset.
Actually - that was the source of this attempt. I could not make it intersect with the API. So I tried to intersect manually.
I just added video link to. First post. Wonder if surfaces being reverse dare an issue. In y demonstration I don't even have a face, just edges. Wonder if deleting the face on your first example makes a different.
http://youtube.com/watch?v=rIO_jcvq2VcWe have seen issues with interset doing odd things on larger models, like making odd diagonal where two surface are th exat a size and shoul not interset.
-
@dave r said:
Remember, it's Intersect Faces.
Only since SU8 - they changed the wording to avoid confusing between solid intersection.
It's misleading as you can intersect just edges. -
@davidboulder said:
Wonder if surfaces being reverse dare an issue.
Tried that - no change.
@davidboulder said:
Wonder if deleting the face on your first example makes a different.
Which one?
-
-
Glad you posted this. Thought it was only me this seemed to happen to.
-
Coplanar faces in different contexts don't seem to want to intersect nicely... perhaps it's an accuracy thing where the transformations are such that they are seen as not quite coplanar enough to intersect... but of course they do copy/paste-in-place into the group's context AND intersect just fine
It could be done in code something like this:
After confirming that both faces are indeed coplanar [allowing for the group's transformation] and no intersection is happening... And assuming that 'face' is a reference to the smaller raw geometry face and it's inside the active_entities... [if not we'll need to clone its edges etc?]
Then
gp=face.parent.entities.add_group(face.edges)
Now we can add a copy of the face's edges into the original-group
tgp=group.entities.add_instance(gp.entities.parent, gp.transformation*(group.transformation.inverse))
I'm NOT sure about the 'inverse' - I'm not testing this, just typing from memory...
Now intersect the 'tgp' with the original-group's entities and tidy up.
tr=Geom::Transformation.new() group.entities.intersect_with(true, tr, group.entities, tr, true, [tgp]) tgp.erase! gp.erase!
If you know for sure that the 'face' is always wholly within the origin-group's face's perimeter then you could skip the intersect_with()/tgp.erase! and simply explode the 'tgp' inside the original-group, thereby merging with its geometry... -
So I'm not wrong to expect them to intersect? I've not missed out on a major Doh!-moment?
I find it odd to be an accuracy problem either. Both faces drawn on ground place. Z is 100% zero. Group is also not moved and it's Z is 100% zero.
This is maddening!
-
If you give the smaller face a major PushPull UP, then edit the group, select the face and intersect with model, it will cut into the group's face !
Then back outside of the group you can erase the unwanted extrusions of the small face to revert back to its original form...
Oddly this works with UP BUT NOT DOWN PushPulls - the extrusion doesn't need to intersect the group, just sit on it - the PushPull is enough to jolt Sketchup into accepting the faces as coplanar and thereby capable of intersecting... Indeed if it does intersect but its base is on the group's face then there's no intersection available either !It should work better
-
(Off Topic)
Another similar event is two long rectangles on same plane with a space between. Absolutely same plane. The rectangle tool will not fill the void. This can only be accomplished by drawing a line from corner to corner and erasing this line. Doesn't happen all the time, but happens often. -
@tig said:
If you give the smaller face a major PushPull UP, then edit the group, select the face and intersect with model, it will cut into the group's face !
Then back outside of the group you can erase the unwanted extrusions of the small face to revert back to its original form...
Oddly this works with UP BUT NOT DOWN PushPulls - the extrusion doesn't need to intersect the group, just sit on itInteresting.
I wonder if this has always been like this... anyone?
-
Hi Thomthom, hi folks.
Is the fact that the large rectangle is a group can be the cause of the problem ?
I always though that, for an intersection to work, the cutting geometry must be in the context of the other object.
Maybe I missed something.
Just ideas.
-
@thomthom said:
@davidboulder said:
Which part of the video am I suppose to look at?
Sorry, I mean to say 2 minutes into the video. Also the face I was recommending deleting was the smaller face. Keeping the face you want to intersect into. That would be more similar to the video where I am just using edges for the intersection.
-
Yep, I get this error as well with planes but also with different geometry like the one attached.
I think this all started with V8 .For the one attached, I enter the group with the profile and after selecting it I run the intersect with model and that error appears .
-
Intersect seems to fail in a number of ways, but not consistently enough to say "BUG".
In my list below keep in mind the word "consistently".
Most times intersect does work properly.1: As noted above, 2 planar faces fail. Even if I redraw the lines manually. I need to delete all vestiges of the failed intersect and redraw the lines manually on face.
Again, even that sometimes fails.2: Pass a vertical face through a horizontal face. If a vert line is offside the horiz face, it won't intersect. Happens more often if the faces are not perpendicular.
3: Pass a curved surface through any face or surface, and some parts will not intersect. Mostly very short intervals.
4: Intersect normally generates a myriad of hidden lines, but fails to delete all of them, leaving a mess to clean up. What's worse; deleting some of those hidden lines blows apart the face, and many times it can't be regenerated, forcing a multiple undo and a manual intersect.
This fail seems more prevalent in big models with over 200,000 lines.5: This happens a lot. I push a face. I work on another part of the drawing not connected to either face. I then draw a circle on 1 face and push it till SU says "on face", but the face is NOT intersected. I need to undo and push past the face, then intersect and then .... See #4.
6: A corollary to #5 is a face with 1 or more holes in it. The face, but not any defining line, gets deleted. Selecting a boundary line and the "Face" command, regenerates the face, but not the holes. They are faced over, and many times an intersect will not restore the holes, then see #5 then see #4.
6: Intersect with model is supposed to ignore objects that are layered off. Yet sometimes I get all sorts of lines from layered off objects, and occasionally I even get intersect lines from previously DELETED objects.
And, sometimes I lose the face deleting unwanted lines.7: Intersect seems to generate clusters of very tiny fragments around some intersections/vertices that are a real pain to find and delete. And deleting them usually blows away existing faces, and I have to regen all (but 1) of the lines/faces that were on that vertex.
Otherwise it works great.
-
@jean lemire said:
I always though that, for an intersection to work, the cutting geometry must be in the context of the other object.
It works if I make the small rectangle into a cube.
-
Coplanar things only intersect if "intersect selected" is chosen. You cannot (obviously) select all inside the group context AND outside of it. Try with this file (created in version 6 where "auto intersect" was not introduced). Select all and perform an intersect with model. Nothing happens. Now select all and intersect with selected: it will intersect the two rectangles.
Advertisement