es of the mesh faces as points. Is the component HingePoints reordering the points in any particular manner, i.e. point 1 and point 2 being the opposite corners of the quad faces?
1. Solution exception:Cannot marshal 'parameter #5': Invalid managed/unmanaged type combination (Arrays can only be marshaled as LPArray, ByValArray, or SafeArray).
I have attached the script and a couple of snapshots showing the red component inside the origami cluster.
Aside from this error, I had also noticed that the two last addition components which provide the RestAngle and Strength Values to the Kangaroo Physics component were loosing the '0' value entered as 'A' (they were getting Null instead). I have replaced the manual entry with a panel entry. However, I still cannot get the Kangaroo Physics component to run the simulation (or the forces might be somehow equal to the initial ones, and hence not getting the system to move in any way).
I am out of ideas as to why this might be happening. I had worked with Kangaroo before and really liked it. This origami component is really promising and I would really like to get it to work on my machine.
The grasshopper version I am using is: 0.9.064. Kangaroo is 00.096.
I would be very grateful if you could have a look into it and let me know your thoughts.
Thanks for your help!
Best
Maria
…
l coarse mesh
Subdividing this mesh into strips of thin quads
Relaxing/Planarizing this mesh
Splitting and Unrolling
In this post I deal with the first 2 of these stages.
You can download the example definition here:
developable_strips_tutorial.gh
Drawing the initial mesh
To begin with we need a simple quad mesh. This can be modelled manually in Rhino, and only needs to use enough quads to give the topology and very rough form. No need to worry too much about the exact geometry or dimensions at this point, as we will refine and alter it as we go.
One very important thing that we do need to bear in mind though is that all internal vertices must have even valence (I covered this a bit in the earlier post here).
So for example, this is bad:
(because the highlighted vertex is surrounded by 5 faces)
While this is good (and can still be relaxed to the same shape):
(the top and bottom vertices have valence 8, and the vertices between the arms have valence 4)
With a little practice it should be possible to convert any mesh into one that meets this condition.
The reasons why we need this condition should become more clear in the later steps.
First subdivision
This is where we choose how many strips we want our final model to have, by applying a few rounds of subdivision using the Refine component (you could also use Weaverbird here):
Sorting the face directions
While quad meshes do not carry the same information about u/v directions as a NURBS surface, the individual faces do have a sort of direction given by their vertex ordering. However, these face directions are usually not consistently arranged, especially after subdivision.
The Kangaroo MeshDirection component attempts* to orient all the faces in a mesh so that they match with their neighbours.
For example, before sorting, if we draw a line from the midpoint of the first edge of each face to the midpt of its opposite edge, we might get something like this:
Whereas after sorting, we should get something like this:
*note that I say it attempts to orient the faces consistently. In some cases no valid solution exists, for instance if 3 or 5 faces meet around a vertex, hence the requirement mentioned at the start for even valence vertices.
Directional Subdivision
Now that we have consistent face directions across the mesh, we can apply further subdivision, but this time in one direction only. So we go from roughly square quads to thin rectangles. The idea is that as we apply higher levels of this directional subdivision, the final relaxed result goes towards something semi-discrete. A NURBS surface is fully continuous, and a mesh is fully discrete (made up of separate facets), while this strip model will be smooth in one direction and faceted in the other.
Go to part 2 for the next step of the process
…
y from the Rhino model and having the absorption coefficients of the materials that are entered into Pachyderm, why is it not possible to generate a reverberation time diagram, without the need to start any analysis?
MAPPING METHOD: When for example the mapping of the Strenght Index (G) is generated through the "create map" option, succesively I can´t generate any other energy criterion map, but I have to redo the simulation.
Is it a limitation of the software or am I wrong something?
MAPPING METHOD: I kindly wanted to ask what is the difference between minimum and detailed convergence and why the number of reflections order it takes into account for the simulation is not specified. The mapping method take care only of the Raytracing Method or the Image Source too?
MAPPING METHOD: Why is the mapping value that can be exported to Rhino not generated for all the calculation raster points, but maximal only for 100 values?
MAPPING METHOD: This method hasn't been implemented in Grasshopper yet, has it?
RAYTRACING METHOD (Pach:RT): I did a raytracing through the components of GH, using only the Pach_RT, and I had these curious results in terms of time:
RaysCount: 15.000, IS_Order:1 = 5min
RaysCount: 15.000, IS_Order:2 = 12min
RaysCount: 15.000, IS_Order:3 = 3min
RaysCount: 15.000, IS_Order:4 = 8min
RaysCount: 15.000, IS_Order:5 = 3min
Why a raytracing with only 2 order, is more and more extensive than the 3/4 and 5 order?
ANALYSIS RESULT: Would there be a way to export all the results of a simulation, as is done via Odeon, to a .txt list?
I apologize in advance for asking so many questions, I hope you can find the time to answer,
Yours sincerely from Müller-BBM…
lysis, and large-scale prototyping techniques. The research generated at Summer DLAB has been published in international media and peer-reviewed conference papers.
AA Summer DLAB investigates on the correlations between form, material, and structure through the rigorous implementation of computational methods for design, analysis, and fabrication, coupled with analog modes of physical experimentation. Each cycle of the programme devises custom-made architectural processes through the creation of novel associations between conventional and contemporary design and fabrication techniques. The research culminates in the design and fabrication of a one-to-one scale prototype realized by robotic fabrication techniques.
Prominent Features of the programme:
Teaching team: Summer DLAB tutors are selected from recent graduates / current tutors at the AA and the small student ratio (5:1) allows for personalized tutorials and debates.
Facilities: AA Digital Prototyping Lab (DPL) offers laser cutting, CNC milling, and 3d printing facilities, and 2 KUKA robotic arms.
Computational skills: The toolset of Summer DLAB includes but is not limited to Rhinoceros, Grasshopper and various computational analysis tools.
Theoretical understanding: The dissemination of fundamental design techniques and relevant critical thinking methodologies through theoretical sessions and seminars forms one of the major goals of Summer DLAB.
Professional awareness: Participants ranging from 2nd year students to PhD candidates and full-time professionals experience a highly-focused collaborative educational model which promotes research-based design and making.
Robotic Fabrication: Scaled working models are produced via advanced digital machining tools each year, followed by the fabrication of 1:1 scale prototypes with the use of KUKA KR60 and KR30 robots.
Lecture series: Taking advantage of its unique location, London, Summer DLAB creates a vibrant atmosphere with its intense lecture programme.
Eligibility: The workshop is open to architecture and design students and professionals worldwide.
Accreditation: Participants gain 1 Year AA Visiting Membership and are awarded AA Certificate of Attendance at the successful completion of AA Summer DLAB.
Applications: The AA Visiting School requires a fee of £1950 per participant, which includes a £60 Visiting Membership fee. Discount options for groups are available. Please contact the AA Visiting School Coordinator for more details.
The deadline for applications is 16 July 2018. No portfolio or CV, only requirement is the online application form and fees. The online application can be reached from:
https://www.aaschool.ac.uk/STUDY/ONLINEAPPLICATION/visitingApplication.php?schoolID=537
For inquiries, please contact:
elif.erdine@aaschool.ac.uk (Programme Head)…
lysis, and large-scale prototyping techniques. The research generated at Summer DLAB has been published in international media and peer-reviewed conference papers.
AA Summer DLAB investigates on the correlations between form, material, and structure through the rigorous implementation of computational methods for design, analysis, and fabrication, coupled with analog modes of physical experimentation. Each cycle of the programme devises custom-made architectural processes through the creation of novel associations between conventional and contemporary design and fabrication techniques. The research culminates in the design and fabrication of a one-to-one scale prototype realized by robotic fabrication techniques.
Prominent Features of the programme:
Teaching team: Summer DLAB tutors are selected from recent graduates / current tutors at the AA and the small student ratio (5:1) allows for personalized tutorials and debates.
Facilities: AA Digital Prototyping Lab (DPL) offers laser cutting, CNC milling, and 3d printing facilities, and 2 KUKA robotic arms.
Computational skills: The toolset of Summer DLAB includes but is not limited to Rhinoceros, Grasshopper and various computational analysis tools.
Theoretical understanding: The dissemination of fundamental design techniques and relevant critical thinking methodologies through theoretical sessions and seminars forms one of the major goals of Summer DLAB.
Professional awareness: Participants ranging from 2nd year students to PhD candidates and full-time professionals experience a highly-focused collaborative educational model which promotes research-based design and making.
Robotic Fabrication: Scaled working models are produced via advanced digital machining tools each year, followed by the fabrication of 1:1 scale prototypes with the use of KUKA KR60 and KR30 robots.
Lecture series: Taking advantage of its unique location, London, Summer DLAB creates a vibrant atmosphere with its intense lecture programme.
Eligibility: The workshop is open to architecture and design students and professionals worldwide.
Accreditation: Participants gain 1 Year AA Visiting Membership and are awarded AA Certificate of Attendance at the successful completion of AA Summer DLAB.
Applications: The AA Visiting School requires a fee of £1950 per participant, which includes a £60 Visiting Membership fee. Discount options for groups are available. Please contact the AA Visiting School Coordinator for more details.
The deadline for applications is 08 July 2019. No portfolio or CV, only requirement is the online application form and fees. The online application can be reached from:
https://www.aaschool.ac.uk/STUDY/ONLINEAPPLICATION/visitingApplication.php?schoolID=603
For inquiries, please contact:
elif.erdine@aaschool.ac.uk (Programme Head)
…
Added by elif erdine at 10:16am on February 19, 2019
I have the IES files from the manufacturers. I am able to get the IES files to load and run in Honeybee. However the light levels being produced are low and very localized to the light source. I am trying to determine if it’s some scaling, etc that needs to be modified. Within Honeybee there is a “CandelaMultiplier” which allows me to increase the values, but I don’t want to do it arbitrarily nor am I sure this is truly solving my problem.
If anyone has any insight as to importing IES files into Honeybee and things that need to be factored and considered that would be appreciated. I'm experiencing the situation with other IES files as well.
Thank you!
Screenshots: 1 candela multiplier, 5 candela multiplier, 5 candela multiplier 2 lum web, legend and screenshot of grasshopper interface:
Files attached: SunCentral IES file, Rhino, and Grasshopper
…
o my python component returning null despite running fine in the standalone python editor (i.e.: not through grasshopper).The original python script is as follows:
import randomimport rhinoscriptsyntax as rsrs.EnableRedraw(False)
def placeBuildings(curve, distance): pts=rs.DivideCurveLength(curve,5) counter=0 for myPoint in pts: counter=counter+1 #get the parmeter f current positision param=rs.CurveClosestPoint(curve,myPoint) #get teh tangent of this parameter tangent=rs.CurveTangent(curve,param) #calculate the angle of the tangent angle=rs.Angle((0,0,0),tangent) randomNumber=random.uniform(1,5) heightOfBuilding=random.uniform(4,40) rect=rs.AddRectangle(rs.WorldXYPlane(),randomNumber,2) rs.MoveObject(rect,(0,randomNumber,0)) hull=rs.ExtrudeCurveStraight(rect,(0,0,0),(0,0,heightOfBuilding)) rs.RotateObject(hull,(0,0,0),angle[0]) rs.MoveObject(hull,myPoint) #if counter%4: #rs.AddCircle(myPoint,3) #selection of curve#curveParameter=rs.GetCurveObject("sel curve")#curve=curveParameter[0]
curves=rs.GetCurveObject("select streets",4)distance=rs.GetInteger("distance?",4)for curve in curves: placeBuildings(curve,distance) rs.ReverseCurve(curve) placeBuildings(curve,distance)
When placed in grasshopper it is the following:
import randomimport rhinoscriptsyntax as rs
#randomNumber=random.uniform(1,5)#rs.AddCircle((0,randomNumber,0), 2)
def placeBuildings(curve, distance): pts=rs.DivideCurveLength(curve, 5) counter=0 for myPoint in pts: counter=counter+1 #get the parmeter f current positision param=rs.CurveClosestPoint(curve,myPoint) #get teh tangent of this parameter tangent=rs.CurveTangent(curve,param) #calculate the angle of the tangent angle=rs.Angle((0,0,0),tangent) randomNumber=random.uniform(1,5) heightOfBuilding=random.uniform(4,40) rect=rs.AddRectangle(rs.WorldXYPlane(),randomNumber,2) rs.MoveObject(rect,(0,randomNumber,0)) hull=rs.ExtrudeCurveStraight(rect,(0,0,0),(0,0,heightOfBuilding)) rs.RotateObject(hull,(0,0,0),angle[0]) rs.MoveObject(hull,myPoint)
#selection of curve#curveParameter=rs.GetCurveObject("sel curve")#curve=curveParameter[0]
curves=xdistance=y
for curve in curves: placeBuildings(curve,distance) rs.ReverseCurve(curve) placeBuildings(curve,distance)
I am unsure why there is no error being returned yet I cannot achieve any result other than null. Maybe someone could look at the script and tell me what is going wrong? I'm hoping to solve this before next Thursday so I might be asking for too much.
Much Appreciated.-A…
Added by Adem O'Byrne at 11:45am on October 9, 2014
option, after downloading check if .ghuser files are blocked (right click -> "Properties" and select "Unblock"). Then paste them in File->Special Folders->User Object Folder. You can download the example files from here. They act in similar way, Ladybug Photovoltaics components do: we pick a surface, and get an answer to a question: "How much thermal energy, for a certain number of persons can my roof, building facade... generate if I would populate them with Solar Water Heating collectors"? This information can then be used to cover domestic hot water, space heating or space cooling loads:
Components enable setting specific details of the system, or using simplified ones. They cover analysis of domestic hot water load, final performance of the SWH system, its embodied energy, energy value, consumption, emissions... And finding optimal system and storage size. By Dr. Chengchu Yan and Djordje Spasic, with invaluable support of Dr. Willian Beckman, Dr. Jason M. Keith, Jeff Maguire, Nicolas DiOrio, Niraj Palsule, Sargon George Ishaya and Craig Christensen. Hope you will enjoy using the components! References: 1) Calculation of delivered energy: Solar Engineering of Thermal Processes, John Wiley and Sons, J. Duffie, W. Beckman, 4th ed., 2013. Technical Manual for the SAM Solar Water Heating Model, NREL, N. DiOrio, C. Christensen, J. Burch, A. Dobos, 2014. A simplified method for optimal design of solar water heating systems based on life-cycle energy analysis, Renewable Energy journal, Yan, Wang, Ma, Shi, Vol 74, Feb 2015
2) Domestic hot water load: Modeling patterns of hot water use in households, Ernest Orlando Lawrence Berkeley National Laboratory; Lutz, Liu, McMahon, Dunham, Shown, McGrue; Nov 1996. ASHRAE 2003 Applications Handbook (SI), Chapter 49, Service water heating
3) Mains water temperature Residential alternative calculation method reference manual, California energy commission, June 2013. Development of an Energy Savings Benchmark for All Residential End-Uses, NREL, August 2004. Solar water heating project analysis chapter, Minister of Natural Resources Canada, 2004.
4) Pipe diameters and pump power: Planning & Installing Solar Thermal Systems, Earthscan, 2nd edition
5) Sun postion and POA irradiance, the same as for Ladybug Photovoltaics (Michalsky (1988), diffuse irradiance by Perez (1990), ground reflected irradiance by Liu, Jordan (1963))
6) Optimal system and storage tank size: A simplified method for optimal design of solar water heating systems based on life-cycle energy analysis, Renewable Energy journal, Yan, Wang, Ma, Shi, Vol 74, Feb 2015.…
Here I use one which has been refined with a 5 level subdivision...does it appear ok to you or would you recommend going even smaller? Green nodes are the ones loads act upon.
2) 'Local To Mesh' vs 'Global' vs 'Projected Global'
I am applying a positive wind pressure (0,729 kN/m2) in the direction of global positive y axis.
The façade mesh is 1505 m2, of which 1056 m2 runs parallel to the XZ plane.The wind pressure is 0,729 kN/m2 acting in the positive y direction ---> expected resultant of +/- 1056 x 0,729 = 770 kN.
'Global' gives +1098 kN in positive y direction.
'Global Projected' gives a +770 kN resultant in the positive y direction.
'Local to mesh'...gives -770kN along x axis (parallel to the façade according to ModelView) & -215kN along y axis. This surprised me since 'Local to mesh' is indeed the option to chose according to the manual yet I can't see how a wind load perpendicular to the facade would result in the tower moving in a cross-wind direction. 'Global projected' appears to provide the most logical result.
In view of these results, do you think the mesh remains ill-defined, the tower's shape is the culprit...or my choice of coordinate system for the load? What would you recommend?
Thanks again for your feedback, which is greatly appreciated.
Nathan
…
cript that and I attempted tweaking it for several days but I'm having problems achieving the full idea i had.
Problem 1:
Once I Brep a frame of the original cube, and the hoopsnake starts, it does not always select the right face of the frame, sometimes chooses a face inside rather than the exterior one, therefore not always fitting pieces together nicely. I tried applying a bounding box to each frame and use the face of the bounding box as reference for the hoopsnake mirroring but I couldn't figure it out so i got rid of it. So I'm stuck...
Problem 2:
The other thing, is I'm wondering whether its possible to parametrize some sort of structural principle into the linear growth sequence in order for structure to retain realistic structural integrity. For example, when you start hoopsnake, the cube linearly grows (mirrors itself) towards the selected point(s); if the growth goes up and across, how would I make it reach a structural limit to make it go back down to the floor and back up again and continue? Could even be as simple as "after 5 frames/cubes vertically and across it goes back down and then up again towards the referenced point(s)" or something.
PS. "Reset All" in Hoopsnake before doing anything.
Hope someone can help.
Thanks in advance,
Cesco…