{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/text2bim-generating-building-models-using-a","title":"Text2BIM: Generating Building Models Using a Large Language Model-based Multi-Agent Framework","arxiv_id":"2408.08054","date":"2024-08-15","proceeding":null,"authors":["Changyu Du","Sebastian Esser","Stavros Nousias","André Borrmann"],"abstract":"The conventional BIM authoring process typically requires designers to master complex and tedious modeling commands in order to materialize their design intentions within BIM authoring tools. This additional cognitive burden complicates the design process and hinders the adoption of BIM and model-based design in the AEC (Architecture, Engineering, and Construction) industry. To facilitate the expression of design intentions more intuitively, we propose Text2BIM, an LLM-based multi-agent framework that can generate 3D building models from natural language instructions. This framework orchestrates multiple LLM agents to collaborate and reason, transforming textual user input into imperative code that invokes the BIM authoring tool's APIs, thereby generating editable BIM models with internal layouts, external envelopes, and semantic information directly in the software. Furthermore, a rule-based model checker is introduced into the agentic workflow, utilizing predefined domain knowledge to guide the LLM agents in resolving issues within the generated models and iteratively improving model quality. Extensive experiments were conducted to compare and analyze the performance of three different LLMs under the proposed framework. The evaluation results demonstrate that our approach can effectively generate high-quality, structurally rational building models that are aligned with the abstract concepts specified by user input. Finally, an interactive software prototype was developed to integrate the framework into the BIM authoring software Vectorworks, showcasing the potential of modeling by chatting.","url_abs":"https://arxiv.org/abs/2408.08054v1","url_pdf":"https://arxiv.org/pdf/2408.08054v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"text2bim-generating-building-models-using-a","repo_url":"https://github.com/dcy0577/Text2BIM","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"large-language-model","task_name":"Large Language Model"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2408.08054","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2408.08054"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dcy0577/Text2BIM","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":3,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"official":{"samples":7,"ran":4,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"4727fbb3a2745b8b","entry":"extract_issue_descriptions","repo":"dcy0577/Text2BIM","repo_kind":"official","path":"tool_agent/solibri_checker.py","file_url":"https://github.com/dcy0577/Text2BIM/blob/HEAD/tool_agent/solibri_checker.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4727fbb3a2745b8b"}},{"code_sha256_prefix":"dd830bd5206c5822","entry":"local_image_to_data_url","repo":"dcy0577/Text2BIM","repo_kind":"official","path":"tool_agent/utils.py","file_url":"https://github.com/dcy0577/Text2BIM/blob/HEAD/tool_agent/utils.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dd830bd5206c5822"}},{"code_sha256_prefix":"48439bc74751aec6","entry":"remove_last_human_message_with_regex","repo":"dcy0577/Text2BIM","repo_kind":"official","path":"tool_agent/utils.py","file_url":"https://github.com/dcy0577/Text2BIM/blob/HEAD/tool_agent/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"48439bc74751aec6"}},{"code_sha256_prefix":"bf6d6090ecb2723d","entry":"safe_encode","repo":"dcy0577/Text2BIM","repo_kind":"official","path":"tool_agent/utils.py","file_url":"https://github.com/dcy0577/Text2BIM/blob/HEAD/tool_agent/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bf6d6090ecb2723d"}},{"code_sha256_prefix":"623800324f32e3a0","entry":"evaluate","repo":"dcy0577/Text2BIM","repo_kind":"official","path":"tool_agent/python_interpreter.py","file_url":"https://github.com/dcy0577/Text2BIM/blob/HEAD/tool_agent/python_interpreter.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"623800324f32e3a0"}},{"code_sha256_prefix":"2738baf47117703a","entry":"evaluate_ast","repo":"dcy0577/Text2BIM","repo_kind":"official","path":"tool_agent/python_interpreter.py","file_url":"https://github.com/dcy0577/Text2BIM/blob/HEAD/tool_agent/python_interpreter.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2738baf47117703a"}},{"code_sha256_prefix":"be79bb275d866d66","entry":"evaluate_while","repo":"dcy0577/Text2BIM","repo_kind":"official","path":"tool_agent/python_interpreter.py","file_url":"https://github.com/dcy0577/Text2BIM/blob/HEAD/tool_agent/python_interpreter.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be79bb275d866d66"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}