s, each made from two Nurbs curves, each with different surface properties.
Curves A1 and A2 have 2 control points:
startpoint and endpoint
Curves B1 and B2 on the other hand were drawn with 6 control points each.
What's more, those point's aren't equally distanced from one another.
The lofts inherit the position of control points of the profile curves.
The distribution of control points in the loft direction is uniform.
So no suprise here:
You can think of Nurbs curves as rubber bands and of Nurbs surfaces as rubber sheets. The areas with less control points would correspond to streched rubber.
Now lets imagine you take an A4 piece of rubber, lay in on a table and draw equally distanced lines on it. When you strech it ununiformally - the distances won't stay equal anymore.
Returning to your first post:
The Divide Surface component operates on u,v values which you can imagine as dimensions of the rubber sheet in relaxed state.
So the result you got was indeed an equaly divided surface, only in the so called "parameter space" of the surface, which doesn't always correspond to the xyz space.
There are methods to divide curves and surfaces in equal distances in the way you want it. For starters check out the Evaluate Lenght component.
I think that's enough teory for today. Have fun!
JJ…
assume we want to format two numbers, one integer and a floating point value. The integer represents an index and it should appear inside square brackets, then we want the floating point number rounded to a maximum of 4 decimal places (but always using at least one decimal place, even if it's zero), and then, in parentheses a scientific notation representation using 8 decimal digits of the number.
So, assuming the index is 16 and the value is 47.280006208, what we are after is:
[16] 47.28 (4.72800062E+001)
To make this work, we need a formatting pattern that looks like:
[{0}] {1:0.0###} ({1:E8})
The square brackets, spaces and parenthesis are just part of the output, they have no meaning whilst formatting. Everything inside the curly brackets though will be replaced with a specific formatting of one of the values.
When using the Format component as shown above, the formatting pattern is just text data. The component knows that it is supposed to use the Format() function using the pattern text and whatever additional data is provided.
When you invoke the Format() method in an expression, you do need to make sure that the pattern is actually text:
So here the pattern needs to be encased in double quotes, otherwise it will be treated as code, rather than text.
You cannot use the formatting method in the internal expression of a number parameter, because this method returns text, whereas the number parameter is only capable of storing numbers. Any expression that you put into a number parameter had better return numbers as a result.…
wing exception will be thrown:
Message: Cannot import name minimum_edge_cut
Traceback:line 60, in <module>, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\site-packages\networkx\algorithms\__init__.py"line 21, in <module>, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\site-packages\networkx\generators\classic.py"line 5, in <module>, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\site-packages\networkx\generators\__init__.py"line 84, in <module>, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\site-packages\networkx\__init__.py"
I would inform you that I have also copied the Networkx library into "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\site-packages\" and have specified this directory in "Python Options->Files->Module Search Paths" so that Rhino/Grasshopper knows where to access this library.
Could you please help me how can I sort this out?
Any comment is highly appreciated.
Shayan…
n make it possible to Motivation generate
a variety of interesting objects, from abstract fractals to plant-like
branching structures, their modeling power is quite limited. A major
problem can be traced to the reduction of all lines to integer multiples
of the unit segment. As a result, even such a simple figure as an
isosceles right-angled triangle cannot be traced exactly, since the ratio
of its hypotenuse length to the length of a side is expressed by the irrational
number √2. Rational approximation of line length provides only
a limited solution, because the unit step must be the smallest common
1
1
√2
denominator of all line lengths in the modeled structure. Consequently,
the representation of a simple plant module, such as an internode, may
require a large number of symbols. The same argument applies to angles.
Problems become even more pronounced while simulating changes
to the modeled structure over time, since some growth functions cannot
be expressed conveniently using L-systems. Generally, it is difficult
1.10. Parametric L-systems 41
to capture continuous phenomena, since the obvious technique of discretizing
continuous values may require a large number of quantization
levels, yielding L-systems with hundreds of symbols and productions.
Consequently, model specification becomes difficult, and the mathematical
beauty of L-systems is lost.
In order to solve similar problems, Lindenmayer proposed that numerical
parameters be associated with L-system symbols [83]. He illustrated
this idea by referring to the continuous development of branching
structures and diffusion of chemical compounds in a nonbranching filament
of Anabaena catenula.
The following is an example of its application:
starting string: A
p1: A F(1)[+A][-A]
P2: F(s) F(s*R)
which I think is basically trying to say
F(s) = move forwar a step of length s > 0.
Thanks again,
Mateo…
" (idiomatic) and easy way of doing things.So here come some basic questions:
Is there a way to create custom components by grouping an existing sub-network together? I'm looking for a way to re-use parts of a program (something similar to subroutines), and to make the network look less cluttered. I found that it is possible to group components (ctrl-g), but this still displays them as separate blocks (too much clutter), and provides no way to re-use a sub-network in such a way that if it is modified in one place, all it's instances (all the places where it is re-used) also get modified.
Is there a component that does nothing, just passes a signal through? Suppose I need to connect block A to blocks B1, B2, B3 (all three get the same input). Then I change my mind, and I decide to connect block C to these three, not A. In this case it will be necessary to change three connections, not just one. I'm looking for an easy way to do this by a single rewiring, not three. (This came up in a practical situation).
Finally, a related question: is there a component that acts as a switch, so I can choose which signal it passes through out of a possible set of choices? For example, suppose that a set of objects can be coloured based on a number of different properties (size, positions, rotation, etc.) I'm looking for a way to switch between these very easily, without the need to do much rewiring.
Thank you in advance for any replies / useful comments, even general ones on how to easily structure a large Grasshopper program/network.…
t BBox will then be mapped relative to the UVW space of that box to the new target boxes.
Where your definition is slipping up is the data matching aspect of GH. You have two lists (that count). One list contains 100 items of target boxes and the other contains 2 items of geometry. GH defaults to the Longest List data matching
List A --> List B
Target Box A0 --> Cuboid
Target Box A1 --> Cylinder
Target Box A2 --> (Oops List B has run out of items. Now GH will repeat the last item = Cylinder)
Target Box A3 --> Cylinder
.....
Target Box J9 --> Cylinder
Solution
There are two approaches to rectify this the most logical would be to group the geometries into one object (What you had in mind with the bounding box) to do this use the Group Component on the Transform Tab > Utility Panel.
The other approach is far more common in GH mentality. Use the Graft, right click the G input of Morph and select Graft from the Context Menu. This places all of the items in the List on to separate branches. Creating a list of lists (although these new list only have one item). When GH now tries to data match them it will apply the whole of the first geometry list (Only the Cuboid) to all of the target boxes and all of the second list (Cylinder) to the target boxes again.
I hope this helps…
simple, there are many symetries in 3 main planes. So I used arcs rotated 45° from the main planes and I generate a pentagon which was mirrored and rotated many times.
At the end there are 24 pentagons and 8 hexagons so 32 faces, 54 points/vertex and 84 edges.
It could generate some others tessalation styles
…
rs interface og dykker derefter ned i mere komplekse parametriske modeller. Vi vil desuden arbejde med forskellige funktioner, der hjælper med til at gøre modeller mere responsive og interaktive.
Efter kurset vil du have/kende til:
Basale inputs og parametre, punkter og vektorer, og små geometriske eksempler
En forståelse for Grasshoppers interface og teorien bag den visuelle programmering
Kendskab til og forståelse af de væsentligste komponenttyper i Grasshopper
Matematiske principper, der giver mulighed for sortering gennem sandt/falsk og mindre-end/større-end udsagn
Dataflow: midlertidige og permanente data
Forene og styre data-input, samt en dybere forståelse af Grasshoppers datastyring.
Styring af lange data-lister og data-træer i Grasshopper
Eksempler på parametrisk geometri, som feks. attractorpoints
Brugen af Grasshopper som et panel værktøj, der giver mulighed for at beklæde overflader med paneler baseret på underindelinger, gradienter og attractor points
forberedelse af egne definitioner, med fortsat fokus på projektets responsibilitet.
…
on this, but to my understanding, the Δt_pr used is the same - the equations used to calculate are not. Take a look at this (from EN 7730 as well):
If I can make some wishes too; it would be cool, if you included the last local comfort metrics from EN7730 in LB/HB as well. Besides the local asymmetry there are: an equation for warm/cold floors, stratification and draught. I know, that you will need preform a CFD simulation to properly calculate stratification and draught, but the comfort equations are really simple and seeing that you have(might have) a CFD tool under way it could be useful. Anyways I think it would possible to import external generated CFD data to grasshopper.
The pictures in my previous post are from a paper called: "A simplified calculation method for checking the indoor thermal climate" by B.W. Olesen, it can be found in ASHRAE 1983, vol. 25, issue 5. I don't know if there have been any updates to it since '83.
Looking forward for the new components, and if there is anything I can help with please let me know.
/Christian
…
ce attractors
3- Relation between mathematics and Form
4- Network surface and Paneling
5- Fabrication methods (slice3d, nesting, ...)
6- Structure and Architecture (Millipede)
7-Energy and form
8- Islamic patterns
9- Physics with kangaroo
…