<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Coding the Form: From Grasshopper to GDL in Parametric design</title>
    <link>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/675418#M2212</link>
    <description>&lt;P&gt;&lt;STRONG&gt;2. THE XFORM&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_0-1756807252202.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91502i6C205DF820283AC2/image-dimensions/800x504?v=v2" width="800" height="504" role="button" title="RhinoX_0-1756807252202.png" alt="RhinoX_0-1756807252202.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_1-1756807277542.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91503i58703FA5B4A53B69/image-dimensions/800x506?v=v2" width="800" height="506" role="button" title="RhinoX_1-1756807277542.png" alt="RhinoX_1-1756807277542.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The building façade was designed by Archiradar, featuring panels that can rotate to open at different angles as the sun moves during the day.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The challenging part of this project is that the panels are placed on a curved and twisted surface. This makes it a very interesting project.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_2-1756807330794.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91504i008681082A263855/image-dimensions/800x534?v=v2" width="800" height="534" role="button" title="RhinoX_2-1756807330794.png" alt="RhinoX_2-1756807330794.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_3-1756807348258.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91505i1CB20DE1ADAFA4C6/image-dimensions/799x424?v=v2" width="799" height="424" role="button" title="RhinoX_3-1756807348258.png" alt="RhinoX_3-1756807348258.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;First, create the curved surface using control points, then divide it into panels with UV.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Since the panel corners are not coplanar, you need to optimize them to be coplanar, making it easier to model in GDL.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_4-1756807385179.png" style="width: 361px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91506iC249086138A6C038/image-dimensions/361x97?v=v2" width="361" height="97" role="button" title="RhinoX_4-1756807385179.png" alt="RhinoX_4-1756807385179.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Since most shape-creating commands in GDL are built on the XY plane, we need to align the panel planes with the XY plane in GDL. &lt;/SPAN&gt;&lt;STRONG&gt;XFORM&lt;/STRONG&gt;&lt;SPAN&gt; will help us do that.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You just need to deconstruct each panel’s plane in Grasshopper, then send it into GDL for XFORM to process.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The coordinates of the panels in the Global system are also converted into the Local system for each individual panel.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_5-1756807427965.png" style="width: 801px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91507iDEE6E3B2DE9C2555/image-dimensions/801x373?v=v2" width="801" height="373" role="button" title="RhinoX_5-1756807427965.png" alt="RhinoX_5-1756807427965.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_6-1756807490814.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91508i3418DFAE84FD6D86/image-size/large?v=v2&amp;amp;px=999" role="button" title="RhinoX_6-1756807490814.png" alt="RhinoX_6-1756807490814.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_7-1756807515479.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91509i15DC4258751F985F/image-size/large?v=v2&amp;amp;px=999" role="button" title="RhinoX_7-1756807515479.png" alt="RhinoX_7-1756807515479.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_8-1756807533797.png" style="width: 639px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91510iCE7950E34982AF29/image-dimensions/639x392?v=v2" width="639" height="392" role="button" title="RhinoX_8-1756807533797.png" alt="RhinoX_8-1756807533797.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Once the coordinate system is standardized and you have the 4 corner points, you can easily create the geometry in GDL.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Since some panels are trapezoidal, the best way is to use the &lt;/SPAN&gt;&lt;STRONG&gt;PRISM&lt;/STRONG&gt;&lt;SPAN&gt; command with the converted corner point coordinates.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;XFORM&lt;/STRONG&gt;&lt;SPAN&gt; is a great command and the key point for smoothly converting models from Grasshopper to Archicad through GDL.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 02 Sep 2025 21:41:23 GMT</pubDate>
    <dc:creator>RhinoX</dc:creator>
    <dc:date>2025-09-02T21:41:23Z</dc:date>
    <item>
      <title>Coding the Form: From Grasshopper to GDL</title>
      <link>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/675160#M2211</link>
      <description>&lt;P&gt;Grasshopper and GDL are two powerful tools that bridge the gap between design and BIM. However, learning resources are still quite limited, and often fragmented. In this thread, I will share some of my approaches and workflows so that newcomers can more easily get started.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I use some designs from leading studios as remodeled examples, simply because these projects are too beautiful not to showcase.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1. GRADIENT PANEL&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_0-1756594436117.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91442iA704FF2C2F6A46C0/image-dimensions/800x430?v=v2" width="800" height="430" role="button" title="RhinoX_0-1756594436117.png" alt="RhinoX_0-1756594436117.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P class="lia-align-left"&gt;(Designed by Enzyme APD)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is a stadium designed with triangular panels that shift color in a gradient. The approach can be achieved by creating the panels and gradient in Grasshopper, then bringing them into Archicad as a GDL Object.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_0-1756808162353.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91512i30814800846771F5/image-dimensions/800x433?v=v2" width="800" height="433" role="button" title="RhinoX_0-1756808162353.png" alt="RhinoX_0-1756808162353.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_1-1756594436119.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91441i46AF9CB3C3D495D6/image-dimensions/800x338?v=v2" width="800" height="338" role="button" title="RhinoX_1-1756594436119.png" alt="RhinoX_1-1756594436119.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The corner anchor points are decomposed into x, y, z coordinates, and the RGB colors are separated into r, g, b values before being passed into GDL as arrays.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_2-1756594436121.png" style="width: 801px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91440i36282F079544910F/image-dimensions/801x336?v=v2" width="801" height="336" role="button" title="RhinoX_2-1756594436121.png" alt="RhinoX_2-1756594436121.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_3-1756594436121.png" style="width: 480px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91444i42235C075556173C/image-dimensions/480x301?v=v2" width="480" height="301" role="button" title="RhinoX_3-1756594436121.png" alt="RhinoX_3-1756594436121.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_4-1756594436122.png" style="width: 239px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91443i51CDD11A6D9BF950/image-dimensions/239x104?v=v2" width="239" height="104" role="button" title="RhinoX_4-1756594436122.png" alt="RhinoX_4-1756594436122.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_0-1756594654836.png" style="width: 639px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91445iE58D14F7E3BFF960/image-dimensions/639x376?v=v2" width="639" height="376" role="button" title="RhinoX_0-1756594654836.png" alt="RhinoX_0-1756594654836.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Use GDL to group the decomposed values, apply &lt;/SPAN&gt;&lt;SPAN&gt;DEFINE MATERIAL&lt;/SPAN&gt;&lt;SPAN&gt; for materials, and &lt;/SPAN&gt;&lt;SPAN&gt;PLANE&lt;/SPAN&gt;&lt;SPAN&gt; for geometry generation.&amp;nbsp;Thickness can be added (if needed) by generating the six plane surfaces of the panel.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_0-1756595047670.png" style="width: 801px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91446i0F559F23E942F6E2/image-dimensions/801x422?v=v2" width="801" height="422" role="button" title="RhinoX_0-1756595047670.png" alt="RhinoX_0-1756595047670.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-left"&gt;Materials and colors can be quickly changed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_0-1756806972014.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91500iA6FDA9E080D54D64/image-dimensions/800x505?v=v2" width="800" height="505" role="button" title="RhinoX_0-1756806972014.png" alt="RhinoX_0-1756806972014.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_1-1756807003943.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91501i9C6835FAF05E6693/image-dimensions/800x505?v=v2" width="800" height="505" role="button" title="RhinoX_1-1756807003943.png" alt="RhinoX_1-1756807003943.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You can use this method for mesh models: after running the physics simulation with Kangaroo in Grasshopper, you can simulate the Membrane Structure in Archicad.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" color="grey"&gt;Operating system used: &lt;EM&gt;Windows &lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Sep 2025 21:38:47 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/675160#M2211</guid>
      <dc:creator>RhinoX</dc:creator>
      <dc:date>2025-09-02T21:38:47Z</dc:date>
    </item>
    <item>
      <title>Re: Coding the Form: From Grasshopper to GDL</title>
      <link>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/675418#M2212</link>
      <description>&lt;P&gt;&lt;STRONG&gt;2. THE XFORM&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_0-1756807252202.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91502i6C205DF820283AC2/image-dimensions/800x504?v=v2" width="800" height="504" role="button" title="RhinoX_0-1756807252202.png" alt="RhinoX_0-1756807252202.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_1-1756807277542.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91503i58703FA5B4A53B69/image-dimensions/800x506?v=v2" width="800" height="506" role="button" title="RhinoX_1-1756807277542.png" alt="RhinoX_1-1756807277542.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The building façade was designed by Archiradar, featuring panels that can rotate to open at different angles as the sun moves during the day.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The challenging part of this project is that the panels are placed on a curved and twisted surface. This makes it a very interesting project.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_2-1756807330794.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91504i008681082A263855/image-dimensions/800x534?v=v2" width="800" height="534" role="button" title="RhinoX_2-1756807330794.png" alt="RhinoX_2-1756807330794.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_3-1756807348258.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91505i1CB20DE1ADAFA4C6/image-dimensions/799x424?v=v2" width="799" height="424" role="button" title="RhinoX_3-1756807348258.png" alt="RhinoX_3-1756807348258.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;First, create the curved surface using control points, then divide it into panels with UV.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Since the panel corners are not coplanar, you need to optimize them to be coplanar, making it easier to model in GDL.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_4-1756807385179.png" style="width: 361px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91506iC249086138A6C038/image-dimensions/361x97?v=v2" width="361" height="97" role="button" title="RhinoX_4-1756807385179.png" alt="RhinoX_4-1756807385179.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Since most shape-creating commands in GDL are built on the XY plane, we need to align the panel planes with the XY plane in GDL. &lt;/SPAN&gt;&lt;STRONG&gt;XFORM&lt;/STRONG&gt;&lt;SPAN&gt; will help us do that.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You just need to deconstruct each panel’s plane in Grasshopper, then send it into GDL for XFORM to process.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The coordinates of the panels in the Global system are also converted into the Local system for each individual panel.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_5-1756807427965.png" style="width: 801px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91507iDEE6E3B2DE9C2555/image-dimensions/801x373?v=v2" width="801" height="373" role="button" title="RhinoX_5-1756807427965.png" alt="RhinoX_5-1756807427965.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_6-1756807490814.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91508i3418DFAE84FD6D86/image-size/large?v=v2&amp;amp;px=999" role="button" title="RhinoX_6-1756807490814.png" alt="RhinoX_6-1756807490814.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_7-1756807515479.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91509i15DC4258751F985F/image-size/large?v=v2&amp;amp;px=999" role="button" title="RhinoX_7-1756807515479.png" alt="RhinoX_7-1756807515479.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_8-1756807533797.png" style="width: 639px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91510iCE7950E34982AF29/image-dimensions/639x392?v=v2" width="639" height="392" role="button" title="RhinoX_8-1756807533797.png" alt="RhinoX_8-1756807533797.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Once the coordinate system is standardized and you have the 4 corner points, you can easily create the geometry in GDL.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Since some panels are trapezoidal, the best way is to use the &lt;/SPAN&gt;&lt;STRONG&gt;PRISM&lt;/STRONG&gt;&lt;SPAN&gt; command with the converted corner point coordinates.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;XFORM&lt;/STRONG&gt;&lt;SPAN&gt; is a great command and the key point for smoothly converting models from Grasshopper to Archicad through GDL.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Sep 2025 21:41:23 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/675418#M2212</guid>
      <dc:creator>RhinoX</dc:creator>
      <dc:date>2025-09-02T21:41:23Z</dc:date>
    </item>
    <item>
      <title>Re: Coding the Form: From Grasshopper to GDL</title>
      <link>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/675442#M2213</link>
      <description>&lt;P&gt;&lt;STRONG&gt;3. PUT AND GET&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_0-1756810970329.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91518iFCA45914A1B59EEF/image-dimensions/800x503?v=v2" width="800" height="503" role="button" title="RhinoX_0-1756810970329.png" alt="RhinoX_0-1756810970329.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_1-1756810994566.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91519i8DAD70F88C1C9D3D/image-dimensions/800x499?v=v2" width="800" height="499" role="button" title="RhinoX_1-1756810994566.png" alt="RhinoX_1-1756810994566.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is a case I posted in another topic, but I’m gathering it here and giving a bit of explanation.&lt;/P&gt;
