Cross Product Lacing and Sublists

Hello everyone,

Although I am not at work the following issue still keeps nagging me. As I do not have Dynamo near me I though I would please you with my drawing skills ;). Please see pictures below.

I am trying to find if two lines intersect. I have two lists of lines: one list of horizontal lines and one list of vertical lines. I know for a fact that a few lines WILL intersect. These will be filtered out using a boolean function.

The situation as mentioned above works fine in Dynamo, see first image below. However, this describes only the ground level. Let’s say I have three levels? See second image. In this case i have two lists comprised of three SUBLISTS each containing the lines (each list is a level). I have tried using List.Combine with the node Geometry.DoesIntersect as f(x) but this does not work as I expected. How can I get the results that I want?

 

2 Likes

Hi René,

Replication guides seem to be the solution : (this is for dynamo 0.9.2 … I know some enhancements have been made on the most recent builds for list combinations, but I havent been able to try it yet)

1 Like

Thank you for your reply, Mostafa! I know nothing about such scripts, could you elaborate on this code script? What is going on inside? <a1><2>? b<1>? Also, as I do not know how to interpret it, does it make use of cross product lacing?

Finally, do you (or anyone) also have a ‘node-solution’ instead of designscript? I find it important to learn from your solutions, and for now I am focused on dynamo nodes.

Again, thanks for your trouble!

Here’s an article that helped me a lot while i was trying to wrap my head around replication guides :

I hope it helps you

I’ve also written (Valid at the time in Dynamo 0.8) an introductory guide on DesignScript and Replication Guides (Just scroll down) at the following link:

http://www.revitforum.org/dynamo-bim/27485-introduction-designscript.html

Gem topic!
If we operate with room boundaries, especially.

How can we get Geometry.DoesIntersect for this case?
(if i make list of repeated item for second list, i can’t get result of previous topic due one more level depth). The structure of needed result is in Intersection.FindIntersections node.

Thanks!

@Vladimir See if this works

This might explain the concept better …
repl

2 Likes

Hello! I think I have a very similar issue, however I can’t solve it based on the above replies.

I would like each solid A from list 0 to be checked against solid B from list 0. And then solid A from list 1 be checked against solid B from list 1, etc.

Unfortunately, all I get is that each solid A is compared to solid B. Maybe I could further adjust this in some way to get what I want, but my script has to check hundreds of elements and unnecessary calculations will significantly slow down its operation.

Maybe someone has an idea how to approach this? Maybe you, @Rene_Fuhren or @Vladimir?


Autodesk.Geometry.Intersect(geom<1>, other<1><2>);

It’ll do cross lacing in Level2.

1 Like

Thanks! It works!