Geometry intersect problem

As you can see, i am tring to get intersect points between 3d feature lines and 2d sample lines, i have create 2d planes which standing at each sample lines in Dynamo to do the intersect with these 4 feature lines but for some reason i can only get intersect points on 2 feature lines. In dynamo under the node Geometry.Intersect are the 0 and 1 list always with zero values, which represents no intersect points there.
Can someone help me with that?


You may be outside the working range of the geometry. What do your errors say?

“unable to make wire from edge body”.
But when i change the Geometry Scaling to extra large, some intersect points can also not be found.


I don’t have experience with C3D but I assume it/Dynamo would have similar restrictions to other platforms. Are you excessively far away from the C3D origin? It seems like the geometry scaling was at least part of the problem.

image

Those are the origins of the planes that i have made. Are they far away from the C3D origin? What do you suggest to deal with it?

That’s what I’m asking you. I don’t know if you have a modified origin in that file or what the normal constraints are for C3D, but that could be an issue.

Hi @1054896935,

Yes, this geometry is far away from the origin, which is very common for civil projects since we often work with real-world coordinate systems. Again, as a rule of them, do not change the geometry scaling from the default setting of Medium. It will give you the warning saying that geometry lies outside the working range, but you need to ignore the warning. If you change the geometry scaling setting, then the integrity of geometry coming from AutoCAD will not be preserved and you will get further errors/warnings downstream in the graph.

If you must get rid of the warning, then you can swallow it with a Function.Apply node.

With that said, I’m pretty confident it’s just an issue with the list levels on some of the nodes. If you share your data, maybe we can help more. If not, then here is an example that looks very similar to yours. There are two different approaches that you could try.

FeatureLineExample.dwg (1.3 MB)
FeatureLineExample.dyn (54.3 KB)


I have shifted the geometries to the orign and to do the intersect, but the issue is still there

It seems to be an issue with the polycurves you created. You may have to rework how you construct those curves.

Test.dyn (219.0 KB)

The dwg data is too big to upload. There are just 1 alignment with 42 sample lines and 4 feature lines above them

They are just selected as feature lines in a dwg data.

I understand. You may have to clean them up or manually recreate them in Dynamo as they can sometimes cause trouble when converting.

It works for me.

Are the Feature Lines extracted from a Corridor? I would check to see if they overlap themselves somehow, for example at a Corridor bowtie.

I am not sure where they come from but may be…
From top view i don’t see any overlap. That’s why it confuse me so long time…
But my script works also for you, right?

Yes, but I’m using different data than you. Like @Nick_Boyts said, I think it’s a problem with the specific Feature Lines that you’re dealing with. You probably need to do some more testing to isolate the problem. Some ideas:

  1. Try the same script on a drawing with very simple Feature Lines and only a couple Sample Lines. If it works there, then you know it isn’t a problem with the script and is instead a problem with the Feature Lines in your current drawing.

  2. Explode the Feature Lines down to 3D Polylines and check the vertices for overlap.

1 Like

How do you suggest to recreate them in dynamo?
I use FeatureLinie.GetAllPoints firstly and then use Polycurve,ByPoints to do it, but doesn’t work well…

Have you tried FeatureLine.PolyCurve?

Yes, that’s how i import feature lines’ geometry to dynamo at first.

@1054896935 ,

Try to set units to inches in civil first, if possible. It helped me to solve many errors with revit interaction.

Hello friends.
My English is not very good, I hope you will understand me.
I want the widths of the sample to be up to the fill and split limit. So I want the cross section width to exceed the splitting and fill limit by 2 meters, how can I do this?