&lt;P&gt;You can use &lt;STRONG&gt;PUT&lt;/STRONG&gt; and &lt;STRONG&gt;GET&lt;/STRONG&gt; to transfer ARRAY values from Grasshopper, which means you can send the entire geometry from Grasshopper into GDL.&lt;/P&gt;
&lt;P&gt;Standardize the plane with XFORM, then use PRISM or EXTRUDE to generate the shape.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_2-1756811046550.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91520i00BEC98AE7B05777/image-dimensions/799x440?v=v2" width="799" height="440" role="button" title="RhinoX_2-1756811046550.png" alt="RhinoX_2-1756811046550.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_3-1756811061051.png" style="width: 801px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91521iA8BF115E3E33E4C8/image-dimensions/801x657?v=v2" width="801" height="657" role="button" title="RhinoX_3-1756811061051.png" alt="RhinoX_3-1756811061051.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_4-1756811131347.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91522iBD9EC1738865C61E/image-dimensions/799x540?v=v2" width="799" height="540" role="button" title="RhinoX_4-1756811131347.png" alt="RhinoX_4-1756811131347.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_5-1756811144347.png" style="width: 640px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91523i0BFB34E83D463C9F/image-dimensions/640x794?v=v2" width="640" height="794" role="button" title="RhinoX_5-1756811144347.png" alt="RhinoX_5-1756811144347.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Use Python to process Grasshopper data so it matches GDL’s format — for example, adding values like &lt;STRONG&gt;15&lt;/STRONG&gt;, &lt;STRONG&gt;-1&lt;/STRONG&gt;, or hole parameters such as &lt;STRONG&gt;900, 4000...&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;After Python processes the values, send them to GDL, then use a &lt;STRONG&gt;LOOP&lt;/STRONG&gt; in GDL with &lt;STRONG&gt;PUT&lt;/STRONG&gt;, and combine it with &lt;STRONG&gt;GET&lt;/STRONG&gt; to generate the desired geometry.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_6-1756811193551.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91524i5FF3FFFEBC039942/image-dimensions/800x501?v=v2" width="800" height="501" role="button" title="RhinoX_6-1756811193551.png" alt="RhinoX_6-1756811193551.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RhinoX_7-1756811205781.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91525iBC471B8B856ACC60/image-dimensions/800x504?v=v2" width="800" height="504" role="button" title="RhinoX_7-1756811205781.png" alt="RhinoX_7-1756811205781.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can customize different hole shapes of the panels according to the geometry created in Grasshopper.&lt;/P&gt;</description>
      <pubDate>Tue, 02 Sep 2025 21:51:25 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/675442#M2213</guid>
      <dc:creator>RhinoX</dc:creator>
      <dc:date>2025-09-02T21:51:25Z</dc:date>
    </item>
    <item>
      <title>Betreff: Coding the Form: From Grasshopper to GDL</title>
      <link>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/677054#M2218</link>
      <description>&lt;P&gt;Hi RhinoX,&lt;/P&gt;
