Hello wizards, I am going through a process to attempt to merge close parallel line groupings to be in same plane. I have lines in X Axis, Y Axis and even some diagonals which are close to be overlapping, but ultimately want them to be merged into one plane. The goal for this, is to get them into one plane and then extract the points and perform a split.bypoints to eliminate multiple close parallel lines next to each other but also merge data associated with them. I have the lines grouped by distance but now would like to know if there is method to merge them into same plane.
Image below shows example of groupings. For example in 47 List you can see the Y coordinates are close except one. I would ultimately like to get that to also have the same plane as the other 3. I have this occuring also in the X Coordinates in other lists.
Is there a method to do this?
Thanks for the help!
Curve.PullOntoPlane perhaps?
This works fantastic for any lines which are not at an angle or diagonal in anyway. So lines that are either vertical or horizontal it merges them perfect. The line start and end points need to be on same line in the X or Y direction. On lines where the lines are diagonal (varying start or end point X and Y coords) the node just pulls the original line. Image below shows the nodes i used in order to get the plane. Is it possible the Vector.Cross vector axis needs to change in order to accommodate those diagonals? I am hoping my question is making sense?
I basically isolated the longest length line in the grouping and used that to find the plane as shown in image. Let me know if there is something more i can provide to help it all make sense. I thank you again for the help!
I am a bit lost - can you sketch what you mean?
I did my best to try to show what is happening. Ultimately what each of these lines represent is a truss loading location which are developed from simple detail components. What I want to happen, is to get the longest loading line and then split that line based off of the overlapping shorter lines. In order to do this, the lines have to be in same “plane”. Once lines are split then I can total them up to get a final loading on lowest element. So without further ado….i have all the other parts figured out, it’s the getting the close lines merged together that I’m struggling. Perhaps there is a completely different method, but only thing I found working semi well is using the lines vectors.
Load merge.pdf (437.1 KB)
So if you take the ‘line1’, and pull pints at parameters [0,0.5,1];
and then translate those points by [0,1,0];
on the Z axis you’ll get a plane that runs the length of the line and more, with a normal that is perpendicular to the line on a XY plane. You can then pull the other curves into this plane without issue.
Please please please forgive my ignorance here as i have never used these nodes as i typically am only messing with rather basic elements. With that said, shouldn’t the result be giving me the start point, mid point and end point for the points at parameters? No matter how i lace this thing, it seems to be giving me either the start or end point verbatim with no change. Again, sorry for sounding like such a dummy but i feel like i am missing something simple or am expecting something completely wrong. I attached the image of the nodes i put in as to what i am assuming you are saying i should be doing?
Lacing is hard - don’t let it get you down. Check the Dynamo Primer and the office hours section on the topic as they’ll help you learn this but for future uses.
For now the @L1 on the curve input, no level on the parameters, and longest lacing.