A S TA N A N AT I O N A L L I B R A R Y FEBRUARY 2010 FA C A D E PA N E L I Z AT I O N S C R I P T T U T O R I A L
FA C A D E PA N E L I Z AT I O N S C R I P T T U T O R I A L
A S TA N A N AT I O N A L L I B R A R Y 2 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
PERFORATING THE ASTANA FACADE WITH A BITMAP, RHINOSCRIPT, AND THE RHPICTURE PLUGIN
A S TA N A N AT I O N A L L I B R A R Y 3 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
F1 & F2
F3 & F4
SRFB-F4-R19-R01 A S TA N A N AT I O N A L L I B R A R Y 4 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
BEFORE YOU START
BEFORE YOU START
LOAD THE RHPICTURE PLUGIN This only needs to be done once per computer. Once the plugin is installed, Rhino will load it automatically. The script calls methods provided by RhPicture and will not run without it installed. RhPicture is available at http://wiki.mcneel.com/developer/rhinoscriptimageextension . I have also placed a copy of it in our project folder P:\09008_ANL_Astana Library\05_ WORKING_3D\05_RHINO\05_07_FACADE\05_07_01_3DSETUP\RhPicture so you don’t have to download it. 1. Copy the RhPicture.rhp file onto your hard drive. (It’s wise to place it in your Rhino plugins directory in case you need to locate or repair it later. The default path is C:\Program Files\Rhinoceros 4.0\Plug-ins ) 2. Start Rhino, type the command PluginManager, and click Install. Then navigate to where you saved RhPicture.rhp and Open it.
That’s it. If for some reason the plugin file gets moved or does not load, just type PluginManager to check its status. Now your computer is ready to run the script.
NEXT: PREPARE IMAGES A S TA N A N AT I O N A L L I B R A R Y 5 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
1 PREPARE THE IMAGES
PREPARE THE IMAGES The facade sketch begins with an image for each major facade surface, Surface A (F1 & F2) and Surface B (F3 & F4). RhPicture will read the common image file formats, like .PNG, .TIFF, .JPEG, etc., but for now make the final reference images .BMP because .BMP doesn’t support compression and what you see in Photoshop is what you’ll get from the script. IMPORTANT! The unrolled surfaces in Rhino are integrated with the Photoshop file, so the positions of both should not change. Use the Photoshop template and the colors in the image will be referenced to the corresponding panel position on the building in 3D. 1. To begin sketching a new option, make a copy of the TESTxx_NAME directory in our P:\09008_ANL_Astana Library\05_WORKING_3D\05_RHINO\05_07_FACADE\05_07_02_TESTS folder and rename it accordingly. “xx” should be renamed the next available number in the folder and “NAME” should describe the test. For example, in this option I’ll try overlaying some very basic Ecotect solar radiation data with a projection of the interior programmatic functions. I’m calling it TEST07-ECOTECT-PROGRAM-BLEND. Please use no spaces in the filenames, and use ALL CAPS when possible. Keeping the filenaming consistent makes everything easier to read and sort through when the exercise is over.
.AI templates located in the ARCHIVE folder
.PSD working file
Final .BMP images, one for each surface, to be referenced by the script
A S TA N A N AT I O N A L L I B R A R Y 6 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
1 PREPARE THE IMAGES
2. If you want to import data from the Illustrator templates (located in the ARCHIVE folder), the best way is to copy the objects you want, plus the frame on the IMAGEBOUNDARY layer, and paste them directly into Photoshop as Pixels, crop to Media Box. IMPORTANT! The frame on the .AI IMAGEBOUNDARY layer should have a stroke of 0, so when you paste the objects into Photoshop they drop right into place. The Illustrator and Photoshop templates are both 2000x3000 pixels, which corresponds to the image frame rectangle in Rhino. Resizing shouldnâ€™t be necessary. Alternatively, you can do your image editing in Illustrator and save the final bitmaps out of there.
A S TA N A N AT I O N A L L I B R A R Y 7 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
1 PREPARE THE IMAGES 3. Sculpt the pixels and blend the image as you wish to map glazing openness into the facade. Right now, our script determines a panel’s hole size by measuring the luminance of the pixel on the image which correponds to the triangle’s centroid. The darker the pixel, the smaller the hole. Dark grays and blacks will produce no holes, while white will produce maximum openness. When you are finished, save an image for Surface A and Surface B as .BMPs called “TESTxx_SurfaceA.BMP” and “TESTxx_SurfaceB.BMP”. Once you see the results of the image when running the script, you’ll probably want to edit the bitmaps until you get a result you like. The ARCHIVE folder is there to hold the old tests. Make sure the .BMPs in the primary folder are the final images that produce the Rhino model.
4. Keep track of what you did to produce the image so it can be documented or reproduced later. Write notes in the TESTxx.TXT file and they’ll be easy to find.
TEST07.TXT NEXT: RUN THE SCRIPT A S TA N A N AT I O N A L L I B R A R Y 8 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
2 RUN THE SCRIPT
RUN THE SCRIPT The script is set up to run eﬃciently without asking the user too many questions. Right now, it produces planar panels made of either three joined surfaces (if it has a window) or one planar surface (if it is closed) in either 2D, 3D, or both. There are a few critical things to note when running the script: - Always read the command line! - The ordering of the surfaces is critical to eﬃcient function and correct results. Leave the input surfaces alone and it should run without problems. (More on this below.) - Because of the amount of panels we’re dealing with, running the script can be RAM-heavy. It’s a good idea to run the script on separate zones of the building at a time so you don’t crash Rhino at its 1.6GB limit. More features than producing just surfaces can be added on or activated. For pattern studies, the way it’s set up now shoulvd be suﬃcient.
1. Open the Rhino file for your test. The layers are set up so it’s easy to panelize certain parts of the building at a time. The base surfaces you’ll select for panelization are in the “USE THESE!” layer set and these MUST be left alone or else you’ll get annoyed very quickly when the script starts panelizing in the wrong order! Make a diﬀerent layer current while running the script. I’ve provided a set called “3D-E-P-xx-TEST-NAME” to keep things organized.
Frame corresponds to the Illustrator and Photoshop templates. LEAVE THIS ALONE.
Run the script with these layers one by one to save time, or whatever’s fastest for you.
Base surfaces. LEAVE THESE ALONE. Just turn the layers on and oﬀ, selecting the surfaces when prompted.
A S TA N A N AT I O N A L L I B R A R Y 9 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
2 RUN THE SCRIPT 2. Find the panelization script in the P:\09008_ANL_Astana Library\05_WORKING_3D\05_ RHINO\05_07_FACADE\05_07_01_3DSETUP folder. Run the script by dragging and dropping the ANL-Facade-Basic-Srf.RVB file onto the Rhino window. The script will automatically load and start running. Remember to read the command line!
Steps in the U (Short Side)(even) <6>: Determines the number of divisions per radial grid bay. The default is 6.
Steps in the V (Long Side) <27>: Determines the number of divisions per radial grid bay. For Surface A (F1 & F2) use: 27 For Surface B (F3 & F4) use: 12
A S TA N A N AT I O N A L L I B R A R Y 10 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
2 RUN THE SCRIPT Select 2D surfaces (if manually selecting, then COUNTERCLOCKWISE): Select the 2D surfaces you want to panelize. This is where the order of the surfaces becomes critical. The panelization algorithm follows the U direction of each surface, so each radial bay connects to the next in the right order. All the base surfaces, both 2D and 3D, have been set up so they have consistent U and V directions and so all in 2D and 3D have been created in Rhino the correct order. This means that you can either: -Select all surfaces at the same time OR -Select particular surfaces to test To start with, try selecting all surfaces from a given layer at the same time. They have been named and color-coded so as to prevent any confusion. The script’s panelization progresses counterclockwise with positive U. If you want to test individual bays, you MUST select them in COUNTERCLOCKWISE fashion. As a guide, I’ve created a layer called “MARKER” for both Surface A and Surface B. This layer should help you see which 2D panels correspond to which 3D panels. The black arrows in 2D show the counterclockwise direction.
Select 2D surfaces first.
A S TA N A N AT I O N A L L I B R A R Y 11 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
2 RUN THE SCRIPT Select 3D surfaces (if manually selecting, then COUNTERCLOCKWISE): Select the 3D surfaces you want to panelize. They must correspond to the 2D surfaces you have already selected. IMPORTANT! If the numbers of 2D and 3D surfaces are not equal, the script will fail! Again, if you want to test individual surfaces, select them in the same counterclockwise order in which you selected the corrersponding 2D surfaces. Use the MARKER layer to help. Otherwise, just select all the 3D surfaces from the same layer as the 2D.
Select 3D surfaces second.
Build 3D, 2D, or Both? <Both> ( 3D 2D Both ): Select what you want to build. You can choose to build either 3D only, 2D only, or both. Both is the default. Choosing either 3D only or 2D only will save memory and the script will complete faster.
Omit end panel holes? <Yes> ( Yes No ): Option to prevent placing a window in the half-sized panels at the corners of the facade. The default is Yes because the thickness of the facade structure, currently estimated at around 600mm, will be too thick to allow a hole in these small panels.
A S TA N A N AT I O N A L L I B R A R Y 12 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
2 RUN THE SCRIPT Minimum panel edge oﬀset <100>: Set the minimum edge depth of each panel. We are currently assuming 100mm minimum for the cassette and underlying structure buildup.
Open an image file: Select the image you want to map onto the facade. You might have to select it twice; this does not aﬀect the script. Once you select the image, the script will run! Rhino will print the actual oﬀset distance for the hole of each fenestrated panel, and once it panelizes all the surfaces you’ve selected, the script exits and you have Rhino geometry. Repeat as necessary to panelize the whole building.
A S TA N A N AT I O N A L L I B R A R Y 13 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
2 RUN THE SCRIPT 3. Troubleshooting the surface ordering is not too painful a task. If for some reason the surfaces get out of order (due to copying, moving, or some other disturbance), you might get results like this.
To feed the script ordered surfaces, you either have to: Select them individually in counterclockwise order OR Re-order them, using this script: P:\09008_ANL_Astana Library\05_WORKING_3D\05_ RHINO\05_07_FACADE\05_07_01_3DSETUP\ANL-Facade-OrderSurfaces.rvb
The re-ordering script just creates a copy of each object in the reverse order in which it was selected. If you need to do this, to essentially reset the base surfaces, follow the command line and select the surfaces for ALL of Surface A or Surface B in order, CLOCKWISE. Do this for both the 2D and 3D objects and the order of the surfaces will be reset.
IMPORTANT! In addition, when saving, closing, then reopening the model file, Rhino reverses the order of all the objects. This has the potential to happen often. To work around this quirk, save the source file as a new name to contain newly created geometry, or just close the file and reopen it. The surfaces will now be in order again.
NEXT: DOCUMENT A S TA N A N AT I O N A L L I B R A R Y 14 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
DOCUMENT Once you’ve made a successful test, document the work in 2D with plots, screenshots, and notes. It doesn’t take very long but each image and remark carries a lot of meaning, especially when comparing diﬀerent tests. We’ll refine exactly what we need for each test soon, but there are already a couple of images that should definitely be included for each:
1. Edit the text file Mark all notes on each test and we can use these to make an informative pin-up series.
2. Save final .BMPs as .PNG Bitmaps are large files, so linking and referencing them for display in InDesign would get unnecessarily heavy. Save .PNG versions of the two final .BMPs in the PLOTS folder.
3. Print final images as an A2-size, white background .PDF You can use the Photoshop template for this by changing the color of the topmost mask for each Surface to white. Also save this in the PLOTS folder.
4. Print 2D panelized surfaces from Rhino as .PDF At the bottom of the Rhino window is a series of tabs called Viewport Tabs. I’ve created one so far called “ImageBoundary_A2” which has an AutoCAD-like viewport set to the unrolled surfaces at 1:500. You can change the viewport display settings in model space through Options > Appearance > Advanced Settings > Shaded and change: -the material color for all objects to Single Color For All Objects (I use gray 155) -the surface Edge Thickness (pixels) to 0 Then print to .PDF from layout space, just like in AutoCAD, and place the images in the PLOTS folder. If you don’t see the tabs, type “ViewportTabs”, then “Show”.
5. Elevations, screenshots, renderings To be determined. Print to .PDF is a good, fast way to extract nice 2D images from the model. These images should go in the RENDERINGS folder.
A S TA N A N AT I O N A L L I B R A R Y 15 28.02.10 FA C A D E PA N E L I Z AT I O N S C R I P T
Script by Andrew Atwood email@example.com
RhPicture by David Rutten http://wiki.mcneel.com/developer/rhpicture/filtermethods
Edited by Armen Menendian for BIG February 28, 2010