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 28 USA and earlier • macOS Sequoia 15.2, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB