ALISTICO. Ciascun modulo si svolgerà nell’arco di due giornate e si potrà scegliere se partecipare ad entrambi i moduli o altrimenti solo all’uno o all’altro.
In questo corso si insegneranno nuove tecniche di modellazione parametrica attraverso l'utilizzo di Grasshopper, rivoluzionaria plug-in di Rhinoceros. Grasshopper permette di esprimere al massimo le qualità e le potenzialità della modellazione Nurbs, abbandonando in parte l'interfaccia classica di Rhinoceros. Quest'ultimo infatti viene sostituito da un menù a tendine nel quale vengono collezionati nodi utili alla composizione di algoritmi risolutivi.
La plug-in Grasshopper, dimostra come il linguaggio del computer stia diventando un reale strumento progettuale.GRASSHOPPER-BASE - 8 oreil giorno 09/05/2013 dalle 10.00 alle 19.00
Nella prima parte del corso si insegneranno i metodi di esplicitazione degli algoritmi, applicati ad esercizi base utili alla comprensione del software. In queste ore si illustreranno, attraverso fasi operative, i seguenti argomenti:
Suddivisione degli algoritmi in parametri e componenti;
Tipologie di dati compatibili con Grasshopper e loro combinazione creando definizioni minime;
Funzioni matematiche e logiche
Data flow, liste e filtri di esclusione.
Costruzione di curve e superfici e loro trasformazione.
Scadenza preiscrizione per Grasshopper - BASE : 06/05GRASSHOPPER-SPECIALISTICO - 8 oreil giorno 10/05/2013 dalle 10.00 alle 19.00
Nella seconda parte del corso lo strumento viene specializzato affrontando editing e trasformazioni complesse sulle superfici:
Elaborazione delle superficie di suddivisione;
Tassellazione spaziale di superfici a doppia curvatura;
Gestione di parametri variabili per la progettazione di definizioni finalizzate al controllo del movimento;
Ideazione di algoritmi per il passaggio dal modello digitale al modello reale attraverso la tecnica dello sliceing.
Scadenza preiscrizione per Grasshopper - SPECIALISTICO : 07/05
Destinatari
Il corso è rivolto a tutti gli studenti universitari e professionisti che hanno una buona conoscenza delle tecniche di modellazione NURBS.
Prerequisiti
I partecipanti dovranno venire al corso muniti di proprio laptop e con software Rhinoceros perfettamente funzionanti.Alla fine del corso, verrà rilasciato l’attestato di partecipazione ad un corso di Rhinoceros qualificato certificato dalla casa sviluppatrice McNeel, valido anche per la richiesta di crediti formativi universitari.
Docente del corso
Il corso sarà tenuto da un docente qualificato, esperto in disegno e rappresentazione dell' architettura e del design:
Michele Calvano| _architetto, dottore di ricerca in rappresentazione architettonica specializzato nella modellazione matematica (Nurbs) e modellazione parametrica.
Docente ART (Autorized Rhino Trainer) - [vedi CV]
…
r actually re-triangulates it so maybe that's not as good as a quad mesh modeler like ZBrush.
Setting my array size to 316X316 to afford 100K boxes takes a couple minutes for Grasshopper to output, then the script export takes under a minute for a 28MB file that Meshmixer opens right up:
However, with the mesh *joined* as one formal mesh, Grasshopper can bake it to Rhino in a split second, so maybe the problem is solved? If I bake before joining, it still works in only a few seconds but Rhino slows way down even though I have a thousand dollar graphics card made for CAD. Rhino can also open the OBJ file relatively quickly and then the interface is quite fast, but the missing vertex normals may give less uniform shading?
For smallest file size and slow down, ensure you are not getting triangulated meshes for your simple box forms. Get them to be quads. I grabbed vertex points and used Convex Hull to do that. That won't work on your L shaped beams though.
…
truss right?
2. Trusses are NOT made via lines ... they are made by real-life components like balls, rods and other mysterious (and maybe ominous, he he) paraphernalia.Good news for you: lot's of C# stuff around me that do that (but they are not exactly "entry-level").
3. PRIOR talking to ANY FEA/FIM thingy you need to address clash situations: I mean IF a given node is doable or not (because lines they don't rise clash issues ... but rods/struts/tubes/cones do). Good news for you: lot's of C# stuff around me that do that (but they are not exactly "entry-level").
4. Then you have to use some real-life (or at least some "realistic") components like the ones found in, say, a classic MERO "ball" system (and especially the adapter cones between the balls and the tubes). Or at least "some" of them that outline a "realistic" truss.Good news for you: see above.
5. Then you could validate the whole structure AND the parts VS structural loads: I mean there's absolutely no meaning "doing the whole" without taking into account the load bearing capability of the parts. For instance, say, what happens if the geometry (i.e. the topology) is "capable" but a given bolt is weak? That sort of stuff.
6. Now ... this is Academic ... but following the "abstract" way (I don't care about bolts because I'm a student)... this could teach you the entirely wrong way to use FEA/FIM for validating any structural ability of ... anything. And besides FEA/FIM is used for making the damn thing in the real-world ... and that involves (unfortunately) "some" bolts and nuts.
I can arrange a (rather long) Skype session for a demo of all the above ... but first I strongly advise to post here a finished thing (in terms of 3d component geometry) ... and THEN we can examine the whole strategy: what to export, how and especially what could be an "interactive" (both ways) protocol/strategy in order to give the green light for that truss.
BTW: Kangaroo is a physics engine and as such it's used as an abstract "shape" finder. I have no idea what Karamba does ... but always have in mind: BIM things ... are BIM things (meaning that without a serious BIM umbrella ... don't go out when it rains).…
ulio´s latest bakeAttribute, so it also sets a specified layercolor?
Thanks,
Phillip
Reply by Giulio Piacentino 1 hour ago
Hi Phillip
if possible, you should try to modify layer colors independently from baking. A layer can have only one color, but many objects.
To modify a layer color, use something along these lines:
if(!string.IsNullOrEmpty(layer) && !color.IsEmpty) { int n = RhinoDoc.ActiveDoc.Layers.Find(layer, true); if(n < 0) return; Rhino.DocObjects.Layer l = RhinoDoc.ActiveDoc.Layers[n]; l.Color = color; A = l.CommitChanges(); }
Can I also ask you to start a new discussion next time? I hope this helps,
- Giulio
…
len , I lost all of my work (at least the 3d modeling)
And I frankly if I want to participate I´ll need to finnish up the board and i cant do the renders on my own I need more time , but I only have until 11:59 pm of July 6 to finnish up one render, if you feel up to the challenge, whoever completes it will receive 290 dollars (its all I can give) to any account you want. I basically need one single image.
It consists on 3 towers, with an organic facade, I'm including the competition board I had saved on in my dropbox, I want more or less the same perspective shown on the left of the board.
Sorry, but i'm desperate, I had it all done but well cant control everything in life i guess, only do it if you feel you can pull off a professional render.
Thanks. (contact me and I´ll give you more info on the towers, I was able to save some limited sections and floor plans .... but yeah.. limited, so you´ll have to base your work on the images I provide here.
I can give some files now, including images of the physical model.
Board: http://i.minus.com/idYpFK844DWns.jpg
Physical model: http://imgur.com/a/PywJa
Hope its enough, I'm also including one image i had where I explored the footprints of all the buildings, but its just for reference.
I know theres barely enough time to finnish it... but I dont know what else to do, do you guys think i should probably just take a good photograph of the model and run with that? I feel that would probably look very unprofessional :l but I really dont have a choice here
…
w how. Thanks for that. Now I do have some questions.
1. I am using the area weight tool. I am first calculating the volume of the form. I then multiply that value by it's density. So for concrete I am using 2400 kg/m^3 x volume. I then divided that number by the area of the membrane that is supporting the mass. This gives me my area weight. It seems to be working well but I want to verify that this is the correct workflow. I also want to verify that gravity would be turned off since I am thinking it is already calculated within the weight component.
2. I am finding that the new triangular element tool works much better than trying to use EA/L as input for the springs from mesh. Even when I set the timestep, subiteration, and drag I still have issues with getting very stiff materials to work. On the new finite elements tool I wanted to verify that E was in pascals. I also wanted to ask if I use imperial units can psi be entered. Now from what I am seeing the materials are deforming more than expected and to get less deformation and stretch in the mesh area I am finding the E value needs to be increased more than the true material values. Often I am raising E by a multiple of 10 or 100.
I am going to describe my problem and I will gladly share the definition if you'd prefer looking it over but basically I have an inflated membrane at a certain pressure made of a particular material. I then have a certain volume of concrete on top of the inflated membrane. My goal is to review the displacements as the concrete is applied over the membrane and find the proper pressures to apply to keep it free from deformation. I am including a picture from a project that we used kangaroo on and attempted to deal with such issues. It was a class sponsored by Cloud9 architecture held at Art Center College of Design where I was one of the instructors. Hopefully this illustrates the problem. To summarize any example file that shows the best way to implement real material properties and unit based forces would be a helpful reference and would be greatly appreciated.
…
rring to the above image)
Area
effective
effective
Second
Elastic
Elastic
Plastic
Radius
Second
Elastic
Plastic
Radius
of
Vy shear
Vz shear
Moment
Modulus
Modulus
Modulus
of
Moment
Modulus
Modulus
of
Section
Area
Area
of Area
upper
lower
Gyration
of Area
Gyration
(strong axis)
(strong axis)
(strong axis)
(strong axis)
(strong axis)
(weak axis)
(weak axis)
(weak axis)
(weak axis)
A
Ay
Az
Iy
Wy
Wy
Wply
i_y
Iz
Wz
Wplz
i_z
cm2
cm2
cm2
cm4
cm3
cm3
cm3
cm
cm4
cm3
cm3
cm
I have a very similar table which I could import to the Karamba table. But I have i_v or i_u values as well as radius of inertia for instance.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
dimensjon
Masse
Areal
akse
Ix
Wpx
ix
akse
Iy
Wpy
iy
akse
Iv
Wpv
iv
Width
Thickness
Radius R
[kg/m]
[mm2]
[mm4]
[mm3]
[mm]
[mm4]
[mm3]
[mm]
[mm4]
[mm3]
[mm]
[mm]
[mm]
[mm]
L 20x3
0.89
113
x-x
4,000
290
5.9
y-y
4,000
290
5.9
v-v
1,700
200
3.9
20
3
4
L 20x4
1.15
146
x-x
5,000
360
5.8
y-y
5,000
360
5.8
v-v
2,200
240
3.8
20
4
4
L 25x3
1.12
143
x-x
8,200
460
7.6
y-y
8,200
460
7.6
v-v
3,400
330
4.9
25
3
4
L 25x4
1.46
186
x-x
10,300
590
7.4
y-y
10,300
590
7.4
v-v
4,300
400
4.8
25
4
4
L 30x3
1.37
175
x-x
14,600
680
9.1
y-y
14,600
680
9.1
v-v
6,100
510
5.9
30
3
5
L 30x4
1.79
228
x-x
18,400
870
9.0
y-y
18,400
870
9.0
v-v
7,700
620
5.8
30
4
5
L 36x3
1.66
211
x-x
25,800
990
11.1
y-y
25,800
990
11.1
v-v
10,700
760
7.1
36
3
5
L 36x4
2.16
276
x-x
32,900
1,280
10.9
y-y
32,900
1,280
10.9
v-v
13,700
930
7.0
36
4
5
L 36x5
2.65
338
x-x
39,500
1,560
10.8
y-y
39,500
1,560
10.8
v-v
16,500
1,090
7.0
36
5
5
I have diagonals (bracings) which can buckle in these "non-regular" directions too, and they do. If I could add those values then in the Karamba model I could assign specific buckling scenarios..... I can see another challenge which will be at the ModifyElement component, I will not be able to choose these buckling lengths, in these directions.
Do you think this functionality can be added within short, or should I try to find another way to model these members?
Br, Balazs
…
t defined from the discussion of radiation exchange between urban surfaces and the sky in urban heat island research (See Oke's literature list below). It will be affected by the proportion of sky visible from a given calculation point on a surface (vertical or horizontal) as a result of the obstruction of urban geometry, but it is not entirely associated with the solid angle subtended by the visible sky patch/patches.
So, I think using "geometry way" to approximate Sky View Factor is not correct. Sky View Factor calculation shall be based on the first principle defining the concept: radiation exchange between urban surface and sky hemisphere:
(image extracted from Johnson, G. T., & Watson, 1984)
Therefore, I always refer to the following "theoretical" Sky View Factors calculated at the centre of an infinitely long street canyon with different Height-to-width ratios in Oke's original paper (1981) as the ultimate benchmark to validate different methods to calculate SVF:
So, I agree with Compagnon (2004) on the method he used to calculate SVF: a simple radiation (or illuminance) simulation using a uniform sky.
The following images are the results of the workflow I built in the procedural modeling software Houdini (using its python library) according to this principle by calling Radiance to do the simulation and calculation, and the SVF values calculated for different canyon H/W ratios (shown at the bottom of each image) are very close to the values shown in Oke's paper.
H/W=0.25, SVF=0.895
H/W=1, SVF=0.447
H/W=2, SVF=0.246
It seems that the Sky View Factor calculated from the viewAnalysis component in Ladybug is not aligned with Oke's result for a given H/W ration: (GH file attached)
According to the definition shown in this component, I assume the value calculated is the percentage of visible sky which is a geometric calculation (shooting evenly distributed rays from sensor point to the sky and calculate the ratio of rays not blocked by urban geometry?), i.e solid angle subtended by visible sky patches, and it is not aligned with the original radiation exchange definition of Sky View Factor.
I'd suggest to call this geometrically calculated ratio of visible sky "Sky Exposure Factor" which is "true" to its definition and way of calculation (see the paper on Sky Exposure Factor below) so as to avoid confusion with "The Sky View Factor based on radiation exchange" as discussed in urban climate literature.
Appreciate your comments and advice!
References:
SVF: definition based on first principle
Oke, T. R. (1981). Canyon geometry and the nocturnal urban heat island: comparison of scale model and field observations. Journal of Climatology, 1(3), 237-254.
Oke, T. R. (1987). Boundary layer climates (2nd ed.). London ; New York: Methuen.
Johnson, G. T., & Watson, I. D. (1984). The Determination of View-Factors in Urban Canyons. Journal of American Meteorological Society, 23, 329-335.
Watson, I. D., & Johnson, G. T. (1987). Graphical estimation of sky view-factors in urban environments. INTERNATIONAL JOURNAL OF CLIMATOLOGY, 7(2), 193-197. doi: 10.1002/joc.3370070210
Papers on SVF calculation:
Brown, M. J., Grimmond, S., & Ratti, C. (2001). Comparison of Methodologies for Computing Sky View Factor in Urban Environments. Los Alamos, New Mexico, USA: Los Alamos National Laboratory.
SVF calculation based on first principle:
Compagnon, R. (2004). Solar and daylight availability in the urban fabric. Energy and Buildings, 36(4), 321-328.
paper on Sky Exposure Factor:
Zhang, J., Heng, C. K., Malone-Lee, L. C., Hii, D. J. C., Janssen, P., Leung, K. S., & Tan, B. K. (2012). Evaluating environmental implications of density: A comparative case study on the relationship between density, urban block typology and sky exposure. Automation in Construction, 22, 90-101. doi: 10.1016/j.autcon.2011.06.011
…
d the ObjectName of a selected set of objects from a Rhino model in CSV format.
2) Opened this in Excel, Column-A contains the GUID, Column-B contains ObjectNames.
3) Modified and revised the ObjectNames in Excel.
4) Using another GH-solution, Wrote a VB script to push this modified data back into the model. However after baking, the objectName is not getting updated.
Though the solutions do not show any runtime errors, after baking, the ObjectNames are not updated. However, if I try selecting the object using:
obj.Select < - this gives an error
--------------------------------------------------------
Here is the code to my GH-solution (see attached image)
WriteToXL module:
------------------------------------------------------------------------------
Private Sub RunScript(ByVal id As Object, ByRef mName As Object, ByRef GUID As Object, ByRef A As Object) Dim obj As Rhino.DocObjects.RhinoObject = doc.Objects.Find(id)'Dim A As StringDim mP1(2) As DoubleDim mP2(2) As DoubleDim mCurve As Rhino.DocObjects.CurveObjectIf obj Is Nothing ThenmName = "Obj not found"ElseIf obj.ObjectType = Rhino.DocObjects.ObjectType.Curve ThenmCurve = objmP1(0) = mcurve.CurveGeometry.PointAtStart.XmP1(1) = mcurve.CurveGeometry.PointAtStart.YmP1(2) = mcurve.CurveGeometry.PointAtStart.Zmp2(0) = mcurve.CurveGeometry.PointAtEnd.Xmp2(1) = mcurve.CurveGeometry.PointAtEnd.Ymp2(2) = mcurve.CurveGeometry.PointAtEnd.ZEnd IfmName = CType(obj.Name, String)GUID = obj.idA = GUID.ToString & ", " & CStr(mName) & ", " & mp1(0) & ", " & mp1(1) & ", " & mp1(2) & ", " & mp2(0) & ", " & mp2(1) & ", " & mp2(2)End IfEnd Sub -------------------------------------------------------
ReadFromXL module:
-------------------------------------------------------
Private Sub RunScript(ByVal activate As Object, ByRef A As Object, ByRef B As Object, ByRef C As Object) If activate = True Then Dim XLApp As Object Dim XLSheet As Object
xlApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application") Dim strSheet As String = "ObjectName+GUID" XLSheet = xlApp.Worksheets(strSheet)
Dim strGUIDColumn As String = "A" Dim strObjectNameColumn As String = "L"
Dim iRow As Int16 Dim nRows As Int16 = XLSheet.usedrange.rows.count Dim obj As Rhino.DocObjects.RhinoObject ReDim B(nRows - 1) ReDim C(nRows - 1) ReDim A(nRows - 1) For iRow = 1 To nRows
Dim strGUID As String = XLSheet.Range(strGUIDColumn & iRow).Value Dim objGUID As Guid = New System.Guid(strGUID) Dim strObjectName As String = XLSheet.Range(strObjectNameColumn & iRow).Value obj = doc.Objects.Find(objGUID) obj.Attributes.Name = strObjectName B(iRow - 1) = objGUID C(iRow - 1) = obj.Attributes.Name A(iRow - 1) = obj Next
End If
End Sub
----------------------------------------------------------------…