Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

Having found nothing readily available I developed a Python utility called gbxmlMerge and posted it to github for others that may be looking for a similar capability.

gbxmlMerge is delicate but it does demonstrate how to manipulate gbXML files to merge Openings in one file with Surfaces in another to produce Surfaces with Openings. As the Python file states, it needs improvement with a geometry library to improve opening/surface matching but it's a good start anyway.

Incidentally, DesignBuilder includes a Merge Model Data From File capability that is similar to what gbxmlMerge tries to achieve. I haven't tried it but it sounds promising. OpenStudio advertises merge capability too but there isn't much in the way of control according to the application.

Also, for those looking to manipulate gbXML programmatically there is plenty written on the coding side about XML. The utilities are available in all kinds of flavors. Just need to pick an environment and start hacking. In that vein, XML Notepad was a nice resource in addition to a good text editor to build familiarity with the gbXML file structure. Spider Viewer was also very helpful.

-Jake

Having found nothing readily available I developed a Python utility called gbxmlMerge and posted it to github for others that may be looking for a similar capability.

gbxmlMerge is delicate but it does demonstrate how to manipulate gbXML files to merge Openings in one file with Surfaces in another to produce Surfaces with Openings. As the Python file states, it needs improvement with a gbxmlMerge is based on xgbxml for gbXML handling and topologicpy for geometry library to improve opening/surface matching handling. gbxmlMerge has been used on a production project and showed good results. Your mileage may vary but it's a good gbxmlMerge is a much better start anyway.than I had.

Incidentally, DesignBuilder includes a Merge Model Data From File capability that is similar to what gbxmlMerge tries to achieve. I haven't tried it but it sounds promising. OpenStudio advertises merge capability too but there isn't much in the way of control according to the application.

Also, for those looking to manipulate gbXML programmatically there is plenty written on the coding side about XML. The utilities are available in all kinds of flavors. Just need to pick an environment and start hacking. In that vein, XML Notepad was a nice resource in addition to a good text editor to build familiarity with the gbXML file structure. Spider Viewer was also very helpful.

-Jake

helpful. xgbxml is an essential library if working in the Python environment.

-Jake

Having found nothing readily available I developed a Python utility called gbxmlMerge and posted it to github for others that may be looking for a similar capability.

gbxmlMerge demonstrate how to manipulate gbXML files to merge Openings in one file with Surfaces in another to produce Surfaces with Openings. gbxmlMerge is based on xgbxml for gbXML handling and topologicpy for geometry handling. gbxmlMerge has been used on a production project and showed good results. Your mileage may vary but gbxmlMerge is a much better start than I had.

Incidentally, DesignBuilder includes a Merge Model Data From File capability that is similar to what gbxmlMerge tries to achieve. I haven't tried it but it sounds promising. OpenStudio advertises merge capability too but there isn't much in the way of control according to the application.

Also, for those looking to manipulate gbXML programmatically there is plenty written on the coding side about XML. The utilities are available in all kinds of flavors. Just need to pick an environment and start hacking. In that vein, XML Notepad was a nice resource in addition to a good text editor to build familiarity with the gbXML file structure. Spider Viewer was also very helpful. helpful.

In the Python environment xgbxml is was an essential library if working in the Python environment.for reducing effort related to gbxml handling. topologicpy was essential for accurate decision making based on geometry tests.

-Jake

Having found nothing readily available I developed a Python utility called gbxmlMerge and posted it to github for others that may be looking for a similar capability.

gbxmlMerge demonstrate how to manipulate gbXML files to merge Openings in one file with Surfaces in another to produce Surfaces with Openings. gbxmlMerge is based on xgbxml for gbXML handling and topologicpy for geometry handling. gbxmlMerge has been used on a production project and showed good results. Your mileage may vary but gbxmlMerge is a much better start than I had.

Incidentally, DesignBuilder includes a Merge Model Data From File capability that is similar to what gbxmlMerge tries to achieve. I haven't tried it but it sounds promising. OpenStudio advertises merge capability too but there isn't much in the way of control according to the application.

Also, for those looking to manipulate gbXML programmatically there is plenty written on the coding side about XML. The utilities are available in all kinds of flavors. Just need to pick an environment and start hacking. In that vein, XML Notepad was a nice resource in addition to a good text editor to build familiarity with the gbXML file structure. Spider Viewer was also very helpful.

In the Python environment xgbxml was an essential library for reducing effort related to gbxml handling. topologicpy was essential for accurate decision making based on geometry tests.

-Jake