I’ve just started using dynamo and i was trying to determine if the point is on the line.
I would like to ask if there are any similar nodes in Dynamo that have this function?
Hi,
you can use Geometry.DoesIntersect node
Or Geometry.DistanceTo, and an == node.
Geometry.DoesIntersect is likely easier.
Hi Fellas,
I am not getting the desired result with the Geometry.DoesIntersect node.
As you can see, the point is clearly on the Y axis, yet the node says false. Do I need to convert something? I am at a loss.
Any help is appreciated.
Looks like you are using a GetLocation node for the Wall. This outputs a point, which is usually the centroid or the origin point in the element.
Instead, you may want to use Element.Geometry or Element.Solids, which will provide 3D forms.
Edit: Nevermind, I see the line output. Perhaps there’s a tolerance issue, where the line is not exactly on Y=12.566? You could try turning the point into a tiny sphere to test that.
Hello @LoRue - What is your desired workflow here? Pairing points with lines they intersect with? There are a few different approaches, and indeed this could be due to a rounding error where your point is not truly sitting on that line.
If you try getting the Point.X
/ Point.Y
/ Point.Z
values from each of your Points.StringToPoint and Element.GetLocation nodes … do they sit in the same plane?
Hi @solamour, @Robert_Younger
You are correct!
My goal is to line up a list of Door insertion points derived from a CAD file with location curves from walls that were also created from CAD geometry. It is part of a larger project to translate CAD floor plans into a LOD200 model.
I see that I will need to round the curve to 3 digits like the points.
Thanks a bunch. I was going a little batty! Is there a way to deal with this rounding error globally?
I’m actually working on a task with similar properties (lifting CAD duct/pipe linework and referencing nearby textdata), maybe some of the common points will help.
Rather than compare points and lines, consider turning them into spheres and cylinders with a set diameter that covers the expected tolerance errors (maybe someone decided to forego object snapping when placing their doors). That can at least provide a structured list that relates doors to walls.
Where your workflow differs is that you’ll probably need to correct the insertion point to be a point along the curve. There should be some threads that discuss shortest-length methods to push the point onto the curve.
Ok I’ll try the sphere method. It seems easier than exploding the curves, rounding each number and reconstituting it. I wish there was a way to set the units to be all the same tolerance.