COMPONENT SYSTEMS EXTREMES WEEK7
Grasshopper VB Scripting Primer
Dr Patrick Janssen
vbScript|RhinoScript Revised workshop handout
16th March 2009
This booklet was written for students of the Generative Techniques in Design elective at the Department of Architecture, National University of Singapore. Most of the students had no prior experience with programming, so I have attempted to introduce Grasshopper VB Scripting in a way that is as simple and easy to understand as possible. Note that this is a very broad introduction that necessarily glosses over many of the details. This is just a primer. This is version 1 of this document, and it may continue to evolve. To download the latest version, please go to http://community.nus.edu.sg/ddm . I fact, in this current version, there are still a number of sections labelled as [under construction] – these will be updated soon. The document is based on Rhino3d Version 4 and Grasshopper Version 0.5.0099.
Written and copyrighted by Gelfling '04 aka David Rutten. This handout is free of charge to all. No limitations regarding its use exist. Under no circumstances however may this copyright notice be removed.
Special thanks to: Jess Märtterer for corrections, translations and feedback. Sigrid Brell-Çokcan for initiative and support. Paul Rutten for suggestions, ideas and being wise in many ways.
LIMITED LITERATURE, CONSTANT UPDATES TO GRASSHOPPER COMMUNITY
LEARNING HOW TO MANIPULATE DATA It became obvious that it might be easier to manipulate geometry using inbuilt grasshopper lists rather than VB script. Although the definitions became quite complicated and resulted in a lot of problem solving based on pedantic over-analysis and trial and error.
TRIALING LIMITATIONS + COMPONENTS structural variation through density and geometry
I attempted to develop a 3d structural system, as opposed to surface geometries which were all that was covered by tutorials and sketchy literature.
PLANAR OR NOT PLANAR? A multitude of forseable problems arose while I was experimenting with the initial twisted-box-based component systems. I wanted to be able to cut the model from card so I didnâ€™t want embedded flexibility. There were further joinery and structural issues.
DEVELOPING A BUILDABLE SYSTEM EXPERIMENTS:
I played with enduced opacity by offsetting components with themselves, creating a lattice structure . Initially this was in an attempt to manage boolean operations when finding possible joints, but ultimately it may be of more use as an environmental system. Each component could be offset individually to produce a variable response to variations in wind, solar gain, programmatic pressures, structural need, etc. The idea is to have structure and facade inextricably linked.
I moved towards designing a flat system using triangular curves, as inbuilt grasshopper functionality leaned towards â€œtwisted boxâ€? geometry that distorted the planar nature of a generic component.
FUNCTIONALITY Bridle joints are cut at intersections between x and y components. The lack of a regular plane of intersection produced significant complications in figuring out how to process the joints algorithmically.
TANGIBILITY While working on how to cut the joints and reorient planes for laser cutting I started to think about experienced qualities generated by this kind of repetition of solids and sequential voids.
FINAL MODEL I was limited by what I was able to figure out, as much of this process was completely unguided. Further refinement is necessary to produce a completely flexible structural component system
curve control points
fixed corner points
COMPONENT LOGIC Each component is constructed based on logic from the overall geometry at a specified division point. Curviture is enduced through the addition of a control point and is arbitrary. Corner points are fixed.
curve control points
fixed corner points
ENVELOPE LOGIC The overall shape of the system is governed by control points which can be moved by attractors to regulate geometry. The shape here is completely abstracted, it is used to test the capacity of the system.
macro geometry sourced from envelope
JOINERY LOGIC Currently the system uses bridle joints only for each column of components, due to complications checking for additional intersections in grasshopper. This keeps the definition reasonably fast, and allows for variation in the built structure (tensegrity?)
FUR FURTHER SITE ANALYSIS AND IMAGERY FLIC FLICKR DONAUCITY WEBSITE DON CLIMATE DATA CLIM SCALE MODEL SCA SITE PANORAMA