<?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: Help with GDL in Libraries &amp; objects</title>
    <link>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31392#M38071</link>
    <description>&lt;BLOCKQUOTE&gt;Mike, &lt;BR /&gt;
Here's a fully developed solution you might use. I choose to use cutplanes for objects like this...it makes scripting the Prism a little more staighforward. It's not the only way to do it but I find it to be the easiest way to make something like this fully parametric. It also uses the special status codes Peter mentioned. &lt;/BLOCKQUOTE&gt;

Thank you for all the effort you put in.  This small part has been a good exercise to force me to explore the mysteries of GDL &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_eek.gif" style="display : inline;" /&gt;</description>
    <pubDate>Tue, 01 Mar 2005 15:03:31 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2005-03-01T15:03:31Z</dc:date>
    <item>
      <title>Help with GDL</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31389#M38068</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;&lt;R&gt;I am trying to take some rudimentary steps into the world of GDL and was hoping for some advice.  I am working on a rafter tail object that is really quite simple, but I would like it to be fairly flexible.  I started the object by building it in Archicad with the slab tool and saving that as a 3d object.  My problem is with the "sculpted end" of the rafter tail in that I would like the user to be able to change the dimensions of the rafter tail and have the sculpted end change proportionally.  I can figure out how to do this with all parts of the code except that which defines the curve.  The curve seems to be defined with a series of points versus a center point and radius.  It seems like this should be relatively simple, but the solution has eluded me.  I will paste the code below and high light the area that seems to be defining the curve with a series of points.  I am also attaching an image that will help illustrate what I am trying to do.  Thanks in advance for any advice.&lt;BR /&gt;
&lt;BR /&gt;
cPRISM_ mat, mat, mat,&lt;BR /&gt;
            20, 0'-5.5000",&lt;BR /&gt;
        0'-0.0000", 0'-0.0000",     15,&lt;BR /&gt;
        0'-0.0197", 0'-0.0000",     13,&lt;BR /&gt;
        0'-9.0000", 0'-0.0000",     79,&lt;BR /&gt;
        A, 0'-0.0000",     15,&lt;BR /&gt;
        A-B/tan(90-ang), B,     15,&lt;BR /&gt;
        0'-9.0000", B,     79,&lt;BR /&gt;
        0'-4.2500", B,     15,&lt;BR /&gt;
        0'-4.2500", 0'-4.2500",     15,&lt;BR /&gt;
     &lt;B&gt;   0'-3.9875", 0'-4.2500",     79,&lt;BR /&gt;
        0'-3.4706", 0'-4.1588",     79,&lt;BR /&gt;
        0'-2.9773", 0'-3.9793",     79,&lt;BR /&gt;
        0'-2.5227", 0'-3.7168",     79,&lt;BR /&gt;
        0'-2.1206", 0'-3.3794",     79,&lt;BR /&gt;
        0'-1.7832", 0'-2.9773",     79,&lt;BR /&gt;
        0'-1.5207", 0'-2.5227",     79,&lt;BR /&gt;
        0'-1.3412", 0'-2.0294",     79,&lt;BR /&gt;
        0'-1.2500", 0'-1.5125",     79,&lt;/B&gt;&lt;BR /&gt;
        0'-1.2500", 0'-1.2500",     15,&lt;BR /&gt;
        0'-0.0000", 0'-1.2500",     15,&lt;BR /&gt;
        0'-0.0000", 0'-0.0000",     -1&lt;/R&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;IMG src="http://community.graphisoft.com/t5/image/serverpage/image-id/73512i515FCF05BBD8D305/image-size/large?v=v2&amp;amp;px=999" border="0" alt="rafter tail.jpg" title="rafter tail.jpg" /&gt;</description>
      <pubDate>Mon, 28 Feb 2005 18:27:20 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31389#M38068</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-02-28T18:27:20Z</dc:date>
    </item>
    <item>
      <title>Re: Help with GDL</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31390#M38069</link>
      <description>Mike,&lt;BR /&gt;
Since three dimensional elements are always auto-scripted as&lt;BR /&gt;
polygonal shapes, you should try drawing the shape using&lt;BR /&gt;
lines and arcs then save as GDL object or drag and drop&lt;BR /&gt;
the drawing into a 2D script. &lt;BR /&gt;
&lt;BR /&gt;
AC will auto-script 2D elements using "additional status codes" (see manual).&lt;BR /&gt;
These status codes make arcs instead of segmented approximations&lt;BR /&gt;
of arcs. &lt;BR /&gt;
&lt;BR /&gt;
Use the 2D code as the bases for the three dimensional CPRISM command &lt;BR /&gt;
by substituting the coordinates from the 2D code in the CPRISM command&lt;BR /&gt;
and correcting the code appropriately for the CPRISM.&lt;BR /&gt;
&lt;BR /&gt;
HTH,&lt;BR /&gt;
Peter Devlin</description>
      <pubDate>Mon, 28 Feb 2005 19:11:22 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31390#M38069</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-02-28T19:11:22Z</dc:date>
    </item>
    <item>
      <title>Re: Help with GDL</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31391#M38070</link>
      <description>&lt;BLOCKQUOTE&gt;Mike wrote:&lt;BR /&gt;  I can figure out how to do this with all parts of the code except that which defines the curve.  The curve seems to be defined with a series of points versus a center point and radius.  It seems like this should be relatively simple, but the solution has eluded me...
