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.
SOLVED!

Zone Schedule Calculations: Subtraction of 'To Be Demolished' Area?

Marc H
Advisor
How can I have 'To Be Demolished' zones areas show as negative values in my zone schedule calculations?

I am working on a floor area schedule and have totals for the 'To Be Demolished' zones and a total for the 'New' zones. Having these totals also brings with it a grand total for both groups. However, the 'To Be Demolished' areas are showing up with positive areas and adding to the grand total instead of reducing it.

I found a couple of partial work around for the floor area reduction calculation itself:
a) by reducing the height of the To Be Demolished zone low enough to qualify for area reduction, which helps the schedule by showing a Calculated Area as '0', but not the negative I was looking for. It would also be a problem if running reduced volume calculations.
b) by creating a fill with 100% zone reduction checked. (Unfortunately, the zone cover fill option does not work in this way - that might just pull it off!) The problem with the fill is it is not associated with the demolished zone, but with the existing-to-remain area, which is not a part of the remodeling. I'm also concerned having several of these in a model may be difficult to manage.

I am hoping there is a method within AC22 which works directly / smartly with the zone objects through one or more settings, values, properties, expressions, and/or query language.
“The best thing about the future is that it comes one day at a time.” - Abraham Lincoln

AC27 USA on 16” 2019 MBP (2.4GHz i9 8-Core, 32GB DDR4, AMD Radeon Pro 5500M 8G GDDR5, 500GB SSD, T3s, Trackpad use) running Sonoma OS + extended w/ (2) 32" ASUS ProArt PAU32C (4K) Monitors
1 ACCEPTED SOLUTION

Accepted Solutions
Solution
Paul Roper
Booster

Hi Marc,

 

I have run into this frustrating issue recently.

 

Unfortunately I do not have a suggestion for you that is intuitive or straightforward. Archicad's built-in scheduling tool seems to be only half-baked in many respects, requiring somewhat arcane knowledge to operate. In my opinion, workarounds for something this simple should not be necessary.

 

As much as I dislike workarounds, I do have a potential workaround to suggest. I'll give you a step-by-step (in case any of the things I did are unfamiliar to you — they were all new to me when I figured this out):

 

  • In Options > Property Manager, I created my own Property which I called "My Area"  (for clarity — and put it under a new Group which I named "Renovation" to help me find it later)
  • I made this property available to the Space classification (an important step which allows your Zones to share their info with this new property behind the scenes).
  • In the Property Manager dialog box, set the Data Type of "My Area" to Area from the Data Type dropdown menu.
  • Set the Default Value of "My Area" to Expression with the radio button.
  • Add an expression to the Sequence using the Add... button. I don't know how code-savvy you are. Here you need to set up an IF statement that looks at each Zone's Renovation Status. If the Renovation Status is "To Be Demolished", the expression multiplies that Zone's area by -1. It returns a default area value for Zones with other Renovation Statuses. This is where things might get lost in translation, hopefully you can copy and paste the code below (it should look like the screen capture that I've attached if it copies / pastes correctly):

 

 

IF ( {Property:CategoryPropertyDefinitionGroup/Renovation Status} = "To Be Demolished", {Property:General Parameters/Area} / - 1, {Property:General Parameters/Area} )

 

 

Once you have managed to commit the expression to the property without errors:

  • Open the Scheme Settings dialog box:
  • Set up your Criteria to filter the Zones you want to schedule.
  • Click the Add Fields... button and add your custom "My Area" property.
  • Check the SUM box for the "My Area" field.
  • The schedule now subtracts the negative values (see attached screen capture for an example).

 

Side note: I've used the name "My Area" here for the sake of clarity. You'll probably want to rename it plain old "Area" so that it shows up with the correct heading in your schedules.

 

I wish you luck.

 

expression editor.PNG

 

Schedule example.PNG


AC23–26 3001 NZE | i511400F | 32GB | GTX1650

View solution in original post

5 REPLIES 5
Solution
Paul Roper
Booster

Hi Marc,

 

I have run into this frustrating issue recently.

 

Unfortunately I do not have a suggestion for you that is intuitive or straightforward. Archicad's built-in scheduling tool seems to be only half-baked in many respects, requiring somewhat arcane knowledge to operate. In my opinion, workarounds for something this simple should not be necessary.

 

As much as I dislike workarounds, I do have a potential workaround to suggest. I'll give you a step-by-step (in case any of the things I did are unfamiliar to you — they were all new to me when I figured this out):

 

  • In Options > Property Manager, I created my own Property which I called "My Area"  (for clarity — and put it under a new Group which I named "Renovation" to help me find it later)
  • I made this property available to the Space classification (an important step which allows your Zones to share their info with this new property behind the scenes).
  • In the Property Manager dialog box, set the Data Type of "My Area" to Area from the Data Type dropdown menu.
  • Set the Default Value of "My Area" to Expression with the radio button.
  • Add an expression to the Sequence using the Add... button. I don't know how code-savvy you are. Here you need to set up an IF statement that looks at each Zone's Renovation Status. If the Renovation Status is "To Be Demolished", the expression multiplies that Zone's area by -1. It returns a default area value for Zones with other Renovation Statuses. This is where things might get lost in translation, hopefully you can copy and paste the code below (it should look like the screen capture that I've attached if it copies / pastes correctly):

 

 

IF ( {Property:CategoryPropertyDefinitionGroup/Renovation Status} = "To Be Demolished", {Property:General Parameters/Area} / - 1, {Property:General Parameters/Area} )

 

 

Once you have managed to commit the expression to the property without errors:

  • Open the Scheme Settings dialog box:
  • Set up your Criteria to filter the Zones you want to schedule.
  • Click the Add Fields... button and add your custom "My Area" property.
  • Check the SUM box for the "My Area" field.
  • The schedule now subtracts the negative values (see attached screen capture for an example).

 

Side note: I've used the name "My Area" here for the sake of clarity. You'll probably want to rename it plain old "Area" so that it shows up with the correct heading in your schedules.

 

I wish you luck.

 

expression editor.PNG

 

Schedule example.PNG


AC23–26 3001 NZE | i511400F | 32GB | GTX1650

Thank you very much, Paul, for taking your time to put this in post.  Using Properties and some limited expressions seem a clean method. I do use the Property Manager quite a bit over the past year, but I have not had need for code up till now.  For this application and for refining some new objects I'm working on (e.g., trying to establish min & max values), it seems a good time to educate myself.

“The best thing about the future is that it comes one day at a time.” - Abraham Lincoln

AC27 USA on 16” 2019 MBP (2.4GHz i9 8-Core, 32GB DDR4, AMD Radeon Pro 5500M 8G GDDR5, 500GB SSD, T3s, Trackpad use) running Sonoma OS + extended w/ (2) 32" ASUS ProArt PAU32C (4K) Monitors

You're welcome, Marc.

 

I noticed that it's been a few years since your original post (with no response!). Sometimes it's nice just to know we are not alone in our struggles.


AC23–26 3001 NZE | i511400F | 32GB | GTX1650

Follow-up: Thank you again, Paul!
I’ve finally taken an opportunity to add your expression property to my template file and it works so elegantly! I already have a “Project” grouping in the PM and so created and added this as the ‘Net Project Area’ property.  I will use it in lieu of the standard measured area property in my area take-off schedules.  

“The best thing about the future is that it comes one day at a time.” - Abraham Lincoln

AC27 USA on 16” 2019 MBP (2.4GHz i9 8-Core, 32GB DDR4, AMD Radeon Pro 5500M 8G GDDR5, 500GB SSD, T3s, Trackpad use) running Sonoma OS + extended w/ (2) 32" ASUS ProArt PAU32C (4K) Monitors

That's great news, I'm glad to hear it.

 

"Net Project Area" is a tidy, succinct name!

 

 


AC23–26 3001 NZE | i511400F | 32GB | GTX1650