&lt;P&gt;Great work.....just for learning purposes it would be helpful to set the Display in GH to "Draw Full Names". It's easier for Learners to find the used nodes.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Sep 2025 20:39:45 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/677054#M2218</guid>
      <dc:creator>Nurbs</dc:creator>
      <dc:date>2025-09-17T20:39:45Z</dc:date>
    </item>
    <item>
      <title>Re: Coding the Form: From Grasshopper to GDL</title>
      <link>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/677074#M2219</link>
      <description>&lt;P&gt;great work!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Sep 2025 02:12:24 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/677074#M2219</guid>
      <dc:creator>jl_lt</dc:creator>
      <dc:date>2025-09-18T02:12:24Z</dc:date>
    </item>
    <item>
      <title>Betreff: Coding the Form: From Grasshopper to GDL</title>
      <link>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/677730#M2220</link>
      <description>&lt;P&gt;Yes, I will remember. Sometimes I forget to display the full name. But please note: this guide is intended for Grasshopper users who are already familiar with GH. Newbies may find it a bit difficult. The main purpose is to show how to approach GDL from Grasshopper.&lt;/P&gt;</description>
      <pubDate>Wed, 24 Sep 2025 11:28:47 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/677730#M2220</guid>
      <dc:creator>RhinoX</dc:creator>
      <dc:date>2025-09-24T11:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: Coding the Form: From Grasshopper to GDL</title>
      <link>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/678401#M2221</link>
      <description>&lt;P&gt;&lt;STRONG&gt;4. THE TUBE COMMAND&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The TUBE command in GDL is very useful when creating shapes similar to Sweep One Rail, or when generating parametric piping via Grasshopper.&amp;nbsp;The exam project is shown below.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="0.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92565iD91C1FF8F1DC3EA4/image-dimensions/799x412?v=v2" width="799" height="412" role="button" title="0.png" alt="0.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;
