2024-04-30 08:47 AM - last edited on 2024-09-16 02:50 PM by Doreena Deng
I am a new user of the Archicad 27 C++ API. I am learning.
Please, I have a question. Is there a function to Update Zone in the Archicad 27 C++ API? I searched through the DevKit's Example folder and the API Documentation but I could not find any or maybe I missed it.
Please, if you have a good counsel that can guide me properly I will be grateful....
2024-04-30 09:33 AM - edited 2024-04-30 09:34 AM
You mean the behavior as in Design -> Update Zones... right? Unfortunately there's no function like this available in the API to my knowledge. I would also love to have a function like that.
2024-04-30 11:01 AM - edited 2024-04-30 11:11 AM
🤔
2024-04-30 11:09 AM
Dear @BerndSchwarzenbacher ,
Thank you for your response. To answer your question--- YES-- I mean a function that can implement "Update Zone" located in the Design drop down menu. May there is a work around approach.🤔
2024-05-02 08:33 AM
A workaround could be to do some automation directly on the GUI level (e.g. with AHK on Windows. Other tools exist for macOS). It's more "instable" because it depends on e.g. how the users set up their work environment. If you do it just for yourself, I think it could be a good solution.
2024-05-02 10:04 AM
Thank you @BerndSchwarzenbacher for your advice. I will consider it. I have never used AHK (AutoHotKeys) before. Please, I have a question if you could assist me.
The main reason why I want to automate the Update Zone is because...
1. I want to have both Calculated Areas of Rooms without wall-inset and Rooms with wall-insets.
2. I want to be able to display these without having to go through the setup.
Please, if you have any suggestion, it will be helpful.
Furthermore, I want to Plot a Graph that shows the relatioship of Room Areas. If you have any suggestion, I be grateful.
2024-05-03 10:10 AM
If I understand you correctly, you thought of automating different zone settings so you can get these different areas right?
I think that's not necessary for that purpose! You can get such quantities with e.g. ACAPI_Element_GetQuantities() or ACAPI_Element_GetMoreQuantities()
Specifically check out API_ZoneAllQuantity.
Once you've figured out how to get all the area information you want, I see a few options regarding plotting a graph:
1. You could display a plot with a browser inside Archicad (Check out the Browser_Control example coming with the SDK).
That would probably give you the access to a lot of JavaScript libraries for plotting.
2. Otherwise there are surely some plotting libraries available for C++ as well that you could use and then create a picture to display with the DG Module of the AC SDK.
3. A third approach could be to use the Python API (checkout the built-in properties. Or an article about it on my website) and then plot with e.g. matplotlib or plotly libraries. But that approach is usually not convenient for users in case you want to provide or sell a packaged Add-On.
4. You could also save the data to a file and create a graph from that.
Hope that helps!
2024-05-04 09:11 AM
Dear @BerndSchwarzenbacher , thank you for your help.
I have already used the Quantities approach.
I wanted to know if I could plot graphs to display information whenever the need arises.
Thank you for your counsel...at least I now have a better understanding of the Browser_control and the possibility of using C++ libraries.
Thank you so much. I will continue to work on both C++ and Browser options..
Thank you.