The angles at which isocurves meet are not necessarily 90 degrees. Rectangles always have 90 degree angles. So what needs to happen when your isocurves are skewed?
--
David Rutten
david@mcneel.com
Added by David Rutten at 3:59pm on January 17, 2014
ng long in the x axis and three in the y and they don't all intersect each other... I wrote a script to Boolean difference them but its not working like i want it to . I included a rhino result that id like to achieve in the file. THX -ethan
heres the script:
import rhinoscriptsyntax as rs
b1 = []for i in range(b1L): b1.append (x)print b1bb= len(b1)print bbb2 = []for j in range(b2L): b2.append (y)print b2bc = len(b2)print bc
def bool ():....for i in range (bb):........for j in range(bc):............a = rs.BooleanDifference( b1,b2, False).....return (a) a = bool ()…
), my script is triangulating slabs by drawing line in a crossreference way. This part was "easy"
What I want to do now is to link those slabs together
ie : if a slab is a surface AxBxCxDx
I want to link A1 to A2, B1 to B2, C1 to C2 etc.
I know it's a simple question of restructuring the tree in my Pshift component, so that I can use the line component with shortest list, and link each of those points.
Any ideas on how to fix that?
Thank you
Simon…
ases where you have angled shades and the component is doing trigonometry to figure out how close the blinds could be to the glass without touching. I just re-wrote the code so that, now you cannot have the blinds closer to the glass than half of the blind slat depth, which seems to be the limit of what E+ will tolerate.
Also, E+ does not like it when you input blinds that are perfectly at 90 degrees so I changed the component to automatically write out shades at 89 degrees when you connect up 90.
Using the Shade geometry as context worked perfectly for me and I am not sure what was wrong in your situation.
See your working file attached.
-Chris…
hreads where Thread I solves object A1 and Thread II solves object A2. As soon as A1 is completed, Thread I can move on to object B1 and as soon as A2 completes, Thread II can move on to object B3 (whichever comes first). When both A1 and A2 are complete, we can spawn a new thread (III) to take care of object B2.
If B2 completes before B3, then Thread III will terminate. If B3 completes before B2, then Thread II terminates. Whichever thread is last will pick up execution of object C3. And so on and so forth.
This sort of threading is actually not guaranteed to help much though, as it is likely that the bottleneck components in the network will still need to be handled by a single thread.
A more efficient solution would be to divvy up the execution per component to multiple threads. If you're trying to compute the Curve Closest Point for 10,000 points and your machine contains 4 cores, then we can assign 2,500 points to the first core, 2,500 points to the second core etc.
This approach will actually work when there's only a few bottleneck components and it also means the order in which components are solved is no longer important.
An even more fine-grained approach to threading would be to make the Curve Closest Point function in the Rhino SDK threaded. There's a lot of looping going on in any given Curve CP computation so the curve could be broken up into loose spans where each span is solved by a different core. Then the partial results get consolidated once all threads finish.
The benefit here is that it would be multi-core for everyone, not just Grasshopper components.
The bad news: Some functions in Rhino are not thread-safe. Meaning that data structures such as NurbsCurves cannot be modified from multiple threads at once as it will compromise their validity. You might well end up with invalid curves and quite possible weird crashes. In very bad cases it might even be that a specific function in our SDK can only be running once, so even if you were to duplicate the curve it would still not work.
Until our SDK is thread-safe there can be no global threading in Grasshopper. I don't know where we're headed with this, but I do know that we've started using some threaded algorithms in the display as of Rhino5, so it seems we're at least getting our feet wet.
--
David Rutten
david@mcneel.com
Seattle, WA…
Added by David Rutten at 5:47pm on November 17, 2010