Archicad Python API
About automating tasks in Archicad using the Python API.

Object to show the sum of areas of multiple zones

Jeroen
Contributor

I would like to have an object that show the sum of areas of multiple zones.

Option A: Preferable I would like the user to select multiple zones and then place an object which shows the total area. The sum should follow any changes to those zones. Can this be done with Python or Json?

Option B: Less desirable, but still effective is that you place an object and inside a user interface you can select zones (based on zone name and/or number) which should be summed up. Can you select something straight from de Archicad-files database?


With kind regards,
Jeroen de Bruin 

 

5 REPLIES 5
Mathias Jonathan
Advocate

Hi Jeroen!

I don't think that Python can work in real time, you have to run the script each time you want an update.

I made this script with the help of Poco: https://community.graphisoft.com/t5/Developer-forum/PYTHON-Sum-area-script/m-p/373848#M12180 that work with custom properties to receive the sum of areas and a label to display this result.

 

I don't know any other way except a C++ addon.

Wow Mathias, that looks very promising! I will look into it.

Thanks for the quick response too!

If you are interested in the subject, I have made an other version that I can give you (non shared here at the moment), where I have split the script into two scripts:

-One that makes you choose all parameters and save a parameter file

-An other one that launch the script that read the previous parameter file without having to choose parameters each time you want to launch the script.

 

The script will work on the entire file, there are no storey selection (non implemented in python at the moment).

It is possible in python to make it work with selected zones, but it will only works with archicad 26 and up (new command).

 

I stopped the development of the script following the information of graphisoft which clearly let understand the little future of the connection

 

 

 

julienK
Advocate

A gdl object will not be able to do this.  I had to make an addon  with  the  c++ api to achieve this.

Jeroen
Contributor

@Mathias Jonathan I am interested in the other scripts. I know Graphisoft included Python as Experimental feature, do you think they will kill it?

@julienK Is this add-on something you are willing to share?