MCPcopy Index your code
hub / github.com/ZihanDDD/BIMgent

github.com/ZihanDDD/BIMgent @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
465 symbols 1,724 edges 62 files 158 documented · 34%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BIMgent: Towards Autonomous Building Modeling via Computer-use Agents

🔗 Website: https://tumcms.github.io/BIMgent.github.io/
📄 Paper on arXiv: arXiv:2506.07217

Workflow Diagram

BIMgent is a novel agentic framework that enables architectural building modeling process to be performed autonomously through computer control.

Workflow Diagram

🎥 Demo

Generate a one-storey octagonal building based on the hand-drawn sketch.

Process GIF

More detailed demo videos can be found on project website:
🔗 https://tumcms.github.io/BIMgent.github.io/

🔧 Setup

Software

The current version is based on and developed for the BIM authoring tool Vectorworks. When adapting the repository, please ensure you have Vectorworks installed on your PC. A valid license is required for the software applications.

Prepare API Keys

This project uses APIs from OpenAI and Google (Gemini).
You will need to update the .env file with your own API keys:

env OA_OPENAI_KEY="your_openai_api_key" # OpenAI API key 
Gemini_KEY="your_gemini_api_key" # Google Gemini API key 

Dependencies

Please set up your Python (3.10) environment and install the required dependencies using the following command:

pip install -r requirements.txt

🚀 Get Started

Please update the configuration file at conf/env_config_vectorworks.json before running the agent:

1. Download Required Models

This framework relies on models developed in other repositories.
Please download them and set the corresponding model paths in the configuration file.

🔽 Download Instructions

📦 DeepFloorplan Model
  • Repository: DeepFloorplan
  • Instructions: Follow the model download guide provided in the repository
📦 OmniParser Model
  • Repository: OmniParser
  • Instructions: Follow the model download guide provided in the repository

2. Update panel_coordinates to match your tool panel, design panel and object info panel layout.

The format is [x1, y1, x2, y2] where: - x1, y1 = top-left corner
- x2, y2 = bottom-right corner

Panel Definitions: - Tool Panel: Located on the left side, containing the list of interactable tools. - Design Panel: The central area where users interact to model the building. - Object Info Panel: Positioned on the right side, displaying information about selected components.

The detailed coordinates can be obtained by running the following script:

bash python mouse_detector.py

Run

Use the following command to run the agent:

python agent_runner.py

To view the logic please check the script:

runner/vectorworks_runner.py

Citation

If you use this work, please cite:

@misc{deng2025bimgentautonomousbuildingmodeling,
  title        = {BIMgent: Towards Autonomous Building Modeling via Computer-use Agents}, 
  author       = {Zihan Deng and Changyu Du and Stavros Nousias and André Borrmann},
  year         = {2025},
  eprint       = {2506.07217},
  archivePrefix = {arXiv},
  primaryClass = {cs.AI},
  url          = {https://arxiv.org/abs/2506.07217}
}

Core symbols most depended-on inside this repo

replace
called by 38
BIMgent/provider/omni_provider/omnitool/gradio/tools/base.py
save
called by 19
BIMgent/memory/base.py
box_area
called by 18
BIMgent/provider/omni_provider/util/utils.py
send_to_vm
called by 17
BIMgent/provider/omni_provider/omnitool/gradio/tools/computer.py
update_info_history
called by 16
BIMgent/memory/local_memory.py
kget
called by 12
BIMgent/utils/dict_utils.py
_bytes_feature
called by 11
BIMgent/provider/Deep_fp_provider/utils/tf_record.py
run
called by 9
BIMgent/provider/omni_provider/omnitool/gradio/tools/collection.py

Shape

Function 237
Method 174
Class 49
Route 5

Languages

Python100%

Modules by API surface

BIMgent/provider/omni_provider/omnitool/gradio/app_new.py31 symbols
BIMgent/provider/Deep_fp_provider/utils/floorplan_postprocessing.py27 symbols
BIMgent/provider/omni_provider/omnitool/gradio/app.py21 symbols
BIMgent/provider/omni_provider/util/utils.py20 symbols
BIMgent/provider/Deep_fp_provider/deep_floorplan_provider.py19 symbols
BIMgent/provider/ui_controller.py16 symbols
BIMgent/utils/json_utils.py15 symbols
BIMgent/provider/screenshots_processor.py15 symbols
BIMgent/provider/omni_provider/omnitool/gradio/tools/computer.py14 symbols
BIMgent/provider/omni_provider/eval/ss_pro_gpt4o_omniv2.py13 symbols
BIMgent/provider/loop_providers/skill_generator_provider.py13 symbols
BIMgent/provider/loop_providers/design_interpreter.py13 symbols

For agents

$ claude mcp add BIMgent \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact