I wrote a RhinoScript that generates fenestration panel components in response to solar exposure of the facade. Say you have an envelope that you want to create fenestration for. The workflow is that you mesh your NURBS surface (unless it is already a mesh) to a particular sized quads that will be driving your panels. Then you take this mesh through .3ds or some other extension to Ecotect and run Incident Solar Radiation on it. Then you extract the .csv file with radiation values per each mesh face from Ecotect and resave it in Excel as .xls. Once you've done all that you are all set to run the script. So, the script itself generates watertight panels that are based of mesh quad nodes. You set the offset up and down which ends up being the thickness of your component. The panels work of the top and bottom offset mesh nodes and each component is a loft of two rectangles and top and bottom ellipses. They are all parametrized so you get options to set the ratios. Bu the main thing is that the inside ellipse is driven by the solar radiation value - script samples the values from Excel file and scales it accordingly to wherever this value and this particular mesh face falls into the overall range. Highest exposure - smallest aperture// Lowest exposer largest aperture. Top ellipse always stays has the same ratio, though, based on mesh dimensions that it belongs to. Oh, as you might have noticed Ecotect triangulates those quads that you bring in so you end up having twice as many values as you have mesh faces. The code takes care of that in the sense that it takes two neighboring values and 'means them up' to a new array of values. IT ONLY WORKS FOR QUAD MESHES (and you can tweak that if you want). THE SCRIPT PROMPTS YOU TO LOCATE THE EXCEL FILE IN THE BEGINNING. Also, if you output your excel values make sure you delete all the junk information in the header of the file OR rewrite the script to start reading values from where they begin in the excel file.
I wrote this one a while ago and wanted to share, so maybe it will be useful for somebody. You don't need to keep the same component geometry and if you wish you can recode it for whatever you want. Let me know if you need anything regarding that.



El problema es que si se quiere construir, todos los modulos son diferentes, por lo que el procesos constructivo se vuelve tardado y muy costoso.
ReplyDeleteSin embargo es un buen trabajo de scripting!
tks