&lt;/BLOCKQUOTE&gt;

Mike,&lt;BR /&gt;
Here's a fully developed solution you might use. I choose to use cutplanes for objects like this...it makes scripting the Prism a little more staighforward. It's not the only way to do it but I find it to be the easiest way to make something like this fully parametric. It also uses the special status codes Peter mentioned.&lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;2dScript:&lt;/B&gt;&lt;BR /&gt;
&lt;FONT color="#0012ff"&gt;project2 2,270,1&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;3Dscript:&lt;/B&gt;&lt;BR /&gt;
&lt;FONT color="#0012ff"&gt;aa=a/cos(ang)&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
!!!ESTABLISHES THE CUTPLANE!!!&lt;BR /&gt;
&lt;FONT color="#0012ff"&gt;rotz 90 		!!!ROTATES THE CUTPLANE&lt;BR /&gt;
cutplane -90	!!!SETS THE CUTPLANE&lt;BR /&gt;
del 1 			!!!DELETES THE CUTPLANE ROTATION&lt;BR /&gt;
&lt;BR /&gt;
!!!ROTATES THE PRISM!!!&lt;BR /&gt;
addy b/2 	!!!SETS PRISM THICKNESS TO CENTERLINE&lt;BR /&gt;
rotx 90&lt;BR /&gt;
rotz -ang&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
cPRISM_ mat, mat, mat, &lt;BR /&gt;
10, b, &lt;BR /&gt;
0,0, 15, &lt;BR /&gt;
0,-rd,15,&lt;BR /&gt;
aa-cr-offs,-rd,15,&lt;BR /&gt;
aa-cr-offs,-rd+((rd-cr)/2),15,&lt;BR /&gt;
aa-cr-offs,-rd+cr+((rd-cr)/2),900, 	!!!SETS THE CENTERPOINT&lt;BR /&gt;
aa-offs,-rd+cr+((rd-cr)/2),3000, 	!!!SETS THE FINAL POINT ON RADIUS&lt;BR /&gt;
aa-offs,-rd+cr+((rd-cr)/2),15,&lt;BR /&gt;
aa,-rd+cr+((rd-cr)/2),15,&lt;BR /&gt;
aa,0,15,&lt;BR /&gt;
0,0,1&lt;BR /&gt;
&lt;BR /&gt;
cutend			!!!CUTS W/ THE CUTPLANE&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
See the attached image for more info about the parameters&lt;BR /&gt;
&lt;BR /&gt;
Hope it helps,&lt;BR /&gt;
Dan K</description>
      <pubDate>Mon, 28 Feb 2005 23:22:40 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31391#M38070</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-02-28T23:22:40Z</dc:date>
    </item>
    <item>
      <title>Re: Help with GDL</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31392#M38071</link>
      <description>&lt;BLOCKQUOTE&gt;Mike, &lt;BR /&gt;
Here's a fully developed solution you might use. I choose to use cutplanes for objects like this...it makes scripting the Prism a little more staighforward. It's not the only way to do it but I find it to be the easiest way to make something like this fully parametric. It also uses the special status codes Peter mentioned. &lt;/BLOCKQUOTE&gt;

Thank you for all the effort you put in.  This small part has been a good exercise to force me to explore the mysteries of GDL &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_eek.gif" style="display : inline;" /&gt;</description>
      <pubDate>Tue, 01 Mar 2005 15:03:31 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31392#M38071</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-03-01T15:03:31Z</dc:date>
    </item>
    <item>
      <title>Re: Help with GDL</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31393#M38072</link>
      <description>&lt;BLOCKQUOTE&gt;Mike wrote:&lt;BR /&gt;
Thank you for all the effort you put in.  This small part has been a good exercise to force me to explore the mysteries of GDL &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_eek.gif" style="display : inline;" /&gt;&lt;/BLOCKQUOTE&gt;

Mike,&lt;BR /&gt;
you're very welcome...I'm happy to do it - GDL was a little painful for me at first and I appreciated all the advice I could get.&lt;BR /&gt;
&lt;BR /&gt;
If you successful with the script example thus far its a pretty easy exercise to make the part stretchable to repeat the rafters. So many possibilities in GDL !- welcome to the real power of ArchiCAD!!!&lt;BR /&gt;
&lt;BR /&gt;
Dan K</description>
      <pubDate>Tue, 01 Mar 2005 17:30:52 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Help-with-GDL/m-p/31393#M38072</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-03-01T17:30:52Z</dc:date>
    </item>
  </channel>
</rss>

