BIM-based cross-platform computer-aided design system
By using a cross-platform computer-aided design system, data from the 3D modeling platform and the BIM platform are automatically synchronized to generate IFC components, which solves the problem of poor design convenience, realizes automated processing of component types and lossless data conversion, and improves design efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA ARCHITECTURE DESIGN & RES GRP CO LTD
- Filing Date
- 2026-05-26
- Publication Date
- 2026-07-24
AI Technical Summary
When designers create a BIM model of an IFC file on a BIM platform, they need to perform a series of operations according to the IFC definition, which results in poor design convenience.
It provides a BIM-based cross-platform computer-aided design system that automatically synchronizes data between the 3D modeling platform and the BIM platform through collaboration between the source and destination ends, generates IFC components, including generating geometric flow files and semantic flow files, uses the Bonsai API for geometric reconstruction and solidification modification, and realizes automatic mounting of component types and parameter assignment.
It enables data synchronization between the 3D modeling platform and the BIM platform, eliminating the need for designers to perform traditional operations on the BIM platform, thus improving design convenience. It also supports reverse flow of component types and adaptive front-end UI, achieving non-destructive collaboration and lossless data conversion.
Smart Images

Figure CN122452002A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of computer-aided design technology, and more specifically relates to a cross-platform computer-aided design system based on BIM. Background Technology
[0002] Building Information Modeling (BIM) platforms and 3D modeling platforms such as Rhino are widely used computer-aided design (CAD) tools for architectural design. BIM models with IFC files have broad applicability. 3D modeling platforms enable lightweight design of geometric models.
[0003] Currently, when designers design BIM models with IFC files on a BIM platform... Referring to the structure of components in the geometric model designed on the 3D modeling platform, designers must perform a series of operations on the BIM platform according to the definition of IFC (Industry Foundation Classes) to create IFC components in the BIM model with IFC files, which have the structure of the components in the geometric model designed on the 3D modeling platform. This results in poor convenience for designers using CAD for architectural design. Summary of the Invention
[0004] This application provides a BIM-based cross-platform computer-aided design system to solve problems in related technologies.
[0005] This application provides a BIM-based cross-platform computer-aided design system, which includes a source end and a destination end. The source end has a 3D modeling platform, and the destination end has a BIM platform. On the source side, it is used to determine the cross-platform component identifier of each modeling component based on the globally unique identifier of each modeling component among all modeling components under the target layer, wherein the target layer is any layer of the target geometric model designed through the 3D modeling platform; generate a geometry flow file, the geometry flow file including: the geometric data of each modeling component, the geometric data of the modeling component including: cross-platform component identifier, spatial positioning and basis geometry; generate a semantic flow file, the semantic flow file including: the semantic data of each modeling component, the semantic data of the modeling component including: cross-platform component identifier, identity tag, spatial level, component type, custom parameters, host relationship; The host terminal is used to generate a target IFC component corresponding to each modeling component based on the geometry flow file and the semantic flow file. The target IFC components corresponding to each of the modeling components constitute a BIM model in IFC format corresponding to the target geometry model. The target modeling component is any one of the modeling components. Creating the target IFC component corresponding to the target modeling component includes: importing the low-dimensional geometry proxy of the target modeling component into the BIM platform based on the geometric data of the target modeling component; obtaining the component type of the target modeling component from the semantic data of the target modeling component; obtaining the physical parameters corresponding to the component type of the target modeling component; automatically attaching a solidification modifier to the low-dimensional geometry proxy of the target modeling component; and assigning the physical parameters to the parameter interface of the solidification modifier.
[0006] Beneficial effects: The system provided in this application embodiment can achieve automated data synchronization between various 3D modeling platforms and BIM collaboration platforms. For any 3D modeling platform, it can automatically convert lightweight components designed on the 3D modeling platform into IFC components, that is, automatically create the corresponding IFC components for the modeled components. When designers design BIM models with IFC files on the BIM platform, they can refer to the structure of the components in the geometric model designed on the 3D modeling platform. When designers design BIM models with IFC files on the BIM platform, they do not need to perform a series of operations on the BIM platform according to the definition of IFC. This improves the convenience for designers to use CAD for architectural design.
[0007] The system provided in this application embodiment can realize type dictionary reverse flow and front-end UI adaptation (closed-loop mechanism). When a new component type is created during the design process on the receiving end using the IFC model to which the target IFC component belongs, the source end can add the new component type to the front-end drop-down menu on the source end to display the component type, so that designers can select the new component type when designing on the source end. This improves the convenience for designers to use CAD for architectural design. Attached Figure Description
[0008] To more clearly illustrate the technical solutions in the embodiments of this specification or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of this specification. For those skilled in the art, other drawings can be obtained based on these drawings.
[0009] Figure 1 This is a schematic diagram of the system provided in the embodiments of this application. Detailed Implementation
[0010] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. It should be noted that, unless otherwise specified, the implementation methods and features in the implementation methods in this disclosure can be combined, separated, interchanged, and / or rearranged. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0011] The terminology used herein is for the purpose of describing particular embodiments and is not intended to be limiting. As used herein, unless the context clearly indicates otherwise, the singular forms “a” and “the” are intended to include the plural forms as well. Furthermore, when the terms “comprising” and / or “including” and variations thereof are used in this specification, it indicates the presence of the stated features, integrals, steps, operations, parts, components, and / or groups thereof, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, parts, components, and / or groups thereof. It should also be noted that, as used herein, the terms “substantially,” “about,” and other similar terms are used as approximate terms rather than as terms of degree, thus explaining the inherent biases in measurements, calculated values, and / or provided values that would be recognized by one of ordinary skill in the art.
[0012] The system provided in this application embodiment can achieve automated data synchronization between various 3D modeling platforms and BIM collaboration platforms. For any 3D modeling platform, lightweight components designed on the 3D modeling platform can be automatically converted into IFC components. When designers design BIM models with IFC files on the BIM platform, they can refer to the structure of the components in the geometric model designed on the 3D modeling platform. When designers design BIM models with IFC files on the BIM platform, they do not need to perform a series of operations on the BIM platform according to the IFC definition. This improves the convenience for designers to use CAD for architectural design.
[0013] As an example, a geometric "base surface" is created in Rhino on the source side, and a fixed transit folder is set up. The geometry flow files and semantic flow files exported by Rhino are placed in the transit folder. The geometry flow files exported by Rhino retain the original geometric hierarchy and object names, serving as a stable carrier of information. After the geometry flow files and semantic flow files exported by Rhino are synchronized to the destination side, the destination side automatically recognizes the strings and calls the Bonsai API of the Blender plugin on the destination side. Based on the geometry flow files and semantic flow files, the geometric "base surface" is transformed into an IFC standard wall entity. Thus, within the building component rule system, the Rhino / SU geometric model rationally extracts geometric information data. Through code and the editing interface of the Blender plugin Bonsai, the geometric shapes are given building data information conforming to BIM standards, transforming the geometric model file into a universal IFC model that can be used by the BIM platform.
[0014] refer to Figure 1 The diagram shows a structural schematic of the system provided in the embodiments of this application.
[0015] In this example, in the source environment (the design creation environment), the designer constructs basic topological surfaces, lines, and points, and categorizes geometric components into corresponding layers. Layer information is extracted using a parametric plugin, assigning Object_ID and attribute information to each component. The Object_ID is written to the model, outputting a geometry flow file containing spatial positioning and base geometry. Simultaneously, a semantic flow file containing component identification, identity tags, and spatial hierarchy attributes is generated using the Object_ID as the key. Asynchronous file listening and import are performed on the destination environment (with a native BIM environment). Based on the Object_ID, the geometric model and semantic flow file are accurately matched to achieve automatic picking and classification. A modifier stack is used for geometric reconstruction, assigning thickness and Boolean attributes for doors and windows via Solidify. The Bonsai API is integrated, allocating IfcClass, IfcType, and spatial hierarchy information based on JSON data. Native IFC instantiation is performed, directly registering the Object_ID as the IFC GlobalId, and synchronously generating a parameter feedback semantic flow file to be sent back to the source environment. This helps designers break free from the barriers of traditional commercial software in cross-platform collaboration, achieve non-disruptive collaboration, and ultimately output native, lossless international standard IFC models.
[0016] The cross-platform BIM-based computer-aided design system provided in this application includes: The source end has a 3D modeling platform, and the destination end has a BIM platform. On the source side, it is used to determine the cross-platform component identifier of each modeling component based on the globally unique identifier of each modeling component among all modeling components under the target layer, wherein the target layer is any layer of the target geometric model designed through the 3D modeling platform; generate a geometry flow file, which includes: the geometric data of each modeling component, the geometric data of the modeling component includes: cross-platform component identifier, spatial location and basis geometry; generate a semantic flow file, which includes: the semantic data of each modeling component, the semantic data of the modeling component includes: cross-platform component identifier, identity label, spatial level, component type, custom parameters, and host relationship; The host is used to generate the target IFC component corresponding to each modeling component based on the geometry flow file and the semantic flow file. The target IFC components corresponding to all modeling components constitute a BIM model in IFC format corresponding to the target geometry model. The target modeling component is any one of the modeling components. Creating the target IFC component corresponding to the target modeling component includes: importing the low-dimensional geometry proxy of the target modeling component into the BIM platform based on the geometric data of the target modeling component; obtaining the component type of the target modeling component from the semantic data of the target modeling component; obtaining the physical parameters corresponding to the component type of the target modeling component; automatically attaching a solidification modifier to the low-dimensional geometry proxy of the target modeling component; and assigning the physical parameters corresponding to the component type of the target modeling component to the parameter interface of the solidification modifier.
[0017] Both the source and destination ends can be terminal devices.
[0018] It should be noted that IFC components in an IFC format BIM model are described using IFC component data, i.e., data in IFC format. Creating an IFC component is equivalent to creating its IFC data. The IFC data of an IFC component includes: its geometric data in IFC format, its semantic data in IFC format, and its physical parameters in IFC format, such as thickness.
[0019] The target geometric model can be any geometric model designed by the 3D modeling platform on the source end.
[0020] IFC format is an open, neutral data standard for BIM. As a building information data architecture, IFC allows BIM models to break free from the limitations of fixed software such as Revit, becoming a universal BIM format.
[0021] For a BIM model, if the model file format of the BIM model is IFC, Then the BIM model is an IFC format BIM model.
[0022] In this embodiment of the application, the components in the target geometric model designed through a 3D modeling platform, such as the geometric model of a building, are called modeling components.
[0023] In this embodiment of the application, the components in the IFC format BIM model of the target geometric model designed through the BIM platform are called IFC components.
[0024] The geometry flow file can be a USD file. The target geometry model can be exported as a USD file (geometry flow file) with a single click using the export tool of the modeling platform on the source end.
[0025] As an example, the 3D modeling platform on the source side can be Rhino, SketchUp, etc., while the BIM platform on the destination side can be Revit or Blender.
[0026] As an example, the modeling platform on the source side is Rhino, and Grasshopper is also available on the source side. Grasshopper is a graphical programming plugin based on Rhino. The BIM platform on the destination side is Blender, and Bonsai is also available on the destination side. Bonsai is a Blender-based plugin that allows editing and reading / writing IFC files.
[0027] On the source side, it is used to extract the globally unique identifier (GUID) of the target modeling component under the target layer of the target geometric model designed through the 3D modeling platform, such as the model of a building. Based on the globally unique identifier of the target modeling component, the cross-platform component identifier (Object_ID) of the target modeling component is determined.
[0028] Among them, the target modeling component is any one of the modeling components under the target layer of the target geometric model designed through the 3D modeling platform. The target modeling component is assigned to the target layer after the target modeling component is constructed.
[0029] The globally unique identifier of the target modeling component can be used as the Object_ID of the target modeling component. Alternatively, the globally unique identifier of the target modeling component can be converted into the Object_ID of the target modeling component based on the globally unique identifier of the target modeling component and a pre-set conversion rule.
[0030] As an example, in the source-side (Rhino / Grasshopper) modeling environment, designers abandon the complex volume construction of traditional BIM software and use low-dimensional topological surfaces (such as NURBS surfaces) or baselines to represent building components (taking walls as an example). After the components are constructed, they are assigned to layers with specific names (such as the "Wall" layer). This layer name will serve as the initial semantic filtering condition for subsequent parametric extraction.
[0031] As an example, a pre-defined automated script battery pack is run within Rhino's Grasshopper parametric environment. It uses dynamic picking components in Grasshopper (such as Geometry) to capture all topological objects under the "Wall" layer in real time. Then, it calls the Content Details script in Grasshopper to extract the globally unique identifier (GUID) for each object and permanently assigns it as the cross-platform data key Object_ID for that component.
[0032] The semantic data of the modeling component includes: the cross-platform component identifier (Object_ID), the identity label (IFC_Class), the spatial hierarchy (Spatial_Containment), the component type (IFC_Type), the custom parameters (Properties), and the host relationship of the modeling component.
[0033] The identity labels of modeling components can be divided into: linear components, walls, floors, etc.
[0034] As an example, the semantic data of a modeling component includes: "Object_ID": "A1B2C3D4-1234", "IFC_Class": "Ifcwall", "Spatial_Containment": "Level_1", "IFC_Type": "Type_Concrete_200", "Properties": {IsExtermal: "true"}, "Host_ID": "NONE".
[0035] It should be noted that the IFC_Type of the modeling component is selected by the designer from all the build types displayed in the drop-down menu component of the modeling platform.
[0036] The geometric data of the modeled components includes: cross-platform component identifiers, spatial positioning, and base geometry.
[0037] The spatial positioning and base geometry of the modeling component include: the position of the modeling component and the geometric data describing the structure of the modeling component. The geometric data describing the structure of the modeling component includes: data describing the vertices in the structure of the modeling component, data describing the lines in the structure of the modeling component, and data describing the faces in the structure of the modeling component.
[0038] The host relationship of a modeling component includes: Host_ID. If a modeling component needs to be attached to other components, such as a door or window that needs to be attached to a wall, the Host_ID of the modeling component is set to the Object_ID of the component it needs to be attached to, i.e., the wall. If a modeling component does not need to be attached to other components, the Host_ID of the modeling component is "None". For example, if a modeling component is an independent wall, its Host_ID is "None".
[0039] Custom parameters for modeling components include a custom attribute dictionary. This dictionary includes attributes such as fire resistance rating, construction stage, and exterior wall markings. The custom attribute dictionary is seamlessly integrated into the IFC component's data tree, which is a tree-structured data tree. The IFC component's data tree is located within the IFC component's IFC data.
[0040] As an example, BIM semantic commands are injected layer by layer according to a tree-like data structure using the semantically encapsulated battery pack within Grasshopper on the source side: Identity label injection: Assigning basic classification information IFC_Class (e.g., assigning the value "IfcWall"). Spatial hierarchy injection: Assigning spatial ownership information Spatial_Containment (e.g., assigning the value "Level_1"). Component type selection: Reading the standard type library through a drop-down menu component, the designer specifies the specific IFC_Type for this topological surface (e.g., selecting "Type_Concrete_200"). This command implicitly includes material (concrete) and construction thickness (200mm) parameters. Custom parameter injection: Writing non-geometric properties (e.g., writing the boolean value "IsExternal": true). Host relationship definition: For components that need to be attached, such as doors and windows, extracting the Object_ID of the target wall and writing it into the Host_ID of this component; for independent walls, this value is set to "None".
[0041] In one possible implementation, the source sends the geometry stream file and semantic stream file to the destination after generating them.
[0042] One possible implementation also includes: a relay layer with a relay folder; the source end is also used to write the geometry stream file and the semantic stream file to the relay folder; the destination end is also used to retrieve the geometry stream file and the semantic stream file from the relay folder.
[0043] The intermediate layer can be a cloud server.
[0044] In this embodiment, the host can implement asynchronous dual-track listening and strong association mapping based on Object_ID, which solves the technical bottleneck of achieving accurate communication between heterogeneous software without occupying the same memory.
[0045] As an example, the script component in Grasshopper on the source side performs an asynchronous export with a single click, generating two completely decoupled data streams to a specified transit folder. The geometry stream exports a USD file containing the 3D basis geometry, ensuring that the metadata (or object names) in the exported model strictly include their corresponding Object_ID. The semantic stream generates a structured JSON dictionary file, with Object_ID as the top-level key, recording all injected semantic instructions.
[0046] In one possible implementation, the host terminal is also used to utilize a daemon process to monitor the transit folder; when it detects that the geometry stream file is being written to the transit folder, it retrieves the geometry stream file from the transit folder; when it detects that the semantic stream file is being written to the transit folder, it retrieves the semantic stream file from the transit folder.
[0047] As an example, a Python daemon runs on the host (Blender) and uses a hash checksum mechanism to monitor the transit folder in real time. Once an update to the USD geometry stream or JSON semantic stream is detected, only the changed data is read (incremental synchronization), namely the newly added USD file as the geometry stream file and the newly added JSON dictionary as the semantic stream file, avoiding a full refresh that could cause a memory overflow.
[0048] In one possible implementation, the host is also used to parse the semantic stream file into a Python dictionary object; extract the metadata from the low-dimensional geometric agent of the target modeling component or the cross-platform component identifier in the name of the low-dimensional geometric agent of the target modeling component; use the extracted cross-platform component identifier as the primary key to perform a search and match in the Python dictionary object; and determine the target IFC component corresponding to the target modeling component by matching the extracted cross-platform component identifier with the cross-platform component identifier of the target modeling component in the Python dictionary object.
[0049] The metadata that comes with the low-dimensional geometric proxy of the target modeling component can refer to the geometric data of the target modeling component.
[0050] The extracted cross-platform component identifiers are: the cross-platform component identifiers in the metadata of the low-dimensional geometric agent of the target modeling component or the cross-platform component identifiers in the naming of the low-dimensional geometric agent of the target modeling component.
[0051] If there is no matching cross-platform component identifier in the semantic flow file for an extracted cross-platform component identifier, the geometric data of the modeling component with the extracted cross-platform component identifier will not be used to create an IFC component.
[0052] As an example, a minimalist geometric proxy (such as a thickness-free topological surface) is imported via the USD API. Simultaneously, the JSON dictionary is parsed into an in-memory Python dictionary object. All imported geometric proxies are iterated through, extracting their built-in metadata or the Object_ID embedded in their names. Then, using this Object_ID as the primary key, a search and match is performed in the Python dictionary. Only successfully matching geometries are allowed to proceed to the next step of the reconstruction sequence—creating the target IFC component corresponding to the target modeling component—thus completely eliminating data corruption.
[0053] In this embodiment of the application, the Bonsai API is used to allocate information such as IfcClass, IfcType, and spatial hierarchy based on JSON data.
[0054] When creating a target IFC component corresponding to a target modeling component, geometric data of the target IFC component corresponding to the target modeling component can be generated, including the geometric data of the target modeling component and in IFC format. The IFC data of the target IFC component corresponding to the target modeling component includes: the geometric data of the target IFC component corresponding to the target modeling component.
[0055] When creating a target IFC component corresponding to a target modeling component, semantic data of the target IFC component corresponding to the target modeling component can be generated, including the semantic data of the target modeling component and in IFC format. The IFC data of the target IFC component corresponding to the target modeling component includes: the semantic data of the target IFC component corresponding to the target modeling component.
[0056] The semantic data of the modeling components includes: cross-platform component identifier Object_ID, identity label IFC_Class, spatial hierarchy Spatial_Containment, component type IFC_Type, custom parameters Properties, and host relationship.
[0057] In this embodiment of the application, the host is used to import the low-dimensional geometric proxy of the target modeling component into the BIM platform based on the geometric data of the target modeling component.
[0058] On the client side, low-dimensional geometric proxies of target modeling components, such as thicknessless topological surfaces, can be imported via the USD API.
[0059] It should be noted that the structure of the low-dimensional geometric proxy of the modeling component is simpler than the structure of the modeling component itself. The structure of the low-dimensional geometric proxy is a part of the structure of the modeling component. The geometric data of the low-dimensional geometric proxy is a part of the geometric data of the modeling component.
[0060] The geometric relationships corresponding to each of the multiple identity labels can be pre-defined. The geometric relationship corresponding to the identity label indicates which part of the geometric data of the modeling component with the identity label the geometric data of the low-dimensional geometric proxy of the modeling component with the identity label belongs to.
[0061] As an example, if the modeling component is a wall, the low-dimensional geometric proxy for the modeling component is the plane that compresses the wall along its thickness direction. If the modeling component is a floor slab, the low-dimensional geometric proxy for the modeling component is the plane that compresses the floor slab.
[0062] The geometric data of the target modeling component's low-dimensional geometric proxy can be determined based on the geometric data of the target modeling component and the geometric relationships corresponding to its identity tags. The structure of the target modeling component's low-dimensional geometric proxy is described by its geometric data. Once the geometric data of the target modeling component's low-dimensional geometric proxy is determined, the target modeling component's low-dimensional geometric proxy can be defined.
[0063] In this embodiment, the client can implement parametric geometry reconstruction based on a non-destructive modifier stack. This parametric geometry reconstruction includes: automatically attaching a solidification modifier to the low-dimensional geometry proxy of the target modeling component; and assigning the physical parameters corresponding to the component type of the target modeling component to the parameter interface of the solidification modifier. Thus, the extremely lightweight model on the front end is dynamically transformed into a component conforming to construction standards based on JSON semantics. This parametric geometry reconstruction based on the non-destructive modifier stack does not destroy the vertex data of the original base surface, achieving a non-destructive dimensionality upgrade from geometry to a 3D solid, i.e., the target IFC component corresponding to the modeling component.
[0064] In this embodiment, the host device automatically mounts a solidification modifier to the low-dimensional geometric proxy of the target modeling component. The physical parameters corresponding to the component type of the target modeling component are assigned to the parameter interface of the solidification modifier. This sets the parameters of the target IFC component corresponding to the component type of the target modeling component to the physical parameters corresponding to the component type of the target modeling component, so that the target IFC component corresponding to the target modeling component has the physical parameters corresponding to the component type of the target modeling component. The IFC data of the target IFC component corresponding to the target modeling component includes: the physical parameters corresponding to the component type of the target modeling component in IFC format.
[0065] In one possible implementation, the host can query the physical parameters corresponding to the IFC_Type of the target modeling component from the host's Bonsai component library.
[0066] As an example, the IFC_Type of the target modeling component, such as "Type_Concrete_200", is read from the JSON dictionary of the semantic stream file. The physical parameter corresponding to the IFC_Type of the target modeling component, i.e., the thickness value (thickness = 200mm), is retrieved from the local Bonsai component library on the host machine. Solidification operations are then performed on the low-dimensional geometry proxy of the target modeling component. These operations include: calling the Blender Python API to automatically attach a solidification modifier to the low-dimensional geometry proxy of the target modeling component; and directly assigning the retrieved thickness value (200mm) to the parameter interface of the solidification modifier attached to the low-dimensional geometry proxy of the target modeling component, so that the target IFC component corresponding to the target modeling component has a thickness value of thickness = 200mm.
[0067] In one possible implementation, the host terminal is also used to mount a Boolean modifier under the solidification modifier of the corresponding wall when the Host_ID in the host relationship of the target modeling component points to the corresponding wall; set the operation mode to difference; and set the operation target to the bounding box of the target modeling component.
[0068] Boolean modifiers can be used to perform Boolean topological operations (Boolean Layers). Setting the operation mode to difference and the operation target to the bounding box of the target modeling component triggers the Boolean modifier to calculate the difference between the corresponding wall and the bounding box of the target modeling component. This enables parametric automatic subtraction of openings associated with the target modeling component, eliminating the need for designers to manually perform these subtractions and improving the ease of use for architectural design CAD. For example, if the target modeling component is a window, and its Host_ID points to a wall containing the window, and the openings associated with the window are those on that wall used to accommodate the window, setting the operation mode to difference and the operation target to the bounding box of the target modeling component triggers the Boolean modifier to calculate the difference between the corresponding wall and the bounding box of the target modeling component, thus enabling parametric automatic subtraction of window and door openings.
[0069] As an example, the Host_ID field in the JSON dictionary of the semantic stream file is parsed. If the currently parsed component, i.e., a window, has a Host_ID pointing to a wall, the association mechanism is triggered. The pointed-to wall entity is found, and Boolean modifiers are attached in strict hierarchical order under the solidification modifier of the currently parsed component. The operation mode is set to Difference, and the operation target is set to the bounding box geometry of the window, thereby achieving parametric automatic subtraction of the door and window openings.
[0070] In one possible implementation, creating the target IFC component corresponding to the target modeling component includes: Obtain the identity label of the target modeling component from the semantic data of the target modeling component; create a blank skeleton of the target IFC component corresponding to the target modeling component and the identity label of the target modeling component in the IFC database.
[0071] The IFC data of the target modeling component is stored in the IFC database. The IFC data of the target modeling component includes: the target IFC component corresponding to the target modeling component, and the blank skeleton corresponding to the identity label of the target modeling component.
[0072] In one possible implementation, the host is also used to obtain the spatial hierarchy of the target modeling component from the semantic data of the target modeling component; and to anchor the target IFC component corresponding to the target modeling component to the spatial hierarchy of the target modeling component.
[0073] In one possible implementation, the host is also used to obtain the non-geometric properties of the target modeling component from the custom parameters in the semantic data of the target modeling component; and to seamlessly weave the non-geometric properties of the target modeling component into the data tree of the target IFC component corresponding to the target modeling component.
[0074] Custom parameters in the JSON can include multiple non-geometric attributes of the target modeling component. These non-geometric attributes can include: fire resistance rating, construction stage, and exterior wall markings. All non-geometric attributes in the custom parameters can be seamlessly woven into the data tree of the target IFC component corresponding to the target modeling component.
[0075] As an example, the `ifcopenshell.api.run` underlying interface can be called. First, the `ifcopenshell.api.run` interface reads the `IFC_Class` from the JSON dictionary (which is a semantic stream file). Then, `root.create_entity` is used to create a blank skeleton in the IFC database corresponding to the identity label of the target modeling component. Next, `Spatial_Containment` is read, and `spatial.assign_container` is used to anchor the target IFC component to the specified spatial level of the target modeling component. Then, the custom attribute dictionary nested under the `Properties` field of the target modeling component in the JSON dictionary is traversed. This custom attribute dictionary includes non-geometric attributes of the target modeling component, such as fire resistance rating, construction stage, and exterior wall markings. The `pset.edit_pset` interface is called to weave the non-geometric attributes of the target modeling component into the data tree of the target IFC component corresponding to the target modeling component.
[0076] In one possible implementation, the host terminal is also used to use the cross-platform component identifier of the target modeling component as the globally unique identifier of the target IFC component corresponding to the target modeling component; and to register the globally unique identifier of the target IFC component corresponding to the target modeling component.
[0077] Registering a globally unique identifier (IFC GlobalId) for the target IFC component corresponding to the target modeling component ensures that the component originates from the source, such as the Rhino front-end draft. Figure 1Until the final output IFC as-built model, the identity of the target modeling components remains absolutely consistent at the underlying data level, achieving full-chain traceability throughout the entire building lifecycle.
[0078] In this embodiment of the application, the host can implement type dictionary reverse flow and front-end UI adaptation (closed-loop mechanism).
[0079] In one possible implementation, the host end is also used to add the new component type to the standard type library file when the designer creates a new component type on the host end during the design process using the BIM platform; the source end is also used to retrieve the new component type from the standard type library file when it is detected that the generated standard type library file has been updated, and add the new component type to the front-end drop-down menu on the source end for displaying component types, so that the designer can select the new component type through the front-end drop-down menu when designing using the 3D modeling platform.
[0080] Among them, the front-end drop-down menu used to display component types can belong to the parameter injection battery pack on the source end.
[0081] As an example, when editing a model directly in Blender and creating a new project-specific identity tag (such as "IfcSlab") or component type (such as "Type_Concrete_120"), the Blender export script will extract all compliant IFC_Class and IFC_Type values in the current scene, repackage them into a new environment standard library file (such as Bonsai_Library.json), and synchronize it to a shared folder. The source interface adaptively updates, and a file read monitoring node is set up on the Grasshopper side. When an update to Bonsai_Library.json is detected, the script automatically parses the file and dynamically updates the content of the front-end dropdown menu (Value List) injected into the battery pack. When the designer assigns attributes to a newly created component the next time, the menu will automatically include options such as "Type_Concrete_120" created in Blender, achieving seamless closed-loop synchronization of front-end and back-end data standards.
[0082] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0083] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented in hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
Claims
1. A BIM-based cross-platform computer-aided design system, characterized in that: The system includes: a source end and a destination end. The source end has a 3D modeling platform and the destination end has a BIM platform. On the source side, it is used to determine the cross-platform component identifier of each modeling component based on the globally unique identifier of each modeling component among all modeling components under the target layer, wherein the target layer is any layer of the target geometric model designed through the 3D modeling platform; generate a geometry flow file, the geometry flow file including: the geometric data of each modeling component, the geometric data of the modeling component including: cross-platform component identifier, spatial positioning and basis geometry; generate a semantic flow file, the semantic flow file including: the semantic data of each modeling component, the semantic data of the modeling component including: cross-platform component identifier, identity tag, spatial level, component type, custom parameters, host relationship; The host terminal is used to generate a target IFC component corresponding to each modeling component based on the geometry flow file and the semantic flow file. The target IFC components corresponding to each of the modeling components constitute a BIM model in IFC format corresponding to the target geometry model. The target modeling component is any one of the modeling components. Creating the target IFC component corresponding to the target modeling component includes: importing the low-dimensional geometry proxy of the target modeling component into the BIM platform based on the geometric data of the target modeling component; obtaining the component type of the target modeling component from the semantic data of the target modeling component; obtaining the physical parameters corresponding to the component type of the target modeling component; automatically attaching a solidification modifier to the low-dimensional geometry proxy of the target modeling component; and assigning the physical parameters to the parameter interface of the solidification modifier.
2. The system according to claim 1, characterized in that: The host terminal is also used to mount a Boolean modifier under the solidification modifier of the corresponding wall when the Host_ID in the host relationship of the target modeling component points to the corresponding wall; set the operation mode to difference; and set the operation target to the bounding box of the target modeling component.
3. The system according to claim 1, characterized in that: The system also includes: a relay layer, The intermediate layer has an intermediate folder; the source end is also used to write the geometric stream file and the semantic stream file to the intermediate folder; the destination end is also used to retrieve the geometric stream file and the semantic stream file from the intermediate folder.
4. The system according to claim 3, characterized in that: The host terminal is also used to monitor the transit folder using a daemon process; when it detects that the geometry stream file is being written to the transit folder, it retrieves the geometry stream file from the transit folder. When the semantic stream file is detected to be written to the relay folder, the semantic stream file is retrieved from the relay folder.
5. The system according to claim 1, characterized in that: The host terminal is also used to parse the semantic stream file into a Python dictionary object; extract the metadata of the low-dimensional geometric agent of the target modeling component or the cross-platform component identifier in the name of the low-dimensional geometric agent of the target modeling component; use the extracted cross-platform component identifier as the primary key to perform a search and match in the Python dictionary object; and determine the target IFC component corresponding to the target modeling component to be created based on the matching of the extracted cross-platform component identifier with the cross-platform component identifier of the target modeling component in the Python dictionary object.
6. The system according to claim 1, characterized in that: The target IFC component corresponding to the target modeling component includes: Obtain the identity label of the target modeling component from its semantic data; Create a blank skeleton in the IFC database corresponding to the target IFC component and the identity label of the target modeling component.
7. The system according to claim 1, characterized in that: The host is also used to obtain the spatial hierarchy of the target modeling component from the semantic data of the target modeling component; and to anchor the target IFC component corresponding to the target modeling component to the spatial hierarchy of the target modeling component.
8. The system according to claim 1, characterized in that: The host is also used to obtain the non-geometric attributes of the target modeling component from the custom parameters in the semantic data of the target modeling component; and to seamlessly weave the non-geometric attributes of the target modeling component into the data tree of the target IFC component corresponding to the target modeling component.
9. The system according to claim 1, characterized in that: The host terminal is also used to use the cross-platform component identifier of the target modeling component as a globally unique identifier for the target IFC component corresponding to the target modeling component; Register the globally unique identifier of the target IFC component corresponding to the target modeling component.
10. The system according to any one of claims 1-9, characterized in that: Suduan is also used for When designers create new component types on the client side during the design process using the BIM platform, the new component types are added to the standard type library file. The source side is also used to retrieve the new component types from the standard type library file when it detects that the generated standard type library file has been updated, and add the new component types to the front-end drop-down menu on the source side for displaying component types, so that designers can select the new component types through the front-end drop-down menu when designing using the 3D modeling platform.