<?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: Library object inclusion with CALL command? in Libraries &amp; objects</title>
    <link>https://community.graphisoft.com/t5/Libraries-objects/Library-object-inclusion-with-CALL-command/m-p/90750#M28134</link>
    <description>Hello,&lt;BR /&gt;
&lt;BR /&gt;
Just make new (length) parameters in the main object;&lt;BR /&gt;
leg_x_dim&lt;BR /&gt;
leg_y_dim&lt;BR /&gt;
leg_z_dim&lt;BR /&gt;
&lt;BR /&gt;
and the main object's 3D-code;&lt;BR /&gt;
&lt;BR /&gt;
!--calling lower left leg&lt;BR /&gt;
&lt;FONT color="green"&gt;add -a/2+ leg_x_dim/2, -b/2+leg_y_dim, 0&lt;BR /&gt;
call 'legmacro' parameters a=leg_x_dim, b=leg_y_dim, zzyzx=leg_z_dim&lt;BR /&gt;
del 1&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
!--calling lower right leg&lt;BR /&gt;
&lt;FONT color="green"&gt;add a/2- leg_x_dim/2, -b/2+leg_y_dim, 0&lt;BR /&gt;
call 'legmacro' parameters a=leg_x_dim, b=leg_y_dim, zzyzx=leg_z_dim&lt;BR /&gt;
del 1&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
In the 'legmacro.gsm' you have 3D-code;&lt;BR /&gt;
&lt;BR /&gt;
&lt;FONT color="green"&gt;add -a/2, -b/2, 0  !&amp;lt;--movement to centralize the leg&lt;BR /&gt;
block a, b, zzyzx&lt;BR /&gt;
del 1&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
!--the leg dimensions can be hard coded too -&amp;gt; so no need to make parameters 'leg_x_dim' , etc.&lt;BR /&gt;
&lt;FONT color="green"&gt;&lt;BR /&gt;
call 'legmacro' parameters a=0.03, b= 0.04, zzyzx=0.7&lt;BR /&gt;
&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
The point here is to have parameters of same name and type when transferring data; here A, B, ZZYZX.&lt;BR /&gt;
&lt;BR /&gt;
You could also;&lt;BR /&gt;
&lt;FONT color="green"&gt;&lt;BR /&gt;
call 'legmacro' parameters&lt;BR /&gt;
&lt;/FONT&gt;&lt;BR /&gt;
In this case the leg has the macro's default dimensions.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Hope this helps.</description>
    <pubDate>Thu, 08 May 2008 09:07:12 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2008-05-08T09:07:12Z</dc:date>
    <item>
      <title>Library object inclusion with CALL command?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Library-object-inclusion-with-CALL-command/m-p/90749#M28133</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;&lt;T&gt;Dear GDLers,&lt;BR /&gt;
&lt;BR /&gt;
I have created my first HelloGDL parametric table. However, instead of the BLOCKs I used as chairs (that are parametrically laid out around the table) I would like to use one of the many chairs from the built in library.&lt;BR /&gt;
&lt;BR /&gt;
I could certainly copy the Script from the chair in mind from the library into my script and call a subroutine or s.th. but I am convinced there is a more ellegant way than this.&lt;BR /&gt;
&lt;BR /&gt;
I guess the CALL command is a potential candidate, but I could not figure out how to use it properly .&lt;BR /&gt;
&lt;BR /&gt;
I was not able to retrieve anything after browsing the docs.&lt;BR /&gt;
&lt;BR /&gt;
Has somebody a small example for me?&lt;BR /&gt;
&lt;BR /&gt;
Thanks a lot in advance&lt;BR /&gt;
Jakob&lt;/T&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 08 May 2008 08:27:59 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Library-object-inclusion-with-CALL-command/m-p/90749#M28133</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2008-05-08T08:27:59Z</dc:date>
    </item>
    <item>
      <title>Re: Library object inclusion with CALL command?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Library-object-inclusion-with-CALL-command/m-p/90750#M28134</link>
      <description>Hello,&lt;BR /&gt;
&lt;BR /&gt;
Just make new (length) parameters in the main object;&lt;BR /&gt;
leg_x_dim&lt;BR /&gt;
leg_y_dim&lt;BR /&gt;
leg_z_dim&lt;BR /&gt;
&lt;BR /&gt;
and the main object's 3D-code;&lt;BR /&gt;
&lt;BR /&gt;
!--calling lower left leg&lt;BR /&gt;
&lt;FONT color="green"&gt;add -a/2+ leg_x_dim/2, -b/2+leg_y_dim, 0&lt;BR /&gt;
call 'legmacro' parameters a=leg_x_dim, b=leg_y_dim, zzyzx=leg_z_dim&lt;BR /&gt;
del 1&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
!--calling lower right leg&lt;BR /&gt;
&lt;FONT color="green"&gt;add a/2- leg_x_dim/2, -b/2+leg_y_dim, 0&lt;BR /&gt;
call 'legmacro' parameters a=leg_x_dim, b=leg_y_dim, zzyzx=leg_z_dim&lt;BR /&gt;
del 1&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
In the 'legmacro.gsm' you have 3D-code;&lt;BR /&gt;
&lt;BR /&gt;
&lt;FONT color="green"&gt;add -a/2, -b/2, 0  !&amp;lt;--movement to centralize the leg&lt;BR /&gt;
block a, b, zzyzx&lt;BR /&gt;
del 1&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
!--the leg dimensions can be hard coded too -&amp;gt; so no need to make parameters 'leg_x_dim' , etc.&lt;BR /&gt;
&lt;FONT color="green"&gt;&lt;BR /&gt;
call 'legmacro' parameters a=0.03, b= 0.04, zzyzx=0.7&lt;BR /&gt;
&lt;/FONT&gt;&lt;BR /&gt;
&lt;BR /&gt;
The point here is to have parameters of same name and type when transferring data; here A, B, ZZYZX.&lt;BR /&gt;
&lt;BR /&gt;
You could also;&lt;BR /&gt;
&lt;FONT color="green"&gt;&lt;BR /&gt;
call 'legmacro' parameters&lt;BR /&gt;
&lt;/FONT&gt;&lt;BR /&gt;
In this case the leg has the macro's default dimensions.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Hope this helps.</description>
      <pubDate>Thu, 08 May 2008 09:07:12 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Library-object-inclusion-with-CALL-command/m-p/90750#M28134</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2008-05-08T09:07:12Z</dc:date>
    </item>
  </channel>
</rss>

