<?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 Making binary objects parametric in Libraries &amp; objects</title>
    <link>https://community.graphisoft.com/t5/Libraries-objects/Making-binary-objects-parametric/m-p/91609#M40592</link>
    <description>&lt;DIV class="actalk-migrated-content"&gt;&lt;T&gt;Maybe you know about this one already, but I have a simple method for&lt;BR /&gt;
dissecting a binary object into its sub-binaries so that you can allow the&lt;BR /&gt;
user to define materials for the various bits and pieces.&lt;BR /&gt;
&lt;BR /&gt;
Some years ago now I did this with the standard Archicad people objects&lt;BR /&gt;
to give them more clothing and hair/skin colour options.  Now in AC8, I&lt;BR /&gt;
notice that Graphisoft have used the same technique with their new people&lt;BR /&gt;
objects!&lt;BR /&gt;
&lt;BR /&gt;
Here is how you do it:&lt;BR /&gt;
&lt;BR /&gt;
1) Place the binary object in the plan, select it and go to 3D top&lt;BR /&gt;
projection and resave it as a new binary object.  This is important to make&lt;BR /&gt;
the binary compatible with the version you are working in.&lt;BR /&gt;
&lt;BR /&gt;
2) In the new object, comment out the main binary, and add in the following:&lt;BR /&gt;
&lt;BR /&gt;
!BINARY 0,0,1   !&lt;BR /&gt;
!BINARY 0,0,2   !&lt;BR /&gt;
!BINARY 0,0,3   !&lt;BR /&gt;
!BINARY 0,0,4   !&lt;BR /&gt;
!BINARY 0,0,5   !&lt;BR /&gt;
!BIN.....&lt;BR /&gt;
&lt;BR /&gt;
DEL top&lt;BR /&gt;
&lt;BR /&gt;
etc. etc..... you can keep adding part binaries until you run out of bits in&lt;BR /&gt;
the object - there can be far more than 16.  If you have all binaries&lt;BR /&gt;
commented out except BINARY 0,0,39 and you click on the 3D window, you might get the warning "No 3D elements".  Then you know you are at the end of the line!&lt;BR /&gt;
&lt;BR /&gt;
3) Remove the leading exclamation mark from each line in turn, and check the 3D view to see what part of the object it represents.  Then describe this part after the end comment for that line.&lt;BR /&gt;
&lt;BR /&gt;
4) Group the binaries together that represent similar items, e.g. left hand,&lt;BR /&gt;
right hand, face, and give each group separate material definitions:&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL C&lt;BR /&gt;
Binary 0,0,1 !face&lt;BR /&gt;
Binary 0,0,11 !left arm&lt;BR /&gt;
Binary 0,0,12 !right arm&lt;BR /&gt;
&lt;BR /&gt;
Create user parameters for these materials.&lt;BR /&gt;
&lt;BR /&gt;
5) You can add more parametric enhancements to individual parts of the object, e.g. eliminate some parts with tickboxes, or stretch them using MUL.  In this instance I have added a parameter "skl" (skirt length).&lt;BR /&gt;
&lt;BR /&gt;
I visually determined the heights at the top and bottom of the skirt,&lt;BR /&gt;
formulated a MUL-factor, and adjusted the height for inserting the part&lt;BR /&gt;
binary to compensate for the MUL-factor.  &lt;BR /&gt;
&lt;BR /&gt;
To check that the visually determined heights were right I made the skirt&lt;BR /&gt;
very long (2m) then adjusted the ts value until it looked right.&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL G&lt;BR /&gt;
ts=1.050        !top of existing skirt&lt;BR /&gt;
bs=0.750       !bottom of existing skirt&lt;BR /&gt;
esl=ts-bs   !extg. skirt is 0.300&lt;BR /&gt;
mf=skl/esl  !skirt length mul factor&lt;BR /&gt;
ADDz ts-ts*mf&lt;BR /&gt;
MULz mf&lt;BR /&gt;
Binary 0,0,5 !skirt&lt;BR /&gt;
DEL 2&lt;BR /&gt;
&lt;BR /&gt;
6) For the 2D you can open the original object (before step 1) and copy the 2D symbol.  In the new object, the 2D symbol is a wireframe jumble of lines.  Delete these and paste in the copied symbol.  Alternatively use PROJECT2 3,270,2.&lt;BR /&gt;
&lt;BR /&gt;
You might recognise the girl in the attached JPG? The&lt;BR /&gt;
legendary "Woman in Red Dress" is now a tanned blonde with a more modest dress, suitable for Dubai.&lt;BR /&gt;
&lt;BR /&gt;
Here is the full script for her:&lt;BR /&gt;
_________________________&lt;BR /&gt;
&lt;BR /&gt;
! Document name: DL Woman 1&lt;BR /&gt;
!&lt;BR /&gt;
!&lt;BR /&gt;
!   Name     : DL Woman 1.GSM&lt;BR /&gt;
!   Date     : Monday, 22 November 1999&lt;BR /&gt;
!   Version  : 6.00&lt;BR /&gt;
!   Written by ArchiCAD&lt;BR /&gt;
!   Revised by Daniel Lindahl&lt;BR /&gt;
&lt;BR /&gt;
MULX A/    0.46&lt;BR /&gt;
MULY B/    0.706307&lt;BR /&gt;
MULZ ZZYZX/    1.7&lt;BR /&gt;
ADDX        0.2299&lt;BR /&gt;
ADDY        0.34005&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL C&lt;BR /&gt;
Binary 0,0,1 !face&lt;BR /&gt;
Binary 0,0,11 !left arm&lt;BR /&gt;
Binary 0,0,12 !right arm&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL D&lt;BR /&gt;
Binary 0,0,2 !hair&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL E&lt;BR /&gt;
Binary 0,0,3 !left calf&lt;BR /&gt;
Binary 0,0,7 !left thigh&lt;BR /&gt;
Binary 0,0,9 !right leg&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL F&lt;BR /&gt;
Binary 0,0,4 !left shoe&lt;BR /&gt;
Binary 0,0,8 !right shoe&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL G&lt;BR /&gt;
ts=1.050&lt;BR /&gt;
bs=0.750&lt;BR /&gt;
esl=ts-bs   !extg. skirt is 0.300&lt;BR /&gt;
mf=skl/esl  !skirt length mul factor&lt;BR /&gt;
ADDz ts-ts*mf&lt;BR /&gt;
MULz mf&lt;BR /&gt;
Binary 0,0,5 !skirt&lt;BR /&gt;
DEL 2&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL H&lt;BR /&gt;
Binary 0,0,6 !top&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL I&lt;BR /&gt;
Binary 0,0,10 !left sleeve&lt;BR /&gt;
Binary 0,0,13 !right sleeve&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL J&lt;BR /&gt;
Binary 0,0,14 !neck and shoulders&lt;BR /&gt;
DEL top&lt;BR /&gt;
_________________&lt;BR /&gt;
&lt;BR /&gt;
This tip has already been posted on the GDL-talk forum, but Karl Ottenstein urged me to post it here as well for everyone's benefit.&lt;BR /&gt;
&lt;BR /&gt;
Also, I should give credit where credit is due.  I did not dream this one up all by myself.  I was originally pointed in the right direction for discovering the innards of binaries by David Gilbert, who used to be the local AC reseller here. &lt;BR /&gt;
&lt;BR /&gt;
Have fun hacking those binaries!&lt;BR /&gt;
&lt;BR /&gt;
Cheers&lt;BR /&gt;
Daniel&lt;/T&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Woman 1 DL.JPG" style="width: 395px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/6560i0D920B4094C4FC3E/image-size/large?v=v2&amp;amp;px=999" role="button" title="Woman 1 DL.JPG" alt="Woman 1 DL.JPG" /&gt;&lt;/span&gt;</description>
    <pubDate>Wed, 24 May 2023 10:13:33 GMT</pubDate>
    <dc:creator>Daniel Lindahl</dc:creator>
    <dc:date>2023-05-24T10:13:33Z</dc:date>
    <item>
      <title>Making binary objects parametric</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Making-binary-objects-parametric/m-p/91609#M40592</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;&lt;T&gt;Maybe you know about this one already, but I have a simple method for&lt;BR /&gt;
dissecting a binary object into its sub-binaries so that you can allow the&lt;BR /&gt;
user to define materials for the various bits and pieces.&lt;BR /&gt;
&lt;BR /&gt;
Some years ago now I did this with the standard Archicad people objects&lt;BR /&gt;
to give them more clothing and hair/skin colour options.  Now in AC8, I&lt;BR /&gt;
notice that Graphisoft have used the same technique with their new people&lt;BR /&gt;
objects!&lt;BR /&gt;
&lt;BR /&gt;
Here is how you do it:&lt;BR /&gt;
&lt;BR /&gt;
1) Place the binary object in the plan, select it and go to 3D top&lt;BR /&gt;
projection and resave it as a new binary object.  This is important to make&lt;BR /&gt;
the binary compatible with the version you are working in.&lt;BR /&gt;
&lt;BR /&gt;
2) In the new object, comment out the main binary, and add in the following:&lt;BR /&gt;
&lt;BR /&gt;
!BINARY 0,0,1   !&lt;BR /&gt;
!BINARY 0,0,2   !&lt;BR /&gt;
!BINARY 0,0,3   !&lt;BR /&gt;
!BINARY 0,0,4   !&lt;BR /&gt;
!BINARY 0,0,5   !&lt;BR /&gt;
!BIN.....&lt;BR /&gt;
&lt;BR /&gt;
DEL top&lt;BR /&gt;
&lt;BR /&gt;
etc. etc..... you can keep adding part binaries until you run out of bits in&lt;BR /&gt;
the object - there can be far more than 16.  If you have all binaries&lt;BR /&gt;
commented out except BINARY 0,0,39 and you click on the 3D window, you might get the warning "No 3D elements".  Then you know you are at the end of the line!&lt;BR /&gt;
&lt;BR /&gt;
3) Remove the leading exclamation mark from each line in turn, and check the 3D view to see what part of the object it represents.  Then describe this part after the end comment for that line.&lt;BR /&gt;
&lt;BR /&gt;
4) Group the binaries together that represent similar items, e.g. left hand,&lt;BR /&gt;
right hand, face, and give each group separate material definitions:&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL C&lt;BR /&gt;
Binary 0,0,1 !face&lt;BR /&gt;
Binary 0,0,11 !left arm&lt;BR /&gt;
Binary 0,0,12 !right arm&lt;BR /&gt;
&lt;BR /&gt;
Create user parameters for these materials.&lt;BR /&gt;
&lt;BR /&gt;
5) You can add more parametric enhancements to individual parts of the object, e.g. eliminate some parts with tickboxes, or stretch them using MUL.  In this instance I have added a parameter "skl" (skirt length).&lt;BR /&gt;
&lt;BR /&gt;
I visually determined the heights at the top and bottom of the skirt,&lt;BR /&gt;
formulated a MUL-factor, and adjusted the height for inserting the part&lt;BR /&gt;
binary to compensate for the MUL-factor.  &lt;BR /&gt;
&lt;BR /&gt;
To check that the visually determined heights were right I made the skirt&lt;BR /&gt;
very long (2m) then adjusted the ts value until it looked right.&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL G&lt;BR /&gt;
ts=1.050        !top of existing skirt&lt;BR /&gt;
bs=0.750       !bottom of existing skirt&lt;BR /&gt;
esl=ts-bs   !extg. skirt is 0.300&lt;BR /&gt;
mf=skl/esl  !skirt length mul factor&lt;BR /&gt;
ADDz ts-ts*mf&lt;BR /&gt;
MULz mf&lt;BR /&gt;
Binary 0,0,5 !skirt&lt;BR /&gt;
DEL 2&lt;BR /&gt;
&lt;BR /&gt;
6) For the 2D you can open the original object (before step 1) and copy the 2D symbol.  In the new object, the 2D symbol is a wireframe jumble of lines.  Delete these and paste in the copied symbol.  Alternatively use PROJECT2 3,270,2.&lt;BR /&gt;
&lt;BR /&gt;
You might recognise the girl in the attached JPG? The&lt;BR /&gt;
legendary "Woman in Red Dress" is now a tanned blonde with a more modest dress, suitable for Dubai.&lt;BR /&gt;
&lt;BR /&gt;
Here is the full script for her:&lt;BR /&gt;
_________________________&lt;BR /&gt;
&lt;BR /&gt;
! Document name: DL Woman 1&lt;BR /&gt;
!&lt;BR /&gt;
!&lt;BR /&gt;
!   Name     : DL Woman 1.GSM&lt;BR /&gt;
!   Date     : Monday, 22 November 1999&lt;BR /&gt;
!   Version  : 6.00&lt;BR /&gt;
!   Written by ArchiCAD&lt;BR /&gt;
!   Revised by Daniel Lindahl&lt;BR /&gt;
&lt;BR /&gt;
MULX A/    0.46&lt;BR /&gt;
MULY B/    0.706307&lt;BR /&gt;
MULZ ZZYZX/    1.7&lt;BR /&gt;
ADDX        0.2299&lt;BR /&gt;
ADDY        0.34005&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL C&lt;BR /&gt;
Binary 0,0,1 !face&lt;BR /&gt;
Binary 0,0,11 !left arm&lt;BR /&gt;
Binary 0,0,12 !right arm&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL D&lt;BR /&gt;
Binary 0,0,2 !hair&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL E&lt;BR /&gt;
Binary 0,0,3 !left calf&lt;BR /&gt;
Binary 0,0,7 !left thigh&lt;BR /&gt;
Binary 0,0,9 !right leg&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL F&lt;BR /&gt;
Binary 0,0,4 !left shoe&lt;BR /&gt;
Binary 0,0,8 !right shoe&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL G&lt;BR /&gt;
ts=1.050&lt;BR /&gt;
bs=0.750&lt;BR /&gt;
esl=ts-bs   !extg. skirt is 0.300&lt;BR /&gt;
mf=skl/esl  !skirt length mul factor&lt;BR /&gt;
ADDz ts-ts*mf&lt;BR /&gt;
MULz mf&lt;BR /&gt;
Binary 0,0,5 !skirt&lt;BR /&gt;
DEL 2&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL H&lt;BR /&gt;
Binary 0,0,6 !top&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL I&lt;BR /&gt;
Binary 0,0,10 !left sleeve&lt;BR /&gt;
Binary 0,0,13 !right sleeve&lt;BR /&gt;
&lt;BR /&gt;
MATERIAL J&lt;BR /&gt;
Binary 0,0,14 !neck and shoulders&lt;BR /&gt;
DEL top&lt;BR /&gt;
_________________&lt;BR /&gt;
&lt;BR /&gt;
This tip has already been posted on the GDL-talk forum, but Karl Ottenstein urged me to post it here as well for everyone's benefit.&lt;BR /&gt;
&lt;BR /&gt;
Also, I should give credit where credit is due.  I did not dream this one up all by myself.  I was originally pointed in the right direction for discovering the innards of binaries by David Gilbert, who used to be the local AC reseller here. &lt;BR /&gt;
&lt;BR /&gt;
Have fun hacking those binaries!&lt;BR /&gt;
&lt;BR /&gt;
Cheers&lt;BR /&gt;
Daniel&lt;/T&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Woman 1 DL.JPG" style="width: 395px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/6560i0D920B4094C4FC3E/image-size/large?v=v2&amp;amp;px=999" role="button" title="Woman 1 DL.JPG" alt="Woman 1 DL.JPG" /&gt;&lt;/span&gt;</description>
      <pubDate>Wed, 24 May 2023 10:13:33 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Making-binary-objects-parametric/m-p/91609#M40592</guid>
      <dc:creator>Daniel Lindahl</dc:creator>
      <dc:date>2023-05-24T10:13:33Z</dc:date>
    </item>
  </channel>
</rss>

