of curved surfaces, its fabrication methods are still a challenge especially on the level of complex surfaces and large scale assemblies. Mathematical surfaces in general and hyperbolic paraboloids (Hypars) in particular embed neverending opportunities for planar construction techniques. The ancient surface of Hypars is one of the most interesting mathematical forms for architects from quantitative structural optimization to qualitative ornaments. Hypars have been used extensively in the works of avant-garde architects including: Gaudi, the Philips pavilion of le Corbusier, Shell structures of Felix Candela and Frei Otto tensile structures, as well as, many contemporary architects. Hypars workshop aims to develop the computational design techniques of complex organizations of hyperbolic surfaces from the structural to the ornamental scale in respect to the planar fabrication methods. The mathematical and geometrical qualities of ruled surfaces will be explored in parallel to material and assembly logic of planar elements for 1:1 prototype of an outdoor canopy in Alexandria. Geometrical properties of Hypars will be coded on the platform of Rhino and Grasshopper while the physical prototypes will be in wood and paper which offer an integrated and intuitive understanding of complex geometries and physical relationships. The workshop objective is to reconsider materials and fabrication as a design tool for architects. /// Application To apply, please follow this link to fill the application form https://docs.google.com/forms/d/1S2-7YNifUing8SVX3Iz9ArrgQgjIk77w9jzG70sIHv0/viewform /// Fees* 1700 EGP for students / 2000 EGP for graduates and young professionals * 20 % discount for early registration and payment before 22 nd of August 2014 more info on the workshop webpage: http://www.encodestudio.net/#!hypar/co9p…
you prefer) skin of a future to be truss (of quad type). If we divide the classic way these surfaces we end up with a dense grid near by the inner limits (no good - useless) and a sparse grid near by the exterior limits (no good - stupid).
So the ideal solution could be a transition schema from sparse (in) to dense (out). Obviously with no mesh around (useless for further work). Kinda like a fractal logic so to speak.
But...as I'm getting(?) more familiar(???) with GH...er...hmm...read my notes inside file. In a nutshell it's hard to imagine doing complex real-life AEC work with GH with the current state of things/capabilities (problematic clusters, one Canvas, one way control : from Canvas to Viewports), no real-life visual tree explorer/manager, no bake management of any kind, no preview management of any kind etc etc etc).
I mean (back to original definition) that I spend more time trying to preview portions of the whole solution (10% completed - imagine what's next...he he) and/or to figure out what belongs where ... than adding some new logic.
It's the law of entropy that is always proportional .... etc etc, I guess.
Keep in mind that this (as a typical AEC thing) is not predefined : it's not like applying a Voronoi grid into a blob...you work by trial-and-error, you add stuff, you see results, you change approach, go back again etc etc - meaning that the amount of "help" items present in a given solution is probably ten times the amount of the real (i.e. final) things. This is also a big problem in Microstation (blame that stupid old-times Level way to organize things, forget un realistic Cells and Planet Utopia Refs - at least with regard the current state of things).
It's quite explainable why CATIA dominate in the Plant market segment (and has serious plans to invade in more humble AEC segments as well).
best, Peter…
ial command:create: Divide Curve, Voronoi, Area, Circle
If there are multiple instances of a single component, then you can assign them IDs (according to Ángel's suggestion) using square brackets:create: Divide Curve, Circle[1], Circle[2]You can use numbers or words, whatever you want to identify a component.
Parameters are written in parenthesis, in front if they are input parameters, trailing if they are outputs:Voronoi(C) --> (G)AreaThis will conflict somewhat with components which already use parenthesis in their name, but we can simply consider the first or last parenthesis pair to indicate the parameter. In other words, the ambiguity can be resolved because all alternative interpretations are invalid.
K didn't like my usage of an inverse arrow ( <-- ) to assign properties, I didn't like her suggestion of a different inverse arrow ( <== ). The equals symbol seems to be a halfway decent alternative, eventhough K still doesn't like it:Voronoi = Preview:Off
All sorts of properties can be assigned using this notation, including name, position, enabledness etc.
We haven't decided on a good way to assign initial properties quickly. Your first suggestion [Slider=60] may work in conjunction with the create statement, but it is somewhat awkward. I suppose the logical way for this to work is to simply type:slider = 0..10..50using the shorthand notation for creating a new object (by mentioning it out of the blue) and immediately assigning a property to it.
Does this approach violate some of the goals you had in mind originally?
--
David Rutten
david@mcneel.com…
w number. If the script is slow you can also double click a number slider to access a panel that lets you slide a value without invoking a recalculation.
You don't need most of the inputs, which are for controlling the transition to the borders of open meshes. No, there's no manual beyond right-click help.
FixC and FixV are to fix and thus retain open borders, mostly, or sharp creases and there is art in them, meaning tricks you just have to blunder into or search for.
Flip is an alternative remeshing strategy worth changing from 0 to 1 to see the effect.
MeshMachine is only giving a nice even curvature-adaptive (Adapt setting 0.8 or so is more reliable than 1) mesh, merely, not thickening mesh wires into struts.
The struts are currently individual capped mesh cylinders. You could also use very slow nurbs cylinders. They may or may more likely not successfully Boolean union together in Rhino. Their diameter is set in the Mesh Pipe component.
There are other plug-ins for thickening the wires of a mesh. Exoskeleton, Intralattice and my favorite, somewhat tweaky Cocoon marching cubes which is however very robust, and I sometimes run the overly fine mesh result into MeshMachine to make it regular and adaptive, since the Cocoon refine component is hard to control. I mostly enter 1s into most inputs though.
If you turn on menu item Display > Canvas Widgets > Profiler and zoom in close enough to the canvas, you'll see timer readouts for how long each component took for a solution, so I can see that the pipes are the slow part, so I'd normally right click disable the chain early on, and right click turn on preview for the earlier mesh step before I make the pipes. The MeshMachine step takes only 2 seconds, and that's with Iter (internal iterations) at 10 instead of a workable 5.
Also turn on Display > Preview Mesh Edges to see the actual MeshMachine mesh.
…
ssibili e facili da usare. Il corso parte dalle basi della programmazione di arduino fino ad arrivare all’interazione tra un oggetto fisico ed un imput informativo. tutor: Gianpiero Picerno Ceraso
Programma: I giorno Introduzione al Phisical Computing, input digitali e analogici, le basi del linguaggio di programmazione, esempi applicativi; led, pulsanti, fotorestistenze, servo motore, sensore di temperatura, di flessione, sensori di movimento, potenziometri.
II giorno Arduino ethernet, uso di un relè per carichi elevati, accelerometro, introduzione a Processing, interazione di Arduino e Processing, Introduzione a Grassoppher e Firefly e interazione con Arduino.
orario corso: 10:00 – 13:00 e 14:00 – 17:00 (pausa pranzo 13:00 – 14:00) costo: 150€ + IVA deadline: 13 marzo numero minimo di partecipanti: 3
Per iscrizioni scrivi a info@medaarch.com specificando nome, cognome, mail, recapito telefonico e il nome del corso al quali sei interessato. In seguito all’invio del modulo di pre-iscrizione, i partecipanti riceveranno una mail contenente tutte le specifiche di pagamento.
Per seguire il cluster su Arduino è necessario installare il software Arduino 1.0.5 al seguente linkhttp://arduino.cc/en/Main/Software#.Ux3hQj95MYE facendo attenzione a scaricare quello relativo al proprio sistema operativo, Windows 32 o 64 e Mac OS.
Software necessari solo per una parte del corso: Processing 2.1.1 https://processing.org/download/?processing
Rhino 5 http://www.rhino3d.com/it/download Grasshopper for Rhino5http://www.grasshopper3d.com/page/download-1Firefly http://fireflyexperiments.com/
Il cluster rientra in un fitto calendario di attività formative organizzate dalla Medaarch per lanno 2013-2014.…
decided to concentrate my effort today on this problem and manage to come up with a solution !
I will explain it if somebody else is looking for a similar solution.
Finally my only problem was to create an alternating true/false list that inverse at certain index, this what I came up with: I have a list of points and random index , the box and sphere represent true and false, and the blue sphere is the node(index) where I want to see an inversion.
In reality, it was pretty simple, I just didn't know the right modules. (In yellow, it's the most important part of the patch)(Sorry for the spelling mistake)
Here is a diagram of what I did: I created a list going to 1 to [number of lines], here it's 1 to 10, I had node at 3-4 and 7-8. For each node I created a list of 1 repeated [(number of lines)-index] times. Here, 7 (10-3) and 3 (10-7) times.
After grafting everything, I add everything in mass addition module. I had my final list which I checked if it was divisible by two.
It was more of a logic problem than a grasshopper problem.
Here it is the initial shape with what I wanted !
…
three categories, each one corresponding to different shapeType_ input:- polygons (shapeType_ = 0): anything consisted of closed polygons: buildings, grass areas, forests, lakes, etc
- polylines (shapeType_ = 1): non closed polylines as: streets, roads, highways, rivers, canals, train tracks ...- points (shapeType_ = 2): any point features, like: Trees, building entrances, benches, junctions between roads... Store locations: restaurants, bars, pharmacies, post offices...
So basically when you ran the "OSM shapes" component with the shapeType_ = 2, you will get a lot of points. If you would like to get only 3d trees, you run the "OSM 3D" component and it will create 3d trees from only those points which are in fact trees. You can also check which points are trees by looking at the exact location on openstreetmap.org. For example:
Or use the "OSM Search" component which will identify all trees among the points, regardless of whether 3d trees can be created or not.However, when it comes to 3d trees there is a catch:
Sometimes the geometry which Gismo streams from OpenStreetMap.org does not contain a "height" key. Or it does contain it but the value for that key is missing.OpenStreetMap is free editable map database, so anyone with internet access and free registered account on openstreetmap.org can add features (like trees) to the map database. However, regular people sometimes do not have height measuring devices which are needed for specific objects as trees.So "OSM 3D" component will generate 3d trees from only those tree points which contain a valid "height" key.However, a small workaround is to input a domain(range) into the randomHeightRange_ input of "OSM 3D" component (for example the following one: "5 to 10"):
This will result in creation of other 3d trees which do not have defined height, by randomizing their height. randomHeightRange_ input can also be applied to 3d buildings, and it is definitively something I need to write a separate article on.
In the end it may be that nobody mapped the trees in the area you are looking for.
After you map a tree to openstreetmap.org then it will instantly be available to you or any other user of Gismo. I will be adding some tutorials in the future on how this can be done. But probably not in the next couple of weeks.
Let me know if any of this helps, or if I completely misunderstood your issue.…
Added by djordje to Gismo at 3:52am on February 8, 2017
. From the Thermal Comfort Indices component, Comfort Index 11 (TCI-11):MRT = f(Ta, Tground, Rprim, e)
with:- Ta = DryBulbTemperature coming from ImportEPW component- Tground = f(Ta, N) where N comes from totalSkyCover input. Tground influences the long-wave radiation emitted by the ground in the MRT calculation.- Rprim defined as solar radiation absorbed by nude man = f(Kglob, hS1, ac)- ac is the clothingAlbedo in % (bodyCharacteristics input)- I can't find any definition in the code of Kglob and hS1. Could you tell me please what are those values referencered to? --> probably the globalHorizontalRadiation but how?- e = vapour pressure calculated from Ta and Relative Humidity input
Do you agree that in this case the MRT does not depend on these inputs: location, meanRadiantTemperature, dewPointTemperature and wind speed?It does not depend neither on the other bodyCharacteristics like bodyPosture, age, sex, met, activityDuration...?
MRT calculated by the TCI-11 method is the mean radiant temperature of a vector pointing vertically with a sky view factor of 100%?For ParisOrly epw,
2. From the SolarAdjustedTemperature component (that seems to be more used for the UTCI calculation examples on Hydra compared to TCI-11).
In contrast to the TCI-11, this component distinguishes diffuse and direct radiation and contextualizes the calculation thanks to _ContextShading input, right? It can also be applied to a mannequin thanks to the CumSkyMatrix and thus evaluate the dishomogeneity of radiation exposure.This component seems not to consider the influence of vapour pressure on the result --> is it then more precise to put the MRT output (from the TCI) as an input of meanRadTemperature for SolarAdjustedTemperature?The default groundReflectivity is set to 0.25 --> is GroundReflectivity taken into account in the Tground or MRT calculation in the TCI component? If yes, what is the hypothesised groundReflectivity?The default clothing albedo of 37% (TCI-11 bodyCharacteristics) corresponds to Clothing Absorptivity of 63%?
If the CumSkyMatrix input is not supplied, I get 9 results for the mannequin --> where are those points/results coming from?
If the CumSkyMatrix input is supplied,I suppose the calculation of the 482 results correspond to a calculation method similar to the radiation analysis component that is averaged over the analysis period. Right?But I don't understand why the mannequin is composed of 481 faces and meshFaceResult gives 482 results.
Finally, what is the link between the MESH results, the solarAdjustedMRT and the Effective Radiant field ? Is there a paper to have a detailed explanation of the method?
3. Here are some results for the ParisOrly energyplus weather data. You can find here attached the grasshopper definition.There is no shading in this simulation and the result coming from the ThermalComfort indices for MRT is very different compared to the solar adjusted MRT.Why such a big difference and which of the result should be plugged into the UTCI calculation component?
Results for ParisOrly.epwM,D,H:1,1,12
Ta : 6.5°Crh: 100%globalHorizontalRadiation: 54 Wh/m2totalSkyCover: 10MRT (TCI-11): 1.2°C
_CumSkyMtxOrDirNormRad = directNormalRadiation : 0 Wh/m2diffuseHorizontalRad: 54 Wh/m2_meanRadTemp = TasolarAdjustedMRT: 10.64°CMRTDelta: 4.14°C
_CumSkyMtxOrDirNormRad = CumulativeSkyMtxdiffuseHorizontalRad: 54 Wh/m2_meanRadTemp = TasolarAdjustedMRT: 10.47°CMRTDelta: 3.97°C
_CumSkyMtxOrDirNormRad = CumulativeSkyMtxdiffuseHorizontalRad: 54 Wh/m2_meanRadTemp = MRT (TCI-11)solarAdjustedMRT: 5.17°CMRTDelta: 3.97°C
Thanks a lot for your helpRegards,
Aymeric
…