lunedì, agosto 31, 2015
Dynamo 0.8.2 is out!
Good news!
the latest stable release of Dynamo is out and ready for everyone to test, you can find it here in the DynamoBim official page.
Among other really awesome things that you can find in the release notes, one in particular caught my attention: the "Node to Code", which helps you to learn DesignScript converting (where it is possible) the graph into a very well organized CodeBlock.
This is a fantastic feature that adds clarity to a graph and opens the path for a Dynamo code compiler, that's one of the things I've been dreaming on for a robust firm-wide Dynamo implementation.
Plus from what I could see the development did a really good job in resolving clashing issues in geometry representation in the Dynamo environment.
Happy Dynamo!
domenica, agosto 30, 2015
Lacings in CodeBlocks
Today I stumbled upon this notation in codeblocks and I tried to figure out how it works because I couldn't remember any documentations on this particular aspect but I think is pretty useful because it helps having compact clean graphs.
I've used a range from 0 to 5 (I prefer to use the codeblocks for this purpose) and built some points, on the Point.ByCoordinates node there is the lacing strategy to apply but on codeblocks there is not (to be fair now you can assign the lacing strategy to a selection of node via right click, also the codeblocks but it doesn't seemed to work in my case) .
With this syntax though you gain control over the range and how to use it applying transposition directly.
a=0..5;
b=Point.ByCoordinates(a< i >,a < j >,a < k >)
Now i,j, and k have to be non negative integers, which means zero is allowed, what this does is to let you control how to combine the numbers in the range.
If i,j and k have the same values then the result will be a list of 6 points where for each point x=y=z.
When these indices are equal to 0 they return the first value of the range (in this case 0), otherwise the indices express the order in which the values in the range are going to be combined: the higher index is the one that goes through all the values of the range first.
When two indices are equals and bigger than 0, for instance 1,1,2 or 2,2,1, the geometric outcomes are going to look the same but the points will be listed differently just like using the transpose node.
When the indices are all different and greater than zero you a have a cross product lacing behavior.
Without further ado, here are some images that can explain better the results of the different combinations.
I've used a range from 0 to 5 (I prefer to use the codeblocks for this purpose) and built some points, on the Point.ByCoordinates node there is the lacing strategy to apply but on codeblocks there is not (to be fair now you can assign the lacing strategy to a selection of node via right click, also the codeblocks but it doesn't seemed to work in my case) .
With this syntax though you gain control over the range and how to use it applying transposition directly.
a=0..5;
b=Point.ByCoordinates(a< i >,a < j >,a < k >)
Now i,j, and k have to be non negative integers, which means zero is allowed, what this does is to let you control how to combine the numbers in the range.
If i,j and k have the same values then the result will be a list of 6 points where for each point x=y=z.
When these indices are equal to 0 they return the first value of the range (in this case 0), otherwise the indices express the order in which the values in the range are going to be combined: the higher index is the one that goes through all the values of the range first.
When two indices are equals and bigger than 0, for instance 1,1,2 or 2,2,1, the geometric outcomes are going to look the same but the points will be listed differently just like using the transpose node.
When the indices are all different and greater than zero you a have a cross product lacing behavior.
Without further ado, here are some images that can explain better the results of the different combinations.
Etichette:
Code Blocks,
codeblocks,
cross product,
Dynamo,
lacing
Iscriviti a:
Post (Atom)