Brian,
I've also noticed that Construct > Curve > Isect sometimes gives multiple points when I'm expecting 1. For example, if I draw 3 lines through the origin (by using Grid Snap), select the 3 lines, and run Isect, I get 3 points:

I worried that maybe the redundant points would be at locations around .001 units apart http://moi3d.com/forum/lmessages.php?webtag=MOI&msg=8468.19, so I ran
code:
var pts = moi.geometryDatabase.getSelectedObjects().getPoints();
for ( var i = 0; i < pts.length; ++i )
{
moi.ui.alert
(
'point ' + i + '\n' +
'x = ' + pts.item(i).pt.x + '\n' +
'y = ' + pts.item(i).pt.y + '\n' +
'z = ' + pts.item(i).pt.z + '\n'
)
}
(Is there an easier way to get accurate point coordinates?)
But, In the case of the location where the curve crosses over itself in WeirdIntersectionOne.3dm

I see that 2 of the points are in exactly the same location and the 3rd is only different along y in the 13th decimal place:
point 0
x = 20.826530612244895
y = 37.74721822498999
z = 0
point 1
x = 20.826530612244895
y = 37.74721822498999
z = 0
point 2
x = 20.826530612244895
y = 37.747218224989986
z = 0
In the example with straight lines above all 3 points are at 0,0,0. I tried moving one of the lines by only .0001 units, thinking that this might cause problems, but the 3 intersection points created look to be at exactly the right locations:
- Peer
|