Circle View with Direct Connectors (App to App)
For a small project, I created a circle view which allows me to work with two CSV file (Master App File: All details of an application and an app relations: connectors). It allows you to create direct links in one circle between single apps.Special is, there is a piece of code, that compares two lists and takes care that both lists are the same size. After that, I link the compare result against the circle coordination points from the Master App CSV to connect the outer circle app positions to the connectors.
Thanks for others persons achievements: John (make_table)
|?||Show this help|
|ESC||Blurs the current field|
|r||Focus the comment reply box|
|^ + ↩||Submit the comment|
You can use
Command ⌘ instead of
Control ^ on Mac
1 Posted by andy.treichler on 06 Aug, 2017 05:55 PM
App to App Connector Nodebox Model
2 Posted by andy.treichler on 06 Aug, 2017 05:57 PM
The Framework Example Files
Support Staff 3 Posted by john on 07 Aug, 2017 12:08 AM
Great to see more of your work! This looks like a handy network.
As it turns out, though, you don't need a special match python node to find the link points. You can just filter the MasterPoint table you constructed.
To demonstrate, I took the liberty of creating a network using only standard nodes that does the same thing. As you can see from the attached screenshot, this makes things much simpler. A few notes...
I couldn't open your ndbx file at first because it referenced your match_two_lists.py node inside a separate folder called Application landscape. When Nodebox cannot resolve a code library reference, it refuses to open the network. So I first had to edit out the offending link in the ndbx file. When sharing nodeBox networks with custom nodes, it's a good practice to place the custom nodes inside the same folder as the host network.
I believe the link lines are incorrect in your network. According to your Application Relationships csv, there should be only two Data links coming from 885 and four TRX links coming from 1000. Right? In your version the endpoints were correct, but the links were not. My version corrects this.
In your previous project you said you wished half of the labels were not upside down. Thats why I created the directional text subnetworks in the Share Your Work forum. So I added the flip_spoke subnetwork to flip the direction on the labels in the left half of the circle. I think that makes them easier to read - please let me know if you agree.
I also doubled the size of the canvas so you could print this correctly.
I hope you find this helpful. If you keep everything sorted from the start, you can filter for matches and add labels in a single pass - without the need for a custom node.
4 Posted by andy.treichler on 17 Aug, 2017 05:14 PM
Dear John, The master is the master. I would like to thank you for your reply and solution. It works perfectly. Better as my solution. But there is some question You maybe have an answer or idea. I place them as separate discussion points.
5 Posted by andy.treichler on 17 Aug, 2017 07:25 PM
Question 1: Calculate angle position for arc start angle.
I would like to build out of an arc something like a special connector. I call it freeway or in Swiss German "Autobahn" it represents something like a master pipeline for information flows. But I have two problems. I don't understand or can't find a solution for it in the existing Nodebox 3 Node Framework
Primary Question: Is there a way to get angle value from a calculated point in a circle. In my case, I would like t to have the angle of app 718,
so that I'm able to use it with an arc node (start_angle)
Support Staff 6 Posted by john on 17 Aug, 2017 08:09 PM
Finding the angle is easy. You already have a nice constructed table of app numbers and their associated points in your MasterPoint node. To isolate the point for app 718 just attach a filter_data node with key = master app and value = 718. That should return a single row. Then attach a lookup node to the filter_data node with key = masterapppoint to get the point coordinate of 396.2, 695.
To get the angle, all you have to do is attach an angle node! Leave point1 as 0,0 and attach your lookup node to point2. That's it.
If you had trouble finding the angle node, it may be because, like me, you assumed it would be listed under geometry. But no, it is listed under math. In the New Node dialog you can just leave the category as All and search for "angle".
The angle returned assumes you are using the X axis as a reference vector, just as the arc node does. So you can feed that angle into an arc node or a line angle node or whatever.
I will be traveling for the next few days, but will still be able to check my mail at night. I look forward to answering any other questions you can come up with. I will be interested to see your Autobahn when you have one!
7 Posted by andy.treichler on 18 Aug, 2017 05:35 PM
Dear John. Thanks for the feedback. I did it k^like you told. And I think I was already there. The Problem seems to be an another one. The position works as you explained it. But the coverage area of the arc is not correct. I connected "Lookup 5 and 6" with an angle node and that one with an arc (degrees). Should the cover area not be the same as the area between app 885 to 718? Like the line-angle shows? Maybe you know the answer to the problem. I wish you a nice trip and a good weekend. Hope the trip is not work related.