- Model screenshots
- Original images

π Part 1: Arc-Shaped Wall with Image-Based Color Mapping
π― Design Approach
- Arc Geometry Construction
- Panelization Without PanelQuad Node
- Adaptive Panel Logic
- For Part 1, since the panels are intended to be square, I used the vertical panel count as an input slider and calculated the horizontal count based on arc length to maintain square proportions.
- The adaptive panels (e.g.,
Rect Seamless Panel-4pt
) were placed using the generated quads, enabling modular geometry generation in Revit. - Color Mapping from Image
- I imported an image file and used it as a data sampler.
- The same U and V values used for panel generation were reused to ensure a 1-to-1 mapping between image pixels and panels.
- The color values were assigned to the panels using Dynamoβs color manipulation tools.
I created a curved wall surface using an arc defined by its start point, end point, radius, and center. The arc lies on the XY plane and is extruded vertically to define the wall surface.
Unfortunately, I couldn't find the Lunchbox Panel.PanelQuad
node in my Dynamo setup.
π§ As a workaround, I used a Rectangular Grid of points with the PointAtParameter
and Quad.ByPoints
nodesβan approach I had success with in earlier assignments.
π Parameters Used
Parameter | Description |
π Start Angle | Controls the arc's starting direction |
π End Angle | Controls the arcβs end sweep |
π Radius | Defines arc curvature |
π Vertical Panels | Number of vertical panel rows |
π Flip Options | Enables mirrored or flipped geometries |
π Part 2: Serpentine Wall with Image-Based Height Mapping
π― Design Approach
- Waveform Curve Generation
- Amplitude
- Number of waves
- Total length
- Wall Surface Extrusion
- Panelization with Brick-Like Modules
- U panels =
wall length / 8"
- V panels =
wall height / 4"
- Sampling Image Data for Height
- I imported a new image file and sampled brightness values using the same U and V grid.
- Brightness was translated to height values using
Color.Brightness
, remapped from 0 to 1 into 4β to 36β using a linear interpolation function. - Height-Controlled Panel Generation
A serpentine (S-shaped) base curve was created by modifying a straight line with a sine function, controlled via sliders for:
The base sine curve was extruded in the Z-direction to generate the full 3D wall form. This step follows the same logic as Part 1 but uses different base geometry.
Panels were designed to mimic brick dimensions (4β x 8β). The total wall length and height were used to compute the number of panels in U and V directions:
The sampled and remapped height data was used to extrude adaptive panels with varying thicknessesβcreating a dynamic visual texture.
π Parameters Used
Parameter | Description |
π Wall Length | Total base length of the sine wave |
π Amplitude | Vertical displacement of wave |
π Number of Curves | Number of sine wave repetitions |
π Panel Width | Fixed at 8 inches |
π Panel Height | Fixed at 4 inches |
π Flip Options | Enables mirrored geometry |
π‘ Reflections & Challenges
- π PanelQuad Node Limitation
- π¨ Creative Control with Images
- π§ͺ Parameter Flexibility
A major challenge was the absence of the PanelQuad node, requiring a manual workaround using grid points and quads. This added complexity but deepened my understanding of panel logic in Dynamo.
Using image data for color and height created highly customizable and visually engaging panel systems. The ability to flex slider parameters dynamically provided a great opportunity to explore form and pattern.
I thoroughly tested the flexibility of the design by adjusting the input sliders across multiple scenarios, ensuring consistent performance across wall configurations.