Optimized Solar Louver Project


Hello all,



I am pretty new to the Vasari/Dynamo environment, but coming from the rhino/grasshopper world and using Revit for multiple documentation projects, I am really excited about some of the capabilities of the platform.



I am working on a conceptual project to help brush up on my skills and hopefully implement some new design strategies in my office. My idea is to create a solar optimized facade system. The basic concept is to have vertical louvers on the west/east facades and horizontal louvers on the southern facade. I am thinking that the placement, width and depth can be optimized per solar radiation and interior views.



As a starting point I am currently dividing a baseline curve into a 5’ module and placing a adaptive component to those points. The family contains an extrusion with 3 instance parameters that control width depth and height.



The first problem I have encountered is that the ‘adaptive component by points’ node errors out with the message 'unable to cast type container to type list. I am guessing that its a problem with my adaptive component family but I am unfamiliar with the container nomenclature. Any help on this would be great!




Ill be periodically posting back with progress and questions as I move along. Has anyone seen similar examples that have been previously done/documented that I can study as a reference?


Hope to hear some feedback.



After revisiting a few things I decided to go a slightly different route. Instead of using ACs I decided just to use a generic mass family with 3 instance parameters (width, depth, height). As a first step I think the results are heading in the right direction. Moving forward I am going to try and control the specific instance parameters through Dynamo based on some 'factor' (TBD). For now I will probably just try an attractor point then progress to optimizing them based on solar radiation. I might try to incorporate a rotational element as well.

Thanks for the advice Andreas it definitely got me on the right path. See attached images to for the progress.


Thanks for the advice Andreas. I’ll revisit some of your suggestions and see where I get.


Hello Chris,

how many placement points does your AC have? Because it looks like you're passing a flat list of XYZs to the AC node when it should probably be a list of lists. Have you looked at example 6 in the PDF on the Dynamo wiki? This should tell you a little more about how to format the XYZs input for the AC node. For example, if you had a two-point AC, your list of XYZs should look like this:







and so on...

Also, looking at your definition, I'd say get rid of some nodes - you're converting XYZs to ref points back to XYZs.

BTW: I have previously done what you're trying to achieve with a Python script for the RevitPythonShell. I am currently in the process of porting that Script to Dynamo as an on-and-off weekend project - I'll see if I can speed it up a little. I have already uploaded one necessary component to the Dynamo package manager (look for a package called Parse Solar Radiation CSV), but I still need to tackle some of the other functionality involved as some of it currently is not possible yet with Dynamo's built-in nodes.


Here is a more legible image of the script.