&lt;P class="lia-align-center"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-center"&gt;The&amp;nbsp;Sousse and Bardo Memorial designed by George King Architects.&lt;/P&gt;
&lt;P class="lia-align-left"&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="1.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92566i8F11C04765E0F4CF/image-dimensions/799x413?v=v2" width="799" height="413" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="2.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92567i3F2BAEE103728210/image-dimensions/800x455?v=v2" width="800" height="455" role="button" title="2.png" alt="2.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;First, create the geometry and form in Grasshopper. This form is generated using Interpolate Curves and the Pipe component in GH.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="3.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92569i1784B1ED9C4AA45C/image-dimensions/800x427?v=v2" width="800" height="427" role="button" title="3.png" alt="3.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="4.png" style="width: 801px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92568iAB6C560B1F277B88/image-dimensions/801x428?v=v2" width="801" height="428" role="button" title="4.png" alt="4.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="4.1.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92570iDDE670BD95718C3B/image-dimensions/799x423?v=v2" width="799" height="423" role="button" title="4.1.png" alt="4.1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Next, the method is to simply transfer the curve from GH to GDL in order to create the pipe using the TUBE command. For clarity, I isolated one simple example: the path points are taken by dividing the curve. The higher the number of divisions, the more accurate and smooth the result will be.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="5.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92572iF33CDCFF02BE76E2/image-dimensions/799x472?v=v2" width="799" height="472" role="button" title="5.png" alt="5.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="6.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92571iD5171033BDE318AA/image-dimensions/799x628?v=v2" width="799" height="628" role="button" title="6.png" alt="6.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The GH scripts and GDL script use the transform plane method (XForm) that I mentioned earlier.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="7.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92573i62CBE2E4E3432135/image-dimensions/799x394?v=v2" width="799" height="394" role="button" title="7.png" alt="7.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Python script is used to add the status code and to loop the first three points for the TUBE command. Since TUBE requires two dummy points, we need to replace them.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="8.png" style="width: 800px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92574i9C08F957215AB741/image-dimensions/800x445?v=v2" width="800" height="445" role="button" title="8.png" alt="8.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="9.png" style="width: 801px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92575iD5C6252C3C788111/image-dimensions/801x438?v=v2" width="801" height="438" role="button" title="9.png" alt="9.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="10.png" style="width: 801px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92577iCD34CBBF3AC42BB9/image-dimensions/801x432?v=v2" width="801" height="432" role="button" title="10.png" alt="10.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P class="lia-align-left"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-left"&gt;Here we go.&amp;nbsp;We can create the entire pipeline in Archicad using the DataTree from GH, where each pipe is generated as a separate GDL object&lt;/P&gt;
&lt;P class="lia-align-center"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="11.png" style="width: 799px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92578i8752A3EFA07D9BC9/image-dimensions/799x423?v=v2" width="799" height="423" role="button" title="11.png" alt="11.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P class="lia-align-center"&gt;Elevation/ Section View.&lt;/P&gt;</description>
      <pubDate>Wed, 01 Oct 2025 23:23:51 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/678401#M2221</guid>
      <dc:creator>RhinoX</dc:creator>
      <dc:date>2025-10-01T23:23:51Z</dc:date>
    </item>
    <item>
      <title>Re: Coding the Form: From Grasshopper to GDL</title>
      <link>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/679359#M2223</link>
      <description>&lt;P&gt;&lt;STRONG&gt;5.&amp;nbsp; PROFILES&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="1.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92887i6413A92991161711/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="2.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92888iC478758C73A4366A/image-size/large?v=v2&amp;amp;px=999" role="button" title="2.png" alt="2.png" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just sharing a few of my ways to handle profiles in GDL — nothing special, but they help reduce manual work.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="3.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92890iEA37A5C985462FE7/image-size/large?v=v2&amp;amp;px=999" role="button" title="3.png" alt="3.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="4.1.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92901i675C493C64583D5C/image-size/large?v=v2&amp;amp;px=999" role="button" title="4.1.png" alt="4.1.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can transfer any profile curve from Rhino to GDL using a Python script in Grasshopper, as long as the profile consists of &lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;lines and arcs only&lt;/STRONG&gt;&lt;/FONT&gt;. The script formats the data into GDL code, making it easy to &lt;FONT color="#0000FF"&gt;&lt;STRONG&gt;copy directly into your GDL object&lt;/STRONG&gt;&lt;/FONT&gt;.&amp;nbsp;The profile curve must be drawn in the XY plane at the Origin point.&lt;BR /&gt;si is a status code integer controlling the visual; assign its value before the code, e.g. si = 15.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="5.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92892i4ACE880502963CAB/image-size/large?v=v2&amp;amp;px=999" role="button" title="5.png" alt="5.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="6.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92893i8AF1463193E56F42/image-size/large?v=v2&amp;amp;px=999" role="button" title="6.png" alt="6.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="7.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92894i8C8761687109D62B/image-size/large?v=v2&amp;amp;px=999" role="button" title="7.png" alt="7.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The rail path curve was drawn manually in Rhino, then processed with a Python script in Grasshopper to divide it and send the planes to GDL via the Live Connection. All components are created within one Stair object.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The rail shape is controlled directly by the curve in Rhino; just move the curve’s control points to change the form.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="8.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92895i9559EB51E7E6A2F4/image-size/large?v=v2&amp;amp;px=999" role="button" title="8.png" alt="8.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-align-center"&gt;&lt;SPAN&gt;Python script for generating baluster planes.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="9.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92896i307C54262915C418/image-size/large?v=v2&amp;amp;px=999" role="button" title="9.png" alt="9.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="10.png" style="width: 999px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/92897i9ADEA60C46CB495E/image-size/large?v=v2&amp;amp;px=999" role="button" title="10.png" alt="10.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P class="lia-align-center"&gt;&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Stair GDL Script: Balusters&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 12 Oct 2025 23:38:15 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Parametric-design/Coding-the-Form-From-Grasshopper-to-GDL/m-p/679359#M2223</guid>
      <dc:creator>RhinoX</dc:creator>
      <dc:date>2025-10-12T23:38:15Z</dc:date>
    </item>
  </channel>
</rss>

