Collaboration with other software
About model and data exchange with 3rd party solutions: Revit, Solibri, dRofus, Bluebeam, structural analysis solutions, and IFC, BCF and DXF/DWG-based exchange, etc.

Property Objects / Scripts Delivered with ArchiCAD

Karl Ottenstein
Moderator
In several threads, I've mentioned that ArchiCAD comes with a selection of Property Objects "in the box" and that these can be linked to elements in a model to generate components and other information. The information they generate is most likely not what you want, but these objects serve as examples of how to do things.

From File | GDL Objects | Open Object by Subtype... click the + in front of Properties and you'll see the list of property objects included in the standard library. The screenshot below shows the US library. Metric countries should be different.

You'll see, for example, wood exterior and interior walls. If you link the exterior 2x4 wall propery object (Calculate menu of course ... this is the Calc Forum) to one of your wall types, then the script will determine what information is generated for each wall of that type.

[Note! You can be careless and associate a 2x6 wall script to a 10" concrete wall, or to almost anything else. The burden of accuracy is on the user.]

(to be continued...)

property objects.gif
One of the forum moderators
AC 27 USA and earlier   •   macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
2 REPLIES 2
Karl Ottenstein
Moderator
Continuing from the last post, open the WD Ext 2x6 Wall object.

Look at the Parameters, and in particular at the BASE MOULDING TYPE as shown in the screenshot.

If any of you have tried this object, which seems unchanged since 6.5, you have gotten a material list that shows clear mahogany baseboard. Not many of us in the US use clear mahogany there! 😉

The 5/8" GYP is very often 1/2" these days. Etc.

You can change the parameters of this object and save it as a new name (in your project or company library), without doing any GDL coding, and associate the new object with walls to get the revised take-off information.

(to be continued...)
prop wall params.gif
One of the forum moderators
AC 27 USA and earlier   •   macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
Karl Ottenstein
Moderator
Wrapping up for today with the WD Ext 2x6 Wall object, take a look at its Property Script.

Here you'll see examples of what you need to do to create your own property objects.

For US users, note that the prolog of the script provides conversion factors for converting between imperial and metric, since all values stored internally by ArchiCAD are metric.

The first block of code:
!!   6108-STUD WALL EXTERIOR 2X6
!
WLX=(WALL_LENGTH_A+WALL_LENGTH_B)/2
!
WSX=WALL_SURFACE_A+WALL_SURFACE_B
!
STX=INT(WLX/STUDSOC)+2
!
!
    STNAME="NO.2 2X6X8FT STUD"
    STCODE="6106_0560"
    SRNAME="SHEETROCK 1/2IN. WALLS"
    SRCODE="9260_0010"
    SFNAME="FINISH SHEETROCK HEAVY TEXTURE"
    SFCODE="9260_0220"
    MWNAME="BEVELED VINYL CLAD PINE 1 5/8IN."
    MWCODE="6220_0020"
    SINAME="SIDING BOARD BEVELED CLEAR CEDAR 1/2 X 4 "
    SICODE="7420_0190"
!
GOSUB 1000

COMPONENT "NO.2 2X6 R.L. TREATED PLATE",         WLX,"LNFT",   1,"6106_0550","E-CSI.06000"
COMPONENT "NO.2 2X6 R.L. PLATE",                 WLX*2,"LNFT",   1,"6106_0530","E-CSI.06000"
COMPONENT STNAME,                   STX,"EACH",              1,STCODE,    "E-CSI.06000"
COMPONENT "NO.2 2X6 R.L. BLOCKING",             WLX*2,"LNFT",   1,"6106_0520","E-CSI.06000"
COMPONENT SRNAME,                   WSX/2,"SQFT",             1,SRCODE,     "E-CSI.09000"
COMPONENT SFNAME,                   WSX/2,"SQFT",             1,SFCODE,     "E-CSI.09000"
COMPONENT MWNAME,                   WLX,"LNFT",           1,MWCODE,     "E-CSI.06000"
COMPONENT "BUILDERS GRADE BUILDING PAPER",      WSX/2,"SQFT",   1,"7190_0010","E-CSI.09000"
COMPONENT SINAME,                             WSX/2,"SQFT",   1,SICODE,"E-CSI.09000"
Generates the list components for a single bottom treated plate, and double top plate (first COMPONENT lines - using WLX as the wall length, computed at the top of the code above).

Now, obviously, the bottom plate is only going to be treated in certain limited situations. That's why this script is an example and not a production script. The bottom plate type should be made a parameter. If it happens to be a mud plate, then sill seal and treated could be generated with COMPONENTS, otherwise a standard 2x6 could be generated. By parameterizing a Property Object, you are making a Property Template of sorts. Changing the parameters, as in the last post, and saving as a new name gives you an instance that applies to particular walls.

Some of the COMPONENT lines above show the result of parameterization: the STNAME, SRNAME, SFNAME, MWNAME and SINAME are given default values in the code above, but the subroutine (GOSUB 1000) determines the correct values based on the object parameters. That IF-THEN logic is so long, you should just open the object and browse if this is at all of interest.

As you can see even with the small amount of code ... a Property Script can compute material take-off information based on any formula you choose (right or wrong!). This offers a huge amount of flexibility, since you can model just a simple wall and yet produce quantities based on the intended assembly. This method is also labor intensive to set up, requires some specialist skills, and requires rigorous testing of the script (all possible conditions, door/window openings, etc) to develop confidence in the quantities that are generated.

Karl
One of the forum moderators
AC 27 USA and earlier   •   macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB