answer further on Friday.
The "ghdoc" variable and rhinoscriptsyntaxThe ghdoc variable is provided by the component if you select it as "target".You might ask yourself: "why do we need it"?Its use comes from the very design of the established RhinoScript library. This library is imperative, which means it is build from a set of procedures or functions that act on various geometrical types. Additionally, there is one level of indirection: most of the time, the user does not work with the geometry itself in the variable, but rather with Guid of geometry that is present in a document. This is exactly what ghdoc is: it is the document that the RhinoScript library always implicitly targets with all AddSomething() calls (for example, AddLine()).
Based on this comment...RhinoScript use within GhPython may be less idealThat comment is from a previous version of this component that did not have the ghdoc yet.With the ghdoc variable, the standard Rhino document target of RhinoScript is replaced, therefore we can use Grasshopper while leaving the Rhino document unchanged. This saves uncountable Undo's, and makes it easy to structure ideas through the definition graph
...is the rhinoscriptsyntax target irrelevant if using solely RhinoCommon classesYes. If you create class instances (objects), you will need to create also your own collection objects to store them (mostly lists, trees). You can imagine the ghdoc as being an alternative to them, just that you do not access data by index (number), but by Guid. So you can use the RhinoScript or the RhinoCommon libraries independently or mix them. The RhinoScript implementation in Rhino is open-source and is all written in RhinoCommon. Also the ghdoc implementation is open-source, and is here.
RhinoScript and/or RhinoCommon objects which are not recognized as valid Grasshopper geometryYes, sure, Grasshopper handles only a portion of all available types. Basically, unhandled types are all the types that do not exists in the 'Params' tab. For example, there is no textdot and no leader, so on line 149 there is a throw statement and all TextDot calls (about line 350) are commented out. When/if Grasshopper one day will support these types, these calls will be implemented.
DataTreeHere is a small sample. However, I think that 80% of the times it is not necessary to program for DataTrees, as the logic itself can be applied per-list and Grasshopper handles list-iteration.
I hope this helps,
- Giulio_______________giulio@mcneel.comMcNeel Europe…
ger at the scale of rooms, walls and atria, but that of cells, grains and vapour droplets. Rather than the flow of people, services, or construction schedules, the focus becomes the flow of light, vapour, molecular vibrations and growth schedules: design from the inside out.
The sg2012 challenge, Material Intensities, is intended to dissolve our notion of the built environment as inert constructions enclosing physically sealed spaces. Spaces and boundaries are abundant with vibration, fluctuating intensities, shifting gradients and flows. The materials that define them are in a continual state of becoming: a dance of energy and information.Material potential is defined by multiple properties: acoustical, chemical, electrical, environmental, magnetic, manufacturing, mechanical, optical, radiological, sensorial, and thermal. The challenge for sg2012 Material Intensities is to consider material economy when creating environments, micro-climates and contexts congenial for social interaction, activities and organisation. This challenge calls for design innovation and dialogue between disciplines and responsibilities.sg2010 Working Prototypes strove to emancipate digital design from the hard drive by moving from the virtual to the actual in wrestling with the tangible world of physical fabrication. sg2011 Building the Invisible focused on informing digital design with real world data. sg2012 Material Intensities strives to energise our digital prototypes and infuse them with material behaviour. They have the potential to become rich simulations informed by the material dynamics, chemical composition, energy flows, force fields and environmental conditions that feed back into the design process.
More information can be found at http://www.smartgeometry.org
sg2012 take place at Rensselaer Polytechnic Institute, Troy, in upstate New York from 19-24 March 2012. The Workshop and Conference will be a gathering of the global community of innovators and pioneers in the fields of architecture, design and engineering.
The event will be in two parts, a four day Workshop 19-22 March, and a public conference beginning with Talkshop 23 March, followed by a Symposium 24 March. The event follows the format of the highly successful preceding events sg2010 Barcelona and sg2011 Copenhagen.…
ort and export from the images below and also from the HELP file of DB in attachments (Page 71: Importing Geometric Data; Page 78-80: Import 3 - D CAD Data). In their HELP file, they mention about "import geometric data".
However, regarding the input of schedules, loads, constructions and etc., DB normally uses "Component " and "Template" (Page 29: Templates And Components; Page 591: Templates; Page 533: Components). "Templates" are databases of typical generic data, including Activity templates, Construction templates, Glazing templates, Facade templates, HVAC templates, Location Templates, and etc. "Component " are databases of individual data items (e.g. a construction type, material, window pane).
Both "Component " and "Template" are allowed to be imported and exported by using "Import / Export library data" command (.ddf format - DB Database File; Page 734: Import Components/Templates, Export Components/Templates). DB also allows us to build up our own libraries of templates and components (Page 731: Library Management; Page 733: Template Library Management).
In order to import both geometric information and other information related to schedules, loads, constructions and etc. from GH to BD, we supposed the following two ways:
1. GH(HB+GB) --> gbXML (both geometric and "Component " and "Template" information) --> DB
This is the way we most prefer. We did see information related to schedules, loads, constructions encoded in the gbXML file generated by GB, but still do not know the reason why DB did not take this information (I also mentioned this in Q6 within the gh file). We assume this might because the gbXML file we create encodes the schedules based on a different template / schema than the one DB expects. We also post this question to the DB forum for help.
(http://www.designbuilder.co.uk/component/option,com_forum/Itemid,25/page,viewtopic/p,13755/#13755)
2. GH(HB+GB) --> gbXML (geometric information only) + .ddf ("Component " and "Template" information only) --> DB
If the first way doesn't work and DB only takes geometric information from the gbXML, then we might think of the other way - generating the .ddf files from GH(HB+GB) to pass the schedule, load and construction information to DB.
I was wondering if it is feasible for HB and GB to have this function? And what is your suggestion to achieve this?
In addition, we notice that DB can export XML files (not gbXML), so we are trying to figure out if DB also accepts / reads the XML file. If so, we might be able to convert the gbXML (with both geometric and schedule information) to XML. What do you think about that?
Thank you again for all your help!
Best,
Ding
DB import
DB export
Template libraries
Component libraries
…
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…
understanding of the graphical algorithm editor, and then dive into more complex parametric models. We’ll also learn tricks to keep our project responsive and enjoyable to use.
Course outline
inspired in the first, visual programming part of the Grasshopper primer
(http://www.grasshopper3d.com/page/tutorials-1)
Duration: 3 days (24 hours).
Including
An understanding of the Grasshopper interface and the visual programming theory
Base parameters, large numbers of points and vectors, and small geometrical instances
Data flow
Troubleshooting definition problems and solutions
Know the main component types
Be able to join, and manage connections and trees
Expressions for both calculation and boolean creation
Understand Data Matching and casting
Managing long lists of objects within Grasshopper
Have an understanding of the functioning of Grasshopper components
Experience creating definitions
Parametric geometry examples, like attractors and list culling
Re-utilizable modeling examples: colored panelization, surface population, gradient and picture sampling and manipulation, catenary line and weaving
Spline animation examples
Getting ready to prepare own definitions in groups
More information...
…
dive into more complex parametric models. We’ll also learn tricks to keep our project responsive and enjoyable to use. Course outline
covering similar content as the first part of the primer (http://www.grasshopper3d.com/page/tutorials-1)
novel material
duration: 3 days (24 hours)
Including
An understanding of the Grasshopper interface and the visual programming theory
Base parameters, large numbers of points and vectors, and small geometrical instances
Data flow
Troubleshooting definition problems and solutions
Know the main component types
Be able to join, and manage connections and trees
Expressions for both calculation and boolean creation
Understand Data Matching and casting
Managing long lists of objects within Grasshopper
Have an understanding of the functioning of Grasshopper components
Experience creating definitions
Parametric geometry examples, like attractors and list culling
Re-utilizable modeling examples: colored panelization, surface population, gradient and picture sampling and manipulation, catenary line and weaving
Spline animation examples
Getting ready to prepare own definitions in groups
More information...
…
here are my questions.
1. The difference in general attractor transition is that, i only want the points are moving toward x axis, so if i just have ONE curve to distinguish, which is'nt the problem to find points location are in the right of left side of curve, but if i have TWO or THREE curves need to be distinguished, that is totally confused to me!
2. The points near curve which moved too big, how can i make it more equal?
3. I hope all the points can stay in the square boundary.
If anyone can give me some hint, i would be very appreciate with that.
thanks a lot!!
Shaun
…
ake a modest notice about the two new Ladybug components, one of which creates a 3d terrain shading mask and another one which visualizes and exports horizon angles. A terrain shading mask is essentially a diagram which maps the silhouette of the surrounding terrain (hills, valleys, mountains, tree tops...) around the chosen location, and account for the shading losses from the terrain. It can be used as a context_ input in mountainous or higher latitude regions for any kind of sun related analysis: sunlight hours analysis, solar radiation analysis, view analysis, photovoltaics/solar water heating sunpath shading...
My home town is an example of the shading caused by the terrain. Here is how it looks from the tallest building in the town:
And the created terrain shading mask:
A mask for any land location up to 60 degrees North can be created:
There will also be a support for a few major cities above this limit.
Both Terrain shading mask and Horizon angles components can be downloaded from here. An example .gh file can be found in here.
Component will prompt the user to download and copy certain files in order to be able to run.
It was created with assistance from Dr. Bojan Savric. Support on various issues was further given by: Dr. Graham Dawson, Dr. Alec Bennett, Dr. Ulrich Deuschle, Andrew T. Young, LiMinlu, Jonathan de Ferranti, Michal Migurski, Christopher Crosby, Even Rouault, Tamas Szekeres, Izabela Spasic, Mostapha Sadeghipour Roudsari, Dragan Milenkovic, Chen Weiqing, Menno Deij-van Rijswijk and gis.stackexchange.com community.
I hope somebody might find the components useful.…
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
…