mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 09:48:32 +00:00
Added IFC v4.0 json schema and added docs API for working with schemas
The schema for IFC4 the same as it was for IFC2x3. Properties schema for IFC4 includes both quantity and propety sets. Also cleaned up entities description for IFC2x3 from HTML code and IFC tags.
This commit is contained in:
@@ -19,23 +19,86 @@
|
||||
import glob
|
||||
from pathlib import Path
|
||||
import json
|
||||
from pprint import pprint
|
||||
import urllib.parse
|
||||
import warnings
|
||||
|
||||
from markdown import markdown
|
||||
from bs4 import BeautifulSoup
|
||||
from pprint import pprint
|
||||
from bs4 import MarkupResemblesLocatorWarning
|
||||
import requests
|
||||
|
||||
DOCS_LOCATION = 'Ifc2.3.0.1'
|
||||
IFC2x3_DOCS_LOCATION = 'Ifc2.3.0.1'
|
||||
IFC4_DOCS_LOCATION = 'Ifc4.0.2.1'
|
||||
|
||||
|
||||
SCHEMA_FILES = {
|
||||
'IFC2X3': {
|
||||
'entities': Path('schema/ifc2x3_entities.json'),
|
||||
'properties': Path('schema/ifc2x3_properties.json')
|
||||
},
|
||||
'IFC4': {
|
||||
'entities': Path('schema/ifc4_entities.json'),
|
||||
'properties': Path('schema/ifc4_properties.json')
|
||||
}
|
||||
}
|
||||
|
||||
class DocAPI:
|
||||
def __init__(self):
|
||||
self.doc_database = {ifc_version: dict() for ifc_version in SCHEMA_FILES}
|
||||
files_missing = False
|
||||
for ifc_version in SCHEMA_FILES:
|
||||
for data_type in SCHEMA_FILES[ifc_version]:
|
||||
schema_path = SCHEMA_FILES[ifc_version][data_type]
|
||||
if not schema_path.is_file():
|
||||
print(f"Schema file {schema_path} wasn't found.")
|
||||
files_missing = True
|
||||
continue
|
||||
|
||||
with open(schema_path, 'r') as fi:
|
||||
self.doc_database[ifc_version][data_type] = json.load(fi)
|
||||
if files_missing:
|
||||
raise Exception(
|
||||
'Some schema files are missing - they contain neccessary data for DocAPI to work. \n'
|
||||
'Make sure those files are present. To generate them you can run DocExtractor extract functions \n'
|
||||
'but it will require corresponding Ifc docs to be in the same directory as the script.'
|
||||
)
|
||||
|
||||
def check_version_name(self, version_name):
|
||||
if version_name not in self.doc_database:
|
||||
raise Exception(
|
||||
f'Version: {version_name} is not supported. '
|
||||
f'Supported version: {", ".join(self.doc_database.keys())}')
|
||||
return version_name
|
||||
|
||||
def get_entity_doc(self, version, entity):
|
||||
version = self.check_version_name(version)
|
||||
return self.doc_database[version]['entities'][entity]
|
||||
|
||||
def get_attribute_doc(self, version, entity, attribute):
|
||||
version = self.check_version_name(version)
|
||||
return self.doc_database[version]['entities'][entity]['attributes'][attribute]
|
||||
|
||||
def get_property_set_doc(self, version, pset):
|
||||
version = self.check_version_name(version)
|
||||
return self.doc_database[version]['properties'][pset]
|
||||
|
||||
def get_property_doc(self, version, pset, prop):
|
||||
version = self.check_version_name(version)
|
||||
return self.doc_database[version]['properties'][pset]['properties'][prop]
|
||||
|
||||
|
||||
class DocExtractor:
|
||||
def extract_ifc2x3(self):
|
||||
parse_data_location = Path(DOCS_LOCATION)
|
||||
print('Parsing data for Ifc2.3.0.1')
|
||||
parse_data_location = Path(IFC2x3_DOCS_LOCATION)
|
||||
if not parse_data_location.is_dir():
|
||||
raise Exception(
|
||||
f'Docs for IFC 2.3.0.1 expected to be in folder "{parse_data_location.resolve()}\\"\n'
|
||||
'For doc extraction please either setup docs as described above \n'
|
||||
'or change DOCS_LOCATION in doc.py accordingly.'
|
||||
'or change IFC2x3_DOCS_LOCATION in doc.py accordingly. \n'
|
||||
'You can download docs from the repository: \n'
|
||||
'https://github.com/buildingSMART/IFC/tree/Ifc2.3.0.1'
|
||||
)
|
||||
|
||||
# need to parse actual domains from the website
|
||||
@@ -43,11 +106,11 @@ class DocExtractor:
|
||||
# probably due domains on the website being from 4_0
|
||||
# example (property set / github domain / website domain):
|
||||
# Pset_AirTerminalBoxPHistory IfcControlExtension IfcHvacDomain
|
||||
self.extract_ifc2x3_property_sets_domains()
|
||||
self.extract_ifc2x3_property_sets_site_domains()
|
||||
self.extract_ifc2x3_entities()
|
||||
self.extract_ifc2x3_property_sets()
|
||||
|
||||
def extract_ifc2x3_property_sets_domains(self):
|
||||
def extract_ifc2x3_property_sets_site_domains(self):
|
||||
property_sets_domains = dict()
|
||||
r = requests.get('https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/psd/psd_index.htm')
|
||||
html = BeautifulSoup(r.content, features='lxml')
|
||||
@@ -56,7 +119,7 @@ class DocExtractor:
|
||||
property_sets_domains[pset] = domain
|
||||
|
||||
# export property sets data
|
||||
with open('schema/ifc2x3_property_sets_domains.json', 'w', encoding='utf-8') as fo:
|
||||
with open('schema/ifc2x3_property_sets_site_domains.json', 'w', encoding='utf-8') as fo:
|
||||
print(f'{len(property_sets_domains)} property sets domains were parsed from the website')
|
||||
json.dump(
|
||||
property_sets_domains, fo,
|
||||
@@ -67,7 +130,8 @@ class DocExtractor:
|
||||
entities_dict = dict()
|
||||
|
||||
# search
|
||||
entities_paths = [filepath for filepath in glob.iglob(f'{DOCS_LOCATION}/Sections/**/Entities', recursive=True)]
|
||||
entities_paths = [filepath
|
||||
for filepath in glob.iglob(f'{IFC2x3_DOCS_LOCATION}/Sections/**/Entities', recursive=True)]
|
||||
for parse_folder_path in entities_paths:
|
||||
for entity_path in glob.iglob(f'{parse_folder_path}/**/'):
|
||||
entity_path = Path(entity_path)
|
||||
@@ -82,24 +146,44 @@ class DocExtractor:
|
||||
with open(md_path, 'r', encoding='utf-8-sig') as fi:
|
||||
# convert markdown to html for easier parsing
|
||||
html = markdown(fi.read())
|
||||
description = BeautifulSoup(html, features="lxml").find('p').text
|
||||
description = description.replace('\n', ' ')
|
||||
description = description.replace('\u00a0', ' ')
|
||||
entity_description = BeautifulSoup(html, features="lxml").find('p').text
|
||||
entity_description = entity_description.replace('\n', ' ')
|
||||
entity_description = entity_description.replace('\u00a0', ' ')
|
||||
|
||||
with open(xml_path, 'r', encoding='utf-8') as fi:
|
||||
bs_tree = BeautifulSoup(fi.read(), features='lxml')
|
||||
entity_attrs = dict()
|
||||
for html_attr in bs_tree.find_all('docattribute'):
|
||||
# temporarily disable MarkupResemblesLocatorWarning
|
||||
# because BeautifulSoup wrongly assume we confused
|
||||
# html code for filepath and gives warnings
|
||||
with warnings.catch_warnings():
|
||||
warnings.simplefilter('ignore', category=MarkupResemblesLocatorWarning)
|
||||
|
||||
description = html_attr.text.strip()
|
||||
description = description.replace('\n', ' ')
|
||||
description = description.replace('\u00a0', ' ')
|
||||
entity_attrs[html_attr['name']] = description
|
||||
for html_attr in bs_tree.find_all('docattribute'):
|
||||
html_description = BeautifulSoup(html_attr.text, features='lxml')
|
||||
attr_description = html_description.get_text()
|
||||
|
||||
attr_description = attr_description.replace('\n', ' ')
|
||||
attr_description = attr_description.replace('\u00a0', ' ')
|
||||
attr_description = attr_description.replace('&npsp;', ' ')
|
||||
|
||||
# discard part of the description with changelog
|
||||
# Example:
|
||||
# https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ifcpresentationdefinitionresource/lexical/ifcannotationfillarea.htm
|
||||
attr_description = attr_description.split('IFC2x Edition 3 CHANGE', 1)[0]
|
||||
attr_description = attr_description.split('IFC2x Edition 2 Addendum 2 CHANGE', 1)[0]
|
||||
attr_description = attr_description.split('IFC2x2 Addendum 1 change', 1)[0]
|
||||
attr_description = attr_description.split('IFC2x PLATFORM CHANGE', 1)[0]
|
||||
attr_description = attr_description.split('IFC2x3 CHANGE', 1)[0]
|
||||
attr_description = attr_description.split('IFC2x Edition3 CHANGE', 1)[0]
|
||||
|
||||
attr_description = attr_description.strip().rstrip('>').strip()
|
||||
entity_attrs[html_attr['name']] = attr_description
|
||||
|
||||
if entity_attrs:
|
||||
entities_dict[entity_name]['attributes'] = entity_attrs
|
||||
|
||||
entities_dict[entity_name]['description'] = description
|
||||
entities_dict[entity_name]['description'] = entity_description
|
||||
spec_url = 'https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/' \
|
||||
f'{md_path.parents[2].name.lower()}/lexical/{entity_name.lower()}.htm'
|
||||
entities_dict[entity_name]['spec_url'] = spec_url
|
||||
@@ -118,10 +202,11 @@ class DocExtractor:
|
||||
property_sets_spec_urls = dict()
|
||||
|
||||
# extract lists of properties and theirs references for each property set
|
||||
parsed_paths = [filepath for filepath in glob.iglob(f'{DOCS_LOCATION}/Sections/**/PropertySets', recursive=True)]
|
||||
parsed_paths = [filepath
|
||||
for filepath in glob.iglob(f'{IFC2x3_DOCS_LOCATION}/Sections/**/PropertySets', recursive=True)]
|
||||
|
||||
# prepare property sets domains from the website we extracted earlier
|
||||
with open('schema/ifc2x3_property_sets_domains.json', 'r') as fi:
|
||||
with open('schema/ifc2x3_property_sets_site_domains.json', 'r') as fi:
|
||||
property_sets_site_domains = json.load(fi)
|
||||
|
||||
for parse_folder_path in parsed_paths:
|
||||
@@ -133,21 +218,21 @@ class DocExtractor:
|
||||
xml_path = property_set_path / 'DocPropertySet.xml'
|
||||
with open(xml_path, 'r', encoding='utf-8') as fi:
|
||||
bs_tree = BeautifulSoup(fi.read(), features='lxml')
|
||||
entity_attrs = dict()
|
||||
for html_attr in bs_tree.find_all('docproperty'):
|
||||
property_references.append(html_attr['href'])
|
||||
|
||||
property_sets_references[property_set_name] = property_references
|
||||
property_set_domain = property_sets_site_domains[property_set_name]
|
||||
spec_url = f'https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/psd/{property_set_domain}/{property_set_name}.xml'
|
||||
spec_url = 'https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML' \
|
||||
f'/psd/{property_set_domain}/{property_set_name}.xml'
|
||||
property_sets_spec_urls[property_set_name] = spec_url
|
||||
|
||||
# setup references look up tables to convert property hrefs to actual data paths
|
||||
references_paths_lookup = dict()
|
||||
glob_query = f'{DOCS_LOCATION}/Properties/*/*'
|
||||
glob_query = f'{IFC2x3_DOCS_LOCATION}/Properties/*/*'
|
||||
for parsed_path in [filepath for filepath in glob.iglob(glob_query, recursive=False)]:
|
||||
parsed_path = Path(parsed_path)
|
||||
# all references omit "$" character, I've checked
|
||||
# all references omit "$" character, I've checked it on 2_3
|
||||
# need to check it if moving to next IFC version
|
||||
property_reference = parsed_path.name.replace('$', '')
|
||||
references_paths_lookup[property_reference] = parsed_path
|
||||
@@ -164,7 +249,6 @@ class DocExtractor:
|
||||
|
||||
with open(xml_path, 'r', encoding='utf-8') as fi:
|
||||
bs_tree = BeautifulSoup(fi.read(), features='lxml')
|
||||
entity_attrs = dict()
|
||||
tags = bs_tree.find_all('docproperty')
|
||||
|
||||
# check for child properties - if they are present parse their data recursively
|
||||
@@ -188,9 +272,8 @@ class DocExtractor:
|
||||
|
||||
|
||||
if not md_path.is_file():
|
||||
print('WARNING. Property is missing documentation.md, description will be set to empty. '
|
||||
f'Url: {github_xml_url}')
|
||||
description = ''
|
||||
print(f'WARNING. Property {property_name} is missing documentation.md, '
|
||||
f'property will be left without description. Url: {github_xml_url}')
|
||||
else:
|
||||
with open(md_path, 'r', encoding='utf-8-sig') as fi:
|
||||
# convert markdown to html for easier parsing
|
||||
@@ -198,7 +281,7 @@ class DocExtractor:
|
||||
description = BeautifulSoup(html, features="lxml").find('p').text
|
||||
description = description.replace('\n', ' ')
|
||||
description = description.replace('\u00a0', ' ')
|
||||
property_dict['description'] = description
|
||||
property_dict['description'] = description
|
||||
return (property_name, property_dict)
|
||||
|
||||
|
||||
@@ -222,9 +305,280 @@ class DocExtractor:
|
||||
sort_keys=True, indent=4
|
||||
)
|
||||
|
||||
def extract_ifc4(self):
|
||||
print('Parsing data for Ifc4.0.2.1')
|
||||
parse_data_location = Path(IFC4_DOCS_LOCATION)
|
||||
if not parse_data_location.is_dir():
|
||||
raise Exception(
|
||||
f'Docs for Ifc4.0.2.1 expected to be in folder "{parse_data_location.resolve()}\\"\n'
|
||||
'For doc extraction please either setup docs as described above \n'
|
||||
'or change IFC4_DOCS_LOCATION in doc.py accordingly.'
|
||||
'You can download docs from the repository: \n'
|
||||
'https://github.com/buildingSMART/IFC/tree/Ifc4.0.2.1'
|
||||
)
|
||||
|
||||
# actually domains in Ifc 4.0 are consistent between website and docs
|
||||
# BUT there are two property sets that site is missing and therefore they won't have spec_url
|
||||
# because of them I left the site parsing too
|
||||
# missed property sets:
|
||||
# Pset_BuildingElementCommon Pset_ElementCommon
|
||||
self.extract_ifc4_property_sets_site_domains()
|
||||
self.extract_ifc4_entities()
|
||||
self.extract_ifc4_property_sets()
|
||||
|
||||
def extract_ifc4_property_sets_site_domains(self):
|
||||
property_sets_domains = dict()
|
||||
with requests.get(
|
||||
'https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1'
|
||||
'/HTML/annex/annex-b/alphabeticalorder_psets.htm') as r:
|
||||
html = BeautifulSoup(r.content, features='lxml')
|
||||
for a in html.find_all('a', {'class': 'listing-link'}):
|
||||
href_split = a['href'].split('/')
|
||||
domain = href_split[3]
|
||||
pset = href_split[5].removesuffix('.htm')
|
||||
property_sets_domains[pset] = domain
|
||||
|
||||
with requests.get(
|
||||
'https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/'
|
||||
'/HTML/annex/annex-b/alphabeticalorder_qsets.htm') as r:
|
||||
html = BeautifulSoup(r.content, features='lxml')
|
||||
for a in html.find_all('a', {'class': 'listing-link'}):
|
||||
href_split = a['href'].split('/')
|
||||
domain = href_split[3]
|
||||
pset = href_split[5].removesuffix('.htm')
|
||||
property_sets_domains[pset] = domain
|
||||
|
||||
# export property sets data
|
||||
with open('schema/ifc4_property_sets_site_domains.json', 'w', encoding='utf-8') as fo:
|
||||
print(f'{len(property_sets_domains)} property sets domains were parsed from the website')
|
||||
json.dump(
|
||||
property_sets_domains, fo,
|
||||
sort_keys=True, indent=4
|
||||
)
|
||||
|
||||
def extract_ifc4_entities(self):
|
||||
entities_dict = dict()
|
||||
|
||||
# search
|
||||
entities_paths = [filepath for filepath in glob.iglob(f'{IFC4_DOCS_LOCATION}/Sections/**/Entities', recursive=True)]
|
||||
for parse_folder_path in entities_paths:
|
||||
for entity_path in glob.iglob(f'{parse_folder_path}/**/'):
|
||||
entity_path = Path(entity_path)
|
||||
entity_name = entity_path.stem
|
||||
entities_dict[entity_name] = dict()
|
||||
|
||||
# utf-8-sig because of \ufeff occcurs - meaning it's utf bom encoded
|
||||
md_path = entity_path / 'Documentation.md'
|
||||
xml_path = entity_path / 'DocEntity.xml'
|
||||
github_md_url = f'https://github.com/buildingSMART/IFC/blob/{urllib.parse.quote(str(md_path.as_posix()))}'
|
||||
|
||||
with open(md_path, 'r', encoding='utf-8-sig') as fi:
|
||||
# convert markdown to html for easier parsing
|
||||
html = markdown(fi.read())
|
||||
entity_description = BeautifulSoup(html, features="lxml").find('p').text
|
||||
entity_description = entity_description.replace('\n', ' ')
|
||||
entity_description = entity_description.replace('\u00a0', ' ')
|
||||
entity_description = entity_description.replace('{ .extDef}', '')
|
||||
entity_description = entity_description.strip()
|
||||
|
||||
with open(xml_path, 'r', encoding='utf-8') as fi:
|
||||
bs_tree = BeautifulSoup(fi.read(), features='lxml')
|
||||
entity_attrs = dict()
|
||||
# temporarily disable MarkupResemblesLocatorWarning
|
||||
# because BeautifulSoup wrongly assume we confused
|
||||
# html code for filepath and gives warnings
|
||||
with warnings.catch_warnings():
|
||||
warnings.simplefilter('ignore', category=MarkupResemblesLocatorWarning)
|
||||
for html_attr in bs_tree.find_all('docattribute'):
|
||||
html_description = BeautifulSoup(html_attr.text, features='lxml')
|
||||
attr_description = html_description.get_text()
|
||||
attr_description = attr_description.replace('\n', ' ')
|
||||
attr_description = attr_description.replace('\u00a0', ' ')
|
||||
|
||||
# discard part of the description with changelog, notes and examples etc.
|
||||
# Those notes actually can be useful but we'll need a way to reformat them
|
||||
# Example:
|
||||
# https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/schema/ifcsharedbldgelements/lexical/ifcrelconnectspathelements.htm
|
||||
attr_description = attr_description.split('{ .change-ifc', 1)[0]
|
||||
attr_description = attr_description.split('{ .note', 1)[0]
|
||||
attr_description = attr_description.split('{ .examples', 1)[0]
|
||||
attr_description = attr_description.split('{ .deprecated', 1)[0]
|
||||
attr_description = attr_description.split('{ .history', 1)[0]
|
||||
|
||||
attr_description = attr_description.strip()
|
||||
entity_attrs[html_attr['name']] = attr_description
|
||||
|
||||
if entity_attrs:
|
||||
entities_dict[entity_name]['attributes'] = entity_attrs
|
||||
|
||||
entities_dict[entity_name]['description'] = entity_description
|
||||
spec_url = 'https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/schema/' \
|
||||
f'{md_path.parents[2].name.lower()}/lexical/{entity_name.lower()}.htm'
|
||||
entities_dict[entity_name]['spec_url'] = spec_url
|
||||
# entities_dict[entity_name]['github_url'] = github_md_url
|
||||
|
||||
# export entities data
|
||||
with open('schema/ifc4_entities.json', 'w', encoding='utf-8') as fo:
|
||||
print(f'{len(entities_dict)} entities parsed')
|
||||
json.dump(
|
||||
entities_dict, fo,
|
||||
sort_keys=True, indent=4
|
||||
)
|
||||
|
||||
def extract_ifc4_property_sets(self):
|
||||
# function parses both property and quantity sets
|
||||
property_sets_dict = dict()
|
||||
property_sets_references = dict()
|
||||
property_sets_spec_urls = dict()
|
||||
|
||||
# extract lists of properties and theirs references for each property set
|
||||
parsed_paths = [filepath for filepath in glob.iglob(f'{IFC4_DOCS_LOCATION}/Sections/**/PropertySets', recursive=True)]
|
||||
parsed_paths += [filepath for filepath in glob.iglob(f'{IFC4_DOCS_LOCATION}/Sections/**/QuantitySets', recursive=True)]
|
||||
|
||||
# prepare property sets domains from the website we extracted earlier
|
||||
with open('schema/ifc4_property_sets_site_domains.json', 'r') as fi:
|
||||
property_sets_site_domains = json.load(fi)
|
||||
|
||||
psets_test = set()
|
||||
for parse_folder_path in parsed_paths:
|
||||
for property_set_path in glob.iglob(f'{parse_folder_path}/**/'):
|
||||
property_set_path = Path(property_set_path)
|
||||
property_set_name = property_set_path.stem
|
||||
|
||||
property_references = list()
|
||||
property_quantity = property_set_path.parents[0].name == 'QuantitySets'
|
||||
xml_path = property_set_path / ('DocQuantitySet.xml' if property_quantity else 'DocPropertySet.xml')
|
||||
|
||||
with open(xml_path, 'r', encoding='utf-8') as fi:
|
||||
bs_tree = BeautifulSoup(fi.read(), features='lxml')
|
||||
for html_attr in bs_tree.find_all('docquantity' if property_quantity else 'docproperty'):
|
||||
property_references.append(html_attr['href'])
|
||||
|
||||
property_sets_references[property_set_name] = property_references
|
||||
|
||||
if property_set_name.lower() not in property_sets_site_domains:
|
||||
print(f"WARNING. {property_set_name} was not found on the spec website, "
|
||||
"this property set won't have any spec_url in schema.")
|
||||
else:
|
||||
property_set_domain = property_sets_site_domains.get(property_set_name.lower(), '')
|
||||
spec_url = 'https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML' \
|
||||
f'/schema/{property_set_domain}' \
|
||||
f'/{"qset" if property_quantity else "pset"}' \
|
||||
f'/{property_set_name.lower()}.htm'
|
||||
property_sets_spec_urls[property_set_name] = spec_url
|
||||
|
||||
|
||||
# setup references look up tables to convert property hrefs to actual data paths
|
||||
references_paths_lookup = dict()
|
||||
parsed_paths = [filepath
|
||||
for filepath in glob.iglob(f'{IFC4_DOCS_LOCATION}/Properties/*/*', recursive=False)]
|
||||
parsed_paths += [filepath
|
||||
for filepath in glob.iglob(f'{IFC4_DOCS_LOCATION}/Quantities/*/*', recursive=False)]
|
||||
for parsed_path in parsed_paths:
|
||||
parsed_path = Path(parsed_path)
|
||||
# all references omit "$" character, I've checked it on 4_0
|
||||
# need to check it if moving to next IFC version
|
||||
# btw no reason to check if all references were used in properties
|
||||
# because there are also child properties
|
||||
property_reference = parsed_path.name.replace('$', '')
|
||||
references_paths_lookup[property_reference] = parsed_path
|
||||
|
||||
# setup a function because we'll need to check child properties recusively
|
||||
def get_property_info_by_href(href):
|
||||
property_dict = dict()
|
||||
property_path = references_paths_lookup[href]
|
||||
|
||||
property_quantity = property_path.parents[1].name == 'Quantities'
|
||||
|
||||
md_path = property_path / 'Documentation.md'
|
||||
xml_path = property_path / ('DocQuantity.xml' if property_quantity else 'DocProperty.xml')
|
||||
github_md_url = f'https://github.com/buildingSMART/IFC/blob/{urllib.parse.quote(str(md_path.as_posix()))}'
|
||||
github_xml_url = f'https://github.com/buildingSMART/IFC/blob/{urllib.parse.quote(str(xml_path.as_posix()))}'
|
||||
|
||||
with open(xml_path, 'r', encoding='utf-8') as fi:
|
||||
bs_tree = BeautifulSoup(fi.read(), features='lxml')
|
||||
tags = bs_tree.find_all('docquantity' if property_quantity else 'docproperty')
|
||||
|
||||
# check for child properties - if they are present parse their data recursively
|
||||
elements_tag = bs_tree.find('elements')
|
||||
if elements_tag is not None:
|
||||
child_tags = elements_tag.find_all('docquantity' if property_quantity else 'docproperty')
|
||||
child_tags_dict = dict()
|
||||
|
||||
for child_tag in child_tags:
|
||||
child_tag_href = child_tag['href']
|
||||
child_tag_name, child_tag_dict = get_property_info_by_href(child_tag_href)
|
||||
child_tags_dict[child_tag_name] = child_tag_dict
|
||||
tags.remove(child_tag)
|
||||
property_dict['children'] = child_tags_dict
|
||||
print(f'Child nodes found inside property xml. Url: {github_xml_url}')
|
||||
|
||||
if len(tags) != 1:
|
||||
print(f'WARNING. Found more properties inside property xml, '
|
||||
f'only first one were parsed (number of properties: {len(tags)}). Url: {github_xml_url}.')
|
||||
property_name = tags[0]['name']
|
||||
|
||||
if not md_path.is_file():
|
||||
print(f'WARNING. Property {property_name} is missing documentation.md, property will be left without description. '
|
||||
f'Url: {github_xml_url}')
|
||||
else:
|
||||
with open(md_path, 'r', encoding='utf-8-sig') as fi:
|
||||
# convert markdown to html for easier parsing
|
||||
html = markdown(fi.read())
|
||||
description = BeautifulSoup(html, features="lxml").find('p').text
|
||||
description = description.replace('\n', ' ')
|
||||
description = description.replace('\u00a0', ' ')
|
||||
property_dict['description'] = description
|
||||
return (property_name, property_dict)
|
||||
|
||||
# lookup each property reference and save it's name and description
|
||||
for property_set_name in property_sets_references:
|
||||
properties_dict = dict()
|
||||
for property_reference in property_sets_references[property_set_name]:
|
||||
property_name, property_dict = get_property_info_by_href(property_reference)
|
||||
properties_dict[property_name] = property_dict
|
||||
property_sets_dict[property_set_name] = {
|
||||
'properties': properties_dict
|
||||
}
|
||||
if property_set_name in property_sets_spec_urls:
|
||||
spec_url = property_sets_spec_urls[property_set_name]
|
||||
property_sets_dict[property_set_name]['spec_url'] = spec_url
|
||||
|
||||
|
||||
# export property sets data
|
||||
with open('schema/ifc4_properties.json', 'w', encoding='utf-8') as fo:
|
||||
print(f'{len(property_sets_dict)} property sets parsed')
|
||||
json.dump(
|
||||
property_sets_dict, fo,
|
||||
sort_keys=True, indent=4
|
||||
)
|
||||
|
||||
def run_doc_api_examples():
|
||||
query = DocAPI()
|
||||
print('Entities:')
|
||||
print(query.get_entity_doc('IFC2X3', 'IfcActionRequest'))
|
||||
print(query.get_entity_doc('IFC4', 'IfcActionRequest'))
|
||||
|
||||
print('Entity attributes:')
|
||||
print(query.get_attribute_doc('IFC2X3', 'IfcActionRequest', 'RequestID'))
|
||||
print(query.get_attribute_doc('IFC4', 'IfcActionRequest', 'PredefinedType'))
|
||||
|
||||
print('Propety sets:')
|
||||
print(query.get_property_set_doc('IFC2X3', 'Pset_ZoneCommon'))
|
||||
print(query.get_property_set_doc('IFC4', 'Pset_ZoneCommon'))
|
||||
|
||||
print('Propety sets attributes:')
|
||||
print(query.get_property_doc('IFC2X3', 'Pset_ZoneCommon', 'Category'))
|
||||
print(query.get_property_doc('IFC4', 'Pset_ZoneCommon', 'NetPlannedArea'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
extractor = DocExtractor()
|
||||
extractor.extract_ifc2x3()
|
||||
extractor.extract_ifc4()
|
||||
|
||||
# run_doc_api_examples()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -421,9 +421,7 @@
|
||||
"SecondaryAirflowRateRange": {
|
||||
"description": "possible range of secondary airflow that can be delivered"
|
||||
},
|
||||
"Weight": {
|
||||
"description": ""
|
||||
}
|
||||
"Weight": {}
|
||||
},
|
||||
"spec_url": "https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/psd/IfcHvacDomain/Pset_AirToAirHeatRecoveryTypeCommon.xml"
|
||||
},
|
||||
@@ -5443,9 +5441,7 @@
|
||||
"HandicapAccessible": {
|
||||
"description": "Indication whether this space (in case of e.g., a toilet) is designed to serve as an accessible space for handicapped people, e.g., for a public toilet (TRUE) or not (FALSE). This information is often used to declare the need for access for the disabled and for special design requirements of this space."
|
||||
},
|
||||
"NetPlannedArea": {
|
||||
"description": ""
|
||||
},
|
||||
"NetPlannedArea": {},
|
||||
"PubliclyAccessible": {
|
||||
"description": "Indication whether this space (in case of e.g., a toilet) is designed to serve as a publicly accessible space, e.g., for a public toilet (TRUE) or not (FALSE)."
|
||||
},
|
||||
|
||||
+319
@@ -0,0 +1,319 @@
|
||||
{
|
||||
"Pset_ActionRequest": "IfcFacilitiesMgmtDomain",
|
||||
"Pset_ActorCommon": "IfcKernel",
|
||||
"Pset_ActuatorTypeCommon": "IfcBuildingControlsDomain",
|
||||
"Pset_ActuatorTypeElectricActuator": "IfcBuildingControlsDomain",
|
||||
"Pset_ActuatorTypeHydraulicActuator": "IfcBuildingControlsDomain",
|
||||
"Pset_ActuatorTypeLinearActuation": "IfcBuildingControlsDomain",
|
||||
"Pset_ActuatorTypePneumaticActuator": "IfcBuildingControlsDomain",
|
||||
"Pset_ActuatorTypeRotationalActuation": "IfcBuildingControlsDomain",
|
||||
"Pset_AirSideSystemInformation": "IfcSharedBldgServiceElements",
|
||||
"Pset_AirTerminalBoxPHistory": "IfcHvacDomain",
|
||||
"Pset_AirTerminalBoxTypeCommon": "IfcHvacDomain",
|
||||
"Pset_AirTerminalPHistory": "IfcHvacDomain",
|
||||
"Pset_AirTerminalTypeCommon": "IfcHvacDomain",
|
||||
"Pset_AirTerminalTypeRectangular": "IfcHvacDomain",
|
||||
"Pset_AirTerminalTypeRound": "IfcHvacDomain",
|
||||
"Pset_AirTerminalTypeSlot": "IfcHvacDomain",
|
||||
"Pset_AirTerminalTypeSquare": "IfcHvacDomain",
|
||||
"Pset_AirToAirHeatRecoveryPHist": "IfcHvacDomain",
|
||||
"Pset_AirToAirHeatRecoveryTypeCommon": "IfcHvacDomain",
|
||||
"Pset_AnalogInput": "IfcBuildingControlsDomain",
|
||||
"Pset_AnalogOutput": "IfcBuildingControlsDomain",
|
||||
"Pset_Asset": "IfcSharedFacilitiesElements",
|
||||
"Pset_BeamCommon": "IfcSharedBldgElements",
|
||||
"Pset_BinaryInput": "IfcBuildingControlsDomain",
|
||||
"Pset_BinaryOutput": "IfcBuildingControlsDomain",
|
||||
"Pset_BoilerPHistory": "IfcHvacDomain",
|
||||
"Pset_BoilerTypeCommon": "IfcHvacDomain",
|
||||
"Pset_BoilerTypeSteam": "IfcHvacDomain",
|
||||
"Pset_BuildingCommon": "IfcProductExtension",
|
||||
"Pset_BuildingElementProxyCommon": "IfcProductExtension",
|
||||
"Pset_BuildingStoreyCommon": "IfcProductExtension",
|
||||
"Pset_BuildingUse": "IfcProductExtension",
|
||||
"Pset_BuildingUseAdjacent": "IfcProductExtension",
|
||||
"Pset_BuildingWaterStorage": "IfcProductExtension",
|
||||
"Pset_CableCarrierSegmentTypeCableLadderSegment": "IfcElectricalDomain",
|
||||
"Pset_CableCarrierSegmentTypeCableTraySegment": "IfcElectricalDomain",
|
||||
"Pset_CableCarrierSegmentTypeCableTrunkingSegment": "IfcElectricalDomain",
|
||||
"Pset_CableCarrierSegmentTypeConduitSegment": "IfcElectricalDomain",
|
||||
"Pset_CableSegmentTypeCableSegment": "IfcElectricalDomain",
|
||||
"Pset_CableSegmentTypeConductorSegment": "IfcElectricalDomain",
|
||||
"Pset_ChillerPHistory": "IfcHvacDomain",
|
||||
"Pset_ChillerTypeCommon": "IfcHvacDomain",
|
||||
"Pset_CoilPHistory": "IfcHvacDomain",
|
||||
"Pset_CoilTypeCommon": "IfcHvacDomain",
|
||||
"Pset_CoilTypeHydronic": "IfcHvacDomain",
|
||||
"Pset_ColumnCommon": "IfcSharedBldgElements",
|
||||
"Pset_CompressorPHistory": "IfcHvacDomain",
|
||||
"Pset_CompressorTypeCommon": "IfcHvacDomain",
|
||||
"Pset_ConcreteElementGeneral": "IfcStructuralElementsDomain",
|
||||
"Pset_ConcreteElementQuantityGeneral": "IfcStructuralElementsDomain",
|
||||
"Pset_ConcreteElementSurfaceFinishQuantityGeneral": "IfcStructuralElementsDomain",
|
||||
"Pset_CondenserPHistory": "IfcHvacDomain",
|
||||
"Pset_CondenserTypeCommon": "IfcHvacDomain",
|
||||
"Pset_ControllerTypeCommon": "IfcBuildingControlsDomain",
|
||||
"Pset_ControllerTypeProportional": "IfcBuildingControlsDomain",
|
||||
"Pset_ControllerTypeTwoPosition": "IfcBuildingControlsDomain",
|
||||
"Pset_CooledBeamPHistory": "IfcHvacDomain",
|
||||
"Pset_CooledBeamPHistoryActive": "IfcHvacDomain",
|
||||
"Pset_CooledBeamTypeActive": "IfcHvacDomain",
|
||||
"Pset_CooledBeamTypeCommon": "IfcHvacDomain",
|
||||
"Pset_CoolingTowerPHistory": "IfcHvacDomain",
|
||||
"Pset_CoolingTowerTypeCommon": "IfcHvacDomain",
|
||||
"Pset_CoveringCeiling": "IfcProductExtension",
|
||||
"Pset_CoveringCommon": "IfcProductExtension",
|
||||
"Pset_CoveringFlooring": "IfcProductExtension",
|
||||
"Pset_CurtainWallCommon": "IfcSharedBldgElements",
|
||||
"Pset_DamperPHistory": "IfcHvacDomain",
|
||||
"Pset_DamperTypeCommon": "IfcHvacDomain",
|
||||
"Pset_DamperTypeControlDamper": "IfcHvacDomain",
|
||||
"Pset_DamperTypeFireDamper": "IfcHvacDomain",
|
||||
"Pset_DamperTypeFireSmokeDamper": "IfcHvacDomain",
|
||||
"Pset_DamperTypeSmokeDamper": "IfcHvacDomain",
|
||||
"Pset_DesignPoint": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_DiscreteAccessoryAnchorBolt": "IfcSharedComponentElements",
|
||||
"Pset_DiscreteAccessoryColumnShoe": "IfcSharedComponentElements",
|
||||
"Pset_DiscreteAccessoryCornerFixingPlate": "IfcSharedComponentElements",
|
||||
"Pset_DiscreteAccessoryDiagonalTrussConnector": "IfcSharedComponentElements",
|
||||
"Pset_DiscreteAccessoryEdgeFixingPlate": "IfcSharedComponentElements",
|
||||
"Pset_DiscreteAccessoryFixingSocket": "IfcSharedComponentElements",
|
||||
"Pset_DiscreteAccessoryLadderTrussConnector": "IfcSharedComponentElements",
|
||||
"Pset_DiscreteAccessoryStandardFixingPlate": "IfcSharedComponentElements",
|
||||
"Pset_DiscreteAccessoryWireLoop": "IfcSharedComponentElements",
|
||||
"Pset_DistributionChamberElementTypeFormedDuct": "IfcSharedBldgServiceElements",
|
||||
"Pset_DistributionChamberElementTypeInspectionChamber": "IfcSharedBldgServiceElements",
|
||||
"Pset_DistributionChamberElementTypeInspectionPit": "IfcSharedBldgServiceElements",
|
||||
"Pset_DistributionChamberElementTypeManhole": "IfcSharedBldgServiceElements",
|
||||
"Pset_DistributionChamberElementTypeMeterChamber": "IfcSharedBldgServiceElements",
|
||||
"Pset_DistributionChamberElementTypeSump": "IfcSharedBldgServiceElements",
|
||||
"Pset_DistributionChamberElementTypeTrench": "IfcSharedBldgServiceElements",
|
||||
"Pset_DistributionChamberElementTypeValveChamber": "IfcSharedBldgServiceElements",
|
||||
"Pset_DistributionFlowElementCommon": "IfcSharedBldgServiceElements",
|
||||
"Pset_DistributionPortDuct": "IfcSharedBldgServiceElements",
|
||||
"Pset_DistributionPortPipe": "IfcSharedBldgServiceElements",
|
||||
"Pset_DoorCommon": "IfcSharedBldgElements",
|
||||
"Pset_DoorWindowGlazingType": "IfcSharedBldgElements",
|
||||
"Pset_DoorWindowShadingType": "IfcSharedBldgElements",
|
||||
"Pset_DrainageCatchment": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_DrainageCulvert": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_DrainageOutfall": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_DrainageReserve": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_Draughting": "IfcProductExtension",
|
||||
"Pset_DuctConnection": "IfcHvacDomain",
|
||||
"Pset_DuctDesignCriteria": "IfcHvacDomain",
|
||||
"Pset_DuctFittingPHistory": "IfcHvacDomain",
|
||||
"Pset_DuctFittingTypeCommon": "IfcHvacDomain",
|
||||
"Pset_DuctSegmentPHistory": "IfcHvacDomain",
|
||||
"Pset_DuctSegmentTypeCommon": "IfcHvacDomain",
|
||||
"Pset_DuctSilencerPHistory": "IfcHvacDomain",
|
||||
"Pset_DuctSilencerTypeCommon": "IfcHvacDomain",
|
||||
"Pset_ElectricDistributionPointCommon": "IfcElectricalDomain",
|
||||
"Pset_ElectricGeneratorTypeCommon": "IfcElectricalDomain",
|
||||
"Pset_ElectricHeaterTypeElectricalCableHeater": "IfcElectricalDomain",
|
||||
"Pset_ElectricHeaterTypeElectricalMatHeater": "IfcElectricalDomain",
|
||||
"Pset_ElectricHeaterTypeElectricalPointHeater": "IfcElectricalDomain",
|
||||
"Pset_ElectricMotorTypeCommon": "IfcElectricalDomain",
|
||||
"Pset_ElectricalCircuit": "IfcElectricalDomain",
|
||||
"Pset_ElectricalDeviceCommon": "IfcElectricalDomain",
|
||||
"Pset_ElementShading": "IfcProductExtension",
|
||||
"Pset_EnergyConsumptionPHistoryElectricity": "IfcHvacDomain",
|
||||
"Pset_EnergyConsumptionPHistoryFuel": "IfcHvacDomain",
|
||||
"Pset_EnergyConsumptionPHistorySteam": "IfcHvacDomain",
|
||||
"Pset_EnergyConversionDeviceCoil": "IfcSharedBldgServiceElements",
|
||||
"Pset_EnergyConversionDeviceSpaceHeaterPanel": "IfcSharedBldgServiceElements",
|
||||
"Pset_EnergyConversionDeviceSpaceHeaterSectional": "IfcSharedBldgServiceElements",
|
||||
"Pset_EvaporativeCoolerPHistory": "IfcHvacDomain",
|
||||
"Pset_EvaporativeCoolerTypeCommon": "IfcHvacDomain",
|
||||
"Pset_EvaporatorPHistory": "IfcHvacDomain",
|
||||
"Pset_EvaporatorTypeCommon": "IfcHvacDomain",
|
||||
"Pset_FanPHistory": "IfcHvacDomain",
|
||||
"Pset_FanTypeCommon": "IfcHvacDomain",
|
||||
"Pset_FanTypeSmokeControl": "IfcHvacDomain",
|
||||
"Pset_FilterPHistory": "IfcHvacDomain",
|
||||
"Pset_FilterTypeAirParticleFilter": "IfcHvacDomain",
|
||||
"Pset_FilterTypeCommon": "IfcHvacDomain",
|
||||
"Pset_FireRatingProperties": "IfcSharedBldgServiceElements",
|
||||
"Pset_FireSuppressionTerminalTypeBreechingInlet": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_FireSuppressionTerminalTypeFireHydrant": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_FireSuppressionTerminalTypeHoseReel": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_FireSuppressionTerminalTypeSprinkler": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_FlowControllerDamper": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowControllerFlowMeter": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowFittingDuctFitting": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowFittingPipeFitting": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowInstrumentTypePressureGauge": "IfcBuildingControlsDomain",
|
||||
"Pset_FlowInstrumentTypeThermometer": "IfcBuildingControlsDomain",
|
||||
"Pset_FlowMeterTypeCommon": "IfcHvacDomain",
|
||||
"Pset_FlowMeterTypeEnergyMeter": "IfcHvacDomain",
|
||||
"Pset_FlowMeterTypeGasMeter": "IfcHvacDomain",
|
||||
"Pset_FlowMeterTypeOilMeter": "IfcHvacDomain",
|
||||
"Pset_FlowMeterTypeWaterMeter": "IfcHvacDomain",
|
||||
"Pset_FlowMovingDeviceCompressor": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowMovingDeviceFan": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowMovingDeviceFanCentrifugal": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowMovingDevicePump": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowSegmentDuctSegment": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowSegmentPipeSegment": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowStorageDeviceTank": "IfcSharedBldgServiceElements",
|
||||
"Pset_FlowTerminalAirTerminal": "IfcSharedBldgServiceElements",
|
||||
"Pset_FurnitureTypeChair": "IfcSharedFacilitiesElements",
|
||||
"Pset_FurnitureTypeCommon": "IfcSharedFacilitiesElements",
|
||||
"Pset_FurnitureTypeDesk": "IfcSharedFacilitiesElements",
|
||||
"Pset_FurnitureTypeFileCabinet": "IfcSharedFacilitiesElements",
|
||||
"Pset_FurnitureTypeTable": "IfcSharedFacilitiesElements",
|
||||
"Pset_GasTerminalPHistory": "IfcHvacDomain",
|
||||
"Pset_GasTerminalTypeCommon": "IfcHvacDomain",
|
||||
"Pset_GasTerminalTypeGasAppliance": "IfcHvacDomain",
|
||||
"Pset_GasTerminalTypeGasBurner": "IfcHvacDomain",
|
||||
"Pset_HeatExchangerTypeCommon": "IfcHvacDomain",
|
||||
"Pset_HeatExchangerTypePlate": "IfcHvacDomain",
|
||||
"Pset_HumidifierPHistory": "IfcHvacDomain",
|
||||
"Pset_HumidifierTypeCommon": "IfcHvacDomain",
|
||||
"Pset_LampTypeCommon": "IfcElectricalDomain",
|
||||
"Pset_LightFixtureTypeCommon": "IfcElectricalDomain",
|
||||
"Pset_LightFixtureTypeExitSign": "IfcElectricalDomain",
|
||||
"Pset_LightFixtureTypeThermal": "IfcElectricalDomain",
|
||||
"Pset_ManufacturerOccurrence": "IfcSharedFacilitiesElements",
|
||||
"Pset_ManufacturerTypeInformation": "IfcSharedFacilitiesElements",
|
||||
"Pset_MemberCommon": "IfcSharedBldgElements",
|
||||
"Pset_MultiStateInput": "IfcBuildingControlsDomain",
|
||||
"Pset_MultiStateOutput": "IfcBuildingControlsDomain",
|
||||
"Pset_OpeningElementCommon": "IfcProductExtension",
|
||||
"Pset_OutletTypeCommon": "IfcElectricalDomain",
|
||||
"Pset_OutsideDesignCriteria": "IfcSharedBldgServiceElements",
|
||||
"Pset_PackingInstructions": "IfcFacilitiesMgmtDomain",
|
||||
"Pset_Permit": "IfcFacilitiesMgmtDomain",
|
||||
"Pset_PipeConnection": "IfcHvacDomain",
|
||||
"Pset_PipeConnectionFlanged": "IfcHvacDomain",
|
||||
"Pset_PipeFittingPHistory": "IfcHvacDomain",
|
||||
"Pset_PipeFittingTypeCommon": "IfcHvacDomain",
|
||||
"Pset_PipeSegmentPHistory": "IfcHvacDomain",
|
||||
"Pset_PipeSegmentTypeCommon": "IfcHvacDomain",
|
||||
"Pset_PipeSegmentTypeGutter": "IfcHvacDomain",
|
||||
"Pset_PlateCommon": "IfcSharedBldgElements",
|
||||
"Pset_PrecastConcreteElementGeneral": "IfcStructuralElementsDomain",
|
||||
"Pset_ProductRequirements": "IfcKernel",
|
||||
"Pset_ProjectCommon": "IfcKernel",
|
||||
"Pset_ProjectOrderChangeOrder": "IfcSharedMgmtElements",
|
||||
"Pset_ProjectOrderMaintenanceWorkOrder": "IfcSharedMgmtElements",
|
||||
"Pset_ProjectOrderMoveOrder": "IfcSharedMgmtElements",
|
||||
"Pset_ProjectOrderPurchaseOrder": "IfcSharedMgmtElements",
|
||||
"Pset_ProjectOrderWorkOrder": "IfcSharedMgmtElements",
|
||||
"Pset_ProjectionElementShadingDevicePHistory": "IfcHvacDomain",
|
||||
"Pset_PropertyAgreement": "IfcSharedFacilitiesElements",
|
||||
"Pset_ProtectiveDeviceTypeCircuitBreaker": "IfcElectricalDomain",
|
||||
"Pset_ProtectiveDeviceTypeCommon": "IfcElectricalDomain",
|
||||
"Pset_ProtectiveDeviceTypeEarthFailureDevice": "IfcElectricalDomain",
|
||||
"Pset_ProtectiveDeviceTypeFuseDisconnector": "IfcElectricalDomain",
|
||||
"Pset_ProtectiveDeviceTypeResidualCurrentCircuitBreaker": "IfcElectricalDomain",
|
||||
"Pset_ProtectiveDeviceTypeResidualCurrentSwitch": "IfcElectricalDomain",
|
||||
"Pset_ProtectiveDeviceTypeVaristor": "IfcElectricalDomain",
|
||||
"Pset_PumpPHistory": "IfcHvacDomain",
|
||||
"Pset_PumpTypeCommon": "IfcHvacDomain",
|
||||
"Pset_QuantityTakeOff": "IfcProductExtension",
|
||||
"Pset_RailingCommon": "IfcSharedBldgElements",
|
||||
"Pset_RampCommon": "IfcSharedBldgElements",
|
||||
"Pset_RampFlightCommon": "IfcSharedBldgElements",
|
||||
"Pset_ReinforcementBarCountOfIndependentFooting": "IfcStructuralElementsDomain",
|
||||
"Pset_ReinforcementBarPitchOfBeam": "IfcStructuralElementsDomain",
|
||||
"Pset_ReinforcementBarPitchOfColumn": "IfcStructuralElementsDomain",
|
||||
"Pset_ReinforcementBarPitchOfContinuousFooting": "IfcStructuralElementsDomain",
|
||||
"Pset_ReinforcementBarPitchOfSlab": "IfcStructuralElementsDomain",
|
||||
"Pset_ReinforcementBarPitchOfWall": "IfcStructuralElementsDomain",
|
||||
"Pset_ReinforcingBarBendingsBECCommon": "IfcStructuralElementsDomain",
|
||||
"Pset_ReinforcingBarBendingsBS8666Common": "IfcStructuralElementsDomain",
|
||||
"Pset_ReinforcingBarBendingsDIN135610Common": "IfcStructuralElementsDomain",
|
||||
"Pset_ReinforcingBarBendingsISOCD3766Common": "IfcStructuralElementsDomain",
|
||||
"Pset_Reliability": "IfcSharedFacilitiesElements",
|
||||
"Pset_Risk": "IfcSharedFacilitiesElements",
|
||||
"Pset_RoofCommon": "IfcSharedBldgElements",
|
||||
"Pset_SanitaryTerminalTypeBath": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_SanitaryTerminalTypeBidet": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_SanitaryTerminalTypeCistern": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_SanitaryTerminalTypeSanitaryFountain": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_SanitaryTerminalTypeShower": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_SanitaryTerminalTypeSink": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_SanitaryTerminalTypeToiletPan": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_SanitaryTerminalTypeUrinal": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_SanitaryTerminalTypeWCSeat": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_SanitaryTerminalTypeWashHandBasin": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_SensorTypeCO2Sensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SensorTypeFireSensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SensorTypeGasSensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SensorTypeHeatSensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SensorTypeHumiditySensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SensorTypeLightSensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SensorTypeMovementSensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SensorTypePressureSensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SensorTypeSmokeSensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SensorTypeSoundSensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SensorTypeTemperatureSensor": "IfcBuildingControlsDomain",
|
||||
"Pset_SiteCommon": "IfcProductExtension",
|
||||
"Pset_SlabCommon": "IfcSharedBldgElements",
|
||||
"Pset_SpaceCommon": "IfcProductExtension",
|
||||
"Pset_SpaceFireSafetyRequirements": "IfcProductExtension",
|
||||
"Pset_SpaceHeaterPHistoryCommon": "IfcHvacDomain",
|
||||
"Pset_SpaceHeaterTypeCommon": "IfcHvacDomain",
|
||||
"Pset_SpaceHeaterTypeHydronic": "IfcHvacDomain",
|
||||
"Pset_SpaceLightingRequirements": "IfcProductExtension",
|
||||
"Pset_SpaceOccupancyRequirements": "IfcProductExtension",
|
||||
"Pset_SpaceParking": "IfcProductExtension",
|
||||
"Pset_SpaceParkingAisle": "IfcProductExtension",
|
||||
"Pset_SpaceProgramCommon": "IfcArchitectureDomain",
|
||||
"Pset_SpaceThermalDesign": "IfcSharedBldgServiceElements",
|
||||
"Pset_SpaceThermalPHistory": "IfcHvacDomain",
|
||||
"Pset_SpaceThermalRequirements": "IfcProductExtension",
|
||||
"Pset_StairCommon": "IfcSharedBldgElements",
|
||||
"Pset_StairFlightCommon": "IfcSharedBldgElements",
|
||||
"Pset_SwitchingDeviceTypeCommon": "IfcElectricalDomain",
|
||||
"Pset_SwitchingDeviceTypeContactor": "IfcElectricalDomain",
|
||||
"Pset_SwitchingDeviceTypeEmergencyStop": "IfcElectricalDomain",
|
||||
"Pset_SwitchingDeviceTypeStarter": "IfcElectricalDomain",
|
||||
"Pset_SwitchingDeviceTypeSwitchDisconnector": "IfcElectricalDomain",
|
||||
"Pset_SwitchingDeviceTypeToggleSwitch": "IfcElectricalDomain",
|
||||
"Pset_SystemFurnitureElementTypeCommon": "IfcSharedFacilitiesElements",
|
||||
"Pset_SystemFurnitureElementTypePanel": "IfcSharedFacilitiesElements",
|
||||
"Pset_SystemFurnitureElementTypeWorkSurface": "IfcSharedFacilitiesElements",
|
||||
"Pset_TankTypeCommon": "IfcHvacDomain",
|
||||
"Pset_TankTypeExpansion": "IfcHvacDomain",
|
||||
"Pset_TankTypePreformed": "IfcHvacDomain",
|
||||
"Pset_TankTypePressureVessel": "IfcHvacDomain",
|
||||
"Pset_TankTypeSectional": "IfcHvacDomain",
|
||||
"Pset_ThermalLoadAggregate": "IfcSharedBldgServiceElements",
|
||||
"Pset_ThermalLoadDesignCriteria": "IfcSharedBldgServiceElements",
|
||||
"Pset_TransformerTypeCommon": "IfcElectricalDomain",
|
||||
"Pset_TransportElementCommon": "IfcProductExtension",
|
||||
"Pset_TransportElementElevator": "IfcProductExtension",
|
||||
"Pset_TubeBundleTypeCommon": "IfcHvacDomain",
|
||||
"Pset_TubeBundleTypeFinned": "IfcHvacDomain",
|
||||
"Pset_UnitaryEquipmentTypeAirConditioningUnit": "IfcHvacDomain",
|
||||
"Pset_UnitaryEquipmentTypeAirHandler": "IfcHvacDomain",
|
||||
"Pset_UtilityConsumption": "IfcSharedBldgServiceElements",
|
||||
"Pset_ValvePHistory": "IfcHvacDomain",
|
||||
"Pset_ValveTypeAirRelease": "IfcHvacDomain",
|
||||
"Pset_ValveTypeCommon": "IfcHvacDomain",
|
||||
"Pset_ValveTypeDrawOffCock": "IfcHvacDomain",
|
||||
"Pset_ValveTypeFaucet": "IfcHvacDomain",
|
||||
"Pset_ValveTypeFlushing": "IfcHvacDomain",
|
||||
"Pset_ValveTypeGasTap": "IfcHvacDomain",
|
||||
"Pset_ValveTypeIsolating": "IfcHvacDomain",
|
||||
"Pset_ValveTypeMixing": "IfcHvacDomain",
|
||||
"Pset_ValveTypePressureReducing": "IfcHvacDomain",
|
||||
"Pset_ValveTypePressureRelief": "IfcHvacDomain",
|
||||
"Pset_VibrationIsolatorTypeCommon": "IfcHvacDomain",
|
||||
"Pset_WallCommon": "IfcSharedBldgElements",
|
||||
"Pset_Warranty": "IfcSharedFacilitiesElements",
|
||||
"Pset_WasteTerminalTypeFloorTrap": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_WasteTerminalTypeFloorWaste": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_WasteTerminalTypeGreaseInterceptor": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_WasteTerminalTypeGullySump": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_WasteTerminalTypeGullyTrap": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_WasteTerminalTypeOilInterceptor": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_WasteTerminalTypePetrolInterceptor": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_WasteTerminalTypeRoofDrain": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_WasteTerminalTypeWasteDisposalUnit": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_WasteTerminalTypeWasteTrap": "IfcPlumbingFireProtectionDomain",
|
||||
"Pset_WindowCommon": "IfcSharedBldgElements",
|
||||
"Pset_ZoneCommon": "IfcProductExtension"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+515
@@ -0,0 +1,515 @@
|
||||
{
|
||||
"pset_actionrequest": "ifcsharedmgmtelements",
|
||||
"pset_actorcommon": "ifckernel",
|
||||
"pset_actuatorphistory": "ifcbuildingcontrolsdomain",
|
||||
"pset_actuatortypecommon": "ifcbuildingcontrolsdomain",
|
||||
"pset_actuatortypeelectricactuator": "ifcbuildingcontrolsdomain",
|
||||
"pset_actuatortypehydraulicactuator": "ifcbuildingcontrolsdomain",
|
||||
"pset_actuatortypelinearactuation": "ifcbuildingcontrolsdomain",
|
||||
"pset_actuatortypepneumaticactuator": "ifcbuildingcontrolsdomain",
|
||||
"pset_actuatortyperotationalactuation": "ifcbuildingcontrolsdomain",
|
||||
"pset_airsidesysteminformation": "ifcsharedbldgserviceelements",
|
||||
"pset_airterminalboxphistory": "ifchvacdomain",
|
||||
"pset_airterminalboxtypecommon": "ifchvacdomain",
|
||||
"pset_airterminaloccurrence": "ifchvacdomain",
|
||||
"pset_airterminalphistory": "ifchvacdomain",
|
||||
"pset_airterminaltypecommon": "ifchvacdomain",
|
||||
"pset_airtoairheatrecoveryphistory": "ifchvacdomain",
|
||||
"pset_airtoairheatrecoverytypecommon": "ifchvacdomain",
|
||||
"pset_alarmphistory": "ifcbuildingcontrolsdomain",
|
||||
"pset_alarmtypecommon": "ifcbuildingcontrolsdomain",
|
||||
"pset_annotationcontourline": "ifcproductextension",
|
||||
"pset_annotationlineofsight": "ifcproductextension",
|
||||
"pset_annotationsurveyarea": "ifcproductextension",
|
||||
"pset_asset": "ifcsharedfacilitieselements",
|
||||
"pset_audiovisualappliancephistory": "ifcelectricaldomain",
|
||||
"pset_audiovisualappliancetypeamplifier": "ifcelectricaldomain",
|
||||
"pset_audiovisualappliancetypecamera": "ifcelectricaldomain",
|
||||
"pset_audiovisualappliancetypecommon": "ifcelectricaldomain",
|
||||
"pset_audiovisualappliancetypedisplay": "ifcelectricaldomain",
|
||||
"pset_audiovisualappliancetypeplayer": "ifcelectricaldomain",
|
||||
"pset_audiovisualappliancetypeprojector": "ifcelectricaldomain",
|
||||
"pset_audiovisualappliancetypereceiver": "ifcelectricaldomain",
|
||||
"pset_audiovisualappliancetypespeaker": "ifcelectricaldomain",
|
||||
"pset_audiovisualappliancetypetuner": "ifcelectricaldomain",
|
||||
"pset_beamcommon": "ifcsharedbldgelements",
|
||||
"pset_boilerphistory": "ifchvacdomain",
|
||||
"pset_boilertypecommon": "ifchvacdomain",
|
||||
"pset_boilertypesteam": "ifchvacdomain",
|
||||
"pset_boilertypewater": "ifchvacdomain",
|
||||
"pset_buildingcommon": "ifcproductextension",
|
||||
"pset_buildingelementproxycommon": "ifcsharedbldgelements",
|
||||
"pset_buildingelementproxyprovisionforvoid": "ifcsharedbldgelements",
|
||||
"pset_buildingstoreycommon": "ifcproductextension",
|
||||
"pset_buildingsystemcommon": "ifcsharedbldgelements",
|
||||
"pset_buildinguse": "ifcproductextension",
|
||||
"pset_buildinguseadjacent": "ifcproductextension",
|
||||
"pset_burnertypecommon": "ifchvacdomain",
|
||||
"pset_cablecarrierfittingtypecommon": "ifcelectricaldomain",
|
||||
"pset_cablecarriersegmenttypecableladdersegment": "ifcelectricaldomain",
|
||||
"pset_cablecarriersegmenttypecabletraysegment": "ifcelectricaldomain",
|
||||
"pset_cablecarriersegmenttypecabletrunkingsegment": "ifcelectricaldomain",
|
||||
"pset_cablecarriersegmenttypecommon": "ifcelectricaldomain",
|
||||
"pset_cablecarriersegmenttypeconduitsegment": "ifcelectricaldomain",
|
||||
"pset_cablefittingtypecommon": "ifcelectricaldomain",
|
||||
"pset_cablesegmentoccurrence": "ifcelectricaldomain",
|
||||
"pset_cablesegmenttypebusbarsegment": "ifcelectricaldomain",
|
||||
"pset_cablesegmenttypecablesegment": "ifcelectricaldomain",
|
||||
"pset_cablesegmenttypecommon": "ifcelectricaldomain",
|
||||
"pset_cablesegmenttypeconductorsegment": "ifcelectricaldomain",
|
||||
"pset_cablesegmenttypecoresegment": "ifcelectricaldomain",
|
||||
"pset_chillerphistory": "ifchvacdomain",
|
||||
"pset_chillertypecommon": "ifchvacdomain",
|
||||
"pset_chimneycommon": "ifcsharedbldgelements",
|
||||
"pset_civilelementcommon": "ifcproductextension",
|
||||
"pset_coiloccurrence": "ifchvacdomain",
|
||||
"pset_coilphistory": "ifchvacdomain",
|
||||
"pset_coiltypecommon": "ifchvacdomain",
|
||||
"pset_coiltypehydronic": "ifchvacdomain",
|
||||
"pset_columncommon": "ifcsharedbldgelements",
|
||||
"pset_communicationsappliancephistory": "ifcelectricaldomain",
|
||||
"pset_communicationsappliancetypecommon": "ifcelectricaldomain",
|
||||
"pset_compressorphistory": "ifchvacdomain",
|
||||
"pset_compressortypecommon": "ifchvacdomain",
|
||||
"pset_concreteelementgeneral": "ifcstructuralelementsdomain",
|
||||
"pset_condenserphistory": "ifchvacdomain",
|
||||
"pset_condensertypecommon": "ifchvacdomain",
|
||||
"pset_condition": "ifcsharedfacilitieselements",
|
||||
"pset_constructionresource": "ifcconstructionmgmtdomain",
|
||||
"pset_controllerphistory": "ifcbuildingcontrolsdomain",
|
||||
"pset_controllertypecommon": "ifcbuildingcontrolsdomain",
|
||||
"pset_controllertypefloating": "ifcbuildingcontrolsdomain",
|
||||
"pset_controllertypemultiposition": "ifcbuildingcontrolsdomain",
|
||||
"pset_controllertypeprogrammable": "ifcbuildingcontrolsdomain",
|
||||
"pset_controllertypeproportional": "ifcbuildingcontrolsdomain",
|
||||
"pset_controllertypetwoposition": "ifcbuildingcontrolsdomain",
|
||||
"pset_cooledbeamphistory": "ifchvacdomain",
|
||||
"pset_cooledbeamphistoryactive": "ifchvacdomain",
|
||||
"pset_cooledbeamtypeactive": "ifchvacdomain",
|
||||
"pset_cooledbeamtypecommon": "ifchvacdomain",
|
||||
"pset_coolingtowerphistory": "ifchvacdomain",
|
||||
"pset_coolingtowertypecommon": "ifchvacdomain",
|
||||
"pset_coveringceiling": "ifcsharedbldgelements",
|
||||
"pset_coveringcommon": "ifcsharedbldgelements",
|
||||
"pset_coveringflooring": "ifcsharedbldgelements",
|
||||
"pset_curtainwallcommon": "ifcsharedbldgelements",
|
||||
"pset_damperoccurrence": "ifchvacdomain",
|
||||
"pset_damperphistory": "ifchvacdomain",
|
||||
"pset_dampertypecommon": "ifchvacdomain",
|
||||
"pset_dampertypecontroldamper": "ifchvacdomain",
|
||||
"pset_dampertypefiredamper": "ifchvacdomain",
|
||||
"pset_dampertypefiresmokedamper": "ifchvacdomain",
|
||||
"pset_dampertypesmokedamper": "ifchvacdomain",
|
||||
"pset_discreteaccessorycolumnshoe": "ifcsharedcomponentelements",
|
||||
"pset_discreteaccessorycornerfixingplate": "ifcsharedcomponentelements",
|
||||
"pset_discreteaccessorydiagonaltrussconnector": "ifcsharedcomponentelements",
|
||||
"pset_discreteaccessoryedgefixingplate": "ifcsharedcomponentelements",
|
||||
"pset_discreteaccessoryfixingsocket": "ifcsharedcomponentelements",
|
||||
"pset_discreteaccessoryladdertrussconnector": "ifcsharedcomponentelements",
|
||||
"pset_discreteaccessorystandardfixingplate": "ifcsharedcomponentelements",
|
||||
"pset_discreteaccessorywireloop": "ifcsharedcomponentelements",
|
||||
"pset_distributionchamberelementcommon": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionchamberelementtypeformedduct": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionchamberelementtypeinspectionchamber": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionchamberelementtypeinspectionpit": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionchamberelementtypemanhole": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionchamberelementtypemeterchamber": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionchamberelementtypesump": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionchamberelementtypetrench": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionchamberelementtypevalvechamber": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionportcommon": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionportphistorycable": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionportphistoryduct": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionportphistorypipe": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionporttypecable": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionporttypeduct": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionporttypepipe": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionsystemcommon": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionsystemtypeelectrical": "ifcsharedbldgserviceelements",
|
||||
"pset_distributionsystemtypeventilation": "ifcsharedbldgserviceelements",
|
||||
"pset_doorcommon": "ifcsharedbldgelements",
|
||||
"pset_doorwindowglazingtype": "ifcsharedbldgelements",
|
||||
"pset_ductfittingoccurrence": "ifchvacdomain",
|
||||
"pset_ductfittingphistory": "ifchvacdomain",
|
||||
"pset_ductfittingtypecommon": "ifchvacdomain",
|
||||
"pset_ductsegmentoccurrence": "ifchvacdomain",
|
||||
"pset_ductsegmentphistory": "ifchvacdomain",
|
||||
"pset_ductsegmenttypecommon": "ifchvacdomain",
|
||||
"pset_ductsilencerphistory": "ifchvacdomain",
|
||||
"pset_ductsilencertypecommon": "ifchvacdomain",
|
||||
"pset_electricaldevicecommon": "ifcelectricaldomain",
|
||||
"pset_electricappliancephistory": "ifcelectricaldomain",
|
||||
"pset_electricappliancetypecommon": "ifcelectricaldomain",
|
||||
"pset_electricappliancetypedishwasher": "ifcelectricaldomain",
|
||||
"pset_electricappliancetypeelectriccooker": "ifcelectricaldomain",
|
||||
"pset_electricdistributionboardoccurrence": "ifcelectricaldomain",
|
||||
"pset_electricdistributionboardtypecommon": "ifcelectricaldomain",
|
||||
"pset_electricflowstoragedevicephistory": "ifcelectricaldomain",
|
||||
"pset_electricflowstoragedevicetypecommon": "ifcelectricaldomain",
|
||||
"pset_electricgeneratortypecommon": "ifcelectricaldomain",
|
||||
"pset_electricmotortypecommon": "ifcelectricaldomain",
|
||||
"pset_electrictimecontroltypecommon": "ifcelectricaldomain",
|
||||
"pset_elementassemblycommon": "ifcproductextension",
|
||||
"pset_elementcomponentcommon": "ifcsharedcomponentelements",
|
||||
"pset_enginetypecommon": "ifchvacdomain",
|
||||
"pset_environmentalimpactindicators": "ifcproductextension",
|
||||
"pset_environmentalimpactvalues": "ifcproductextension",
|
||||
"pset_evaporativecoolerphistory": "ifchvacdomain",
|
||||
"pset_evaporativecoolertypecommon": "ifchvacdomain",
|
||||
"pset_evaporatorphistory": "ifchvacdomain",
|
||||
"pset_evaporatortypecommon": "ifchvacdomain",
|
||||
"pset_fancentrifugal": "ifchvacdomain",
|
||||
"pset_fanoccurrence": "ifchvacdomain",
|
||||
"pset_fanphistory": "ifchvacdomain",
|
||||
"pset_fantypecommon": "ifchvacdomain",
|
||||
"pset_fastenerweld": "ifcsharedcomponentelements",
|
||||
"pset_filterphistory": "ifchvacdomain",
|
||||
"pset_filtertypeairparticlefilter": "ifchvacdomain",
|
||||
"pset_filtertypecommon": "ifchvacdomain",
|
||||
"pset_filtertypecompressedairfilter": "ifchvacdomain",
|
||||
"pset_filtertypewaterfilter": "ifchvacdomain",
|
||||
"pset_firesuppressionterminaltypebreechinginlet": "ifcplumbingfireprotectiondomain",
|
||||
"pset_firesuppressionterminaltypecommon": "ifcplumbingfireprotectiondomain",
|
||||
"pset_firesuppressionterminaltypefirehydrant": "ifcplumbingfireprotectiondomain",
|
||||
"pset_firesuppressionterminaltypehosereel": "ifcplumbingfireprotectiondomain",
|
||||
"pset_firesuppressionterminaltypesprinkler": "ifcplumbingfireprotectiondomain",
|
||||
"pset_flowinstrumentphistory": "ifcbuildingcontrolsdomain",
|
||||
"pset_flowinstrumenttypecommon": "ifcbuildingcontrolsdomain",
|
||||
"pset_flowinstrumenttypepressuregauge": "ifcbuildingcontrolsdomain",
|
||||
"pset_flowinstrumenttypethermometer": "ifcbuildingcontrolsdomain",
|
||||
"pset_flowmeteroccurrence": "ifchvacdomain",
|
||||
"pset_flowmetertypecommon": "ifchvacdomain",
|
||||
"pset_flowmetertypeenergymeter": "ifchvacdomain",
|
||||
"pset_flowmetertypegasmeter": "ifchvacdomain",
|
||||
"pset_flowmetertypeoilmeter": "ifchvacdomain",
|
||||
"pset_flowmetertypewatermeter": "ifchvacdomain",
|
||||
"pset_footingcommon": "ifcstructuralelementsdomain",
|
||||
"pset_furnituretypechair": "ifcsharedfacilitieselements",
|
||||
"pset_furnituretypecommon": "ifcsharedfacilitieselements",
|
||||
"pset_furnituretypedesk": "ifcsharedfacilitieselements",
|
||||
"pset_furnituretypefilecabinet": "ifcsharedfacilitieselements",
|
||||
"pset_furnituretypetable": "ifcsharedfacilitieselements",
|
||||
"pset_heatexchangertypecommon": "ifchvacdomain",
|
||||
"pset_heatexchangertypeplate": "ifchvacdomain",
|
||||
"pset_humidifierphistory": "ifchvacdomain",
|
||||
"pset_humidifiertypecommon": "ifchvacdomain",
|
||||
"pset_interceptortypecommon": "ifcplumbingfireprotectiondomain",
|
||||
"pset_junctionboxtypecommon": "ifcelectricaldomain",
|
||||
"pset_lamptypecommon": "ifcelectricaldomain",
|
||||
"pset_landregistration": "ifcproductextension",
|
||||
"pset_lightfixturetypecommon": "ifcelectricaldomain",
|
||||
"pset_lightfixturetypesecuritylighting": "ifcelectricaldomain",
|
||||
"pset_manufactureroccurrence": "ifcsharedfacilitieselements",
|
||||
"pset_manufacturertypeinformation": "ifcsharedfacilitieselements",
|
||||
"pset_materialcombustion": "ifcmaterialresource",
|
||||
"pset_materialcommon": "ifcmaterialresource",
|
||||
"pset_materialconcrete": "ifcmaterialresource",
|
||||
"pset_materialenergy": "ifcmaterialresource",
|
||||
"pset_materialfuel": "ifcmaterialresource",
|
||||
"pset_materialhygroscopic": "ifcmaterialresource",
|
||||
"pset_materialmechanical": "ifcmaterialresource",
|
||||
"pset_materialoptical": "ifcmaterialresource",
|
||||
"pset_materialsteel": "ifcmaterialresource",
|
||||
"pset_materialthermal": "ifcmaterialresource",
|
||||
"pset_materialwater": "ifcmaterialresource",
|
||||
"pset_materialwood": "ifcmaterialresource",
|
||||
"pset_materialwoodbasedbeam": "ifcmaterialresource",
|
||||
"pset_materialwoodbasedpanel": "ifcmaterialresource",
|
||||
"pset_mechanicalfasteneranchorbolt": "ifcsharedcomponentelements",
|
||||
"pset_mechanicalfastenerbolt": "ifcsharedcomponentelements",
|
||||
"pset_mechanicalfastenercommon": "ifcsharedcomponentelements",
|
||||
"pset_medicaldevicetypecommon": "ifchvacdomain",
|
||||
"pset_membercommon": "ifcsharedbldgelements",
|
||||
"pset_motorconnectiontypecommon": "ifcelectricaldomain",
|
||||
"pset_openingelementcommon": "ifcproductextension",
|
||||
"pset_outlettypecommon": "ifcelectricaldomain",
|
||||
"pset_outsidedesigncriteria": "ifcsharedbldgserviceelements",
|
||||
"pset_packinginstructions": "ifcsharedmgmtelements",
|
||||
"pset_permit": "ifcsharedmgmtelements",
|
||||
"pset_pilecommon": "ifcstructuralelementsdomain",
|
||||
"pset_pipeconnectionflanged": "ifchvacdomain",
|
||||
"pset_pipefittingoccurrence": "ifchvacdomain",
|
||||
"pset_pipefittingphistory": "ifchvacdomain",
|
||||
"pset_pipefittingtypebend": "ifchvacdomain",
|
||||
"pset_pipefittingtypecommon": "ifchvacdomain",
|
||||
"pset_pipefittingtypejunction": "ifchvacdomain",
|
||||
"pset_pipesegmentoccurrence": "ifchvacdomain",
|
||||
"pset_pipesegmentphistory": "ifchvacdomain",
|
||||
"pset_pipesegmenttypecommon": "ifchvacdomain",
|
||||
"pset_pipesegmenttypeculvert": "ifchvacdomain",
|
||||
"pset_pipesegmenttypegutter": "ifchvacdomain",
|
||||
"pset_platecommon": "ifcsharedbldgelements",
|
||||
"pset_precastconcreteelementfabrication": "ifcstructuralelementsdomain",
|
||||
"pset_precastconcreteelementgeneral": "ifcstructuralelementsdomain",
|
||||
"pset_precastslab": "ifcstructuralelementsdomain",
|
||||
"pset_profilearbitrarydoublet": "ifcprofileresource",
|
||||
"pset_profilearbitraryhollowcore": "ifcprofileresource",
|
||||
"pset_profilemechanical": "ifcprofileresource",
|
||||
"pset_projectorderchangeorder": "ifcsharedmgmtelements",
|
||||
"pset_projectordermaintenanceworkorder": "ifcsharedmgmtelements",
|
||||
"pset_projectordermoveorder": "ifcsharedmgmtelements",
|
||||
"pset_projectorderpurchaseorder": "ifcsharedmgmtelements",
|
||||
"pset_projectorderworkorder": "ifcsharedmgmtelements",
|
||||
"pset_propertyagreement": "ifcsharedfacilitieselements",
|
||||
"pset_protectivedevicebreakeruniti2tcurve": "ifcelectricaldomain",
|
||||
"pset_protectivedevicebreakeruniti2tfusecurve": "ifcelectricaldomain",
|
||||
"pset_protectivedevicebreakerunitipicurve": "ifcelectricaldomain",
|
||||
"pset_protectivedevicebreakerunittypemcb": "ifcelectricaldomain",
|
||||
"pset_protectivedevicebreakerunittypemotorprotection": "ifcelectricaldomain",
|
||||
"pset_protectivedeviceoccurrence": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingcurve": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingfunctiongcurve": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingfunctionicurve": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingfunctionlcurve": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingfunctionscurve": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingunitcurrentadjustment": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingunittimeadjustment": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingunittypecommon": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingunittypeelectromagnetic": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingunittypeelectronic": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingunittyperesidualcurrent": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetrippingunittypethermal": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetypecircuitbreaker": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetypecommon": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetypeearthleakagecircuitbreaker": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetypefusedisconnector": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetyperesidualcurrentcircuitbreaker": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetyperesidualcurrentswitch": "ifcelectricaldomain",
|
||||
"pset_protectivedevicetypevaristor": "ifcelectricaldomain",
|
||||
"pset_pumpoccurrence": "ifchvacdomain",
|
||||
"pset_pumpphistory": "ifchvacdomain",
|
||||
"pset_pumptypecommon": "ifchvacdomain",
|
||||
"pset_railingcommon": "ifcsharedbldgelements",
|
||||
"pset_rampcommon": "ifcsharedbldgelements",
|
||||
"pset_rampflightcommon": "ifcsharedbldgelements",
|
||||
"pset_reinforcementbarcountofindependentfooting": "ifcstructuralelementsdomain",
|
||||
"pset_reinforcementbarpitchofbeam": "ifcstructuralelementsdomain",
|
||||
"pset_reinforcementbarpitchofcolumn": "ifcstructuralelementsdomain",
|
||||
"pset_reinforcementbarpitchofcontinuousfooting": "ifcstructuralelementsdomain",
|
||||
"pset_reinforcementbarpitchofslab": "ifcstructuralelementsdomain",
|
||||
"pset_reinforcementbarpitchofwall": "ifcstructuralelementsdomain",
|
||||
"pset_reinforcingbarcommon": "ifcstructuralelementsdomain",
|
||||
"pset_reinforcingmeshcommon": "ifcstructuralelementsdomain",
|
||||
"pset_risk": "ifcsharedfacilitieselements",
|
||||
"pset_roofcommon": "ifcsharedbldgelements",
|
||||
"pset_sanitaryterminaltypebath": "ifcplumbingfireprotectiondomain",
|
||||
"pset_sanitaryterminaltypebidet": "ifcplumbingfireprotectiondomain",
|
||||
"pset_sanitaryterminaltypecistern": "ifcplumbingfireprotectiondomain",
|
||||
"pset_sanitaryterminaltypecommon": "ifcplumbingfireprotectiondomain",
|
||||
"pset_sanitaryterminaltypesanitaryfountain": "ifcplumbingfireprotectiondomain",
|
||||
"pset_sanitaryterminaltypeshower": "ifcplumbingfireprotectiondomain",
|
||||
"pset_sanitaryterminaltypesink": "ifcplumbingfireprotectiondomain",
|
||||
"pset_sanitaryterminaltypetoiletpan": "ifcplumbingfireprotectiondomain",
|
||||
"pset_sanitaryterminaltypeurinal": "ifcplumbingfireprotectiondomain",
|
||||
"pset_sanitaryterminaltypewashhandbasin": "ifcplumbingfireprotectiondomain",
|
||||
"pset_sensorphistory": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypeco2sensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypecommon": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypeconductancesensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypecontactsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypefiresensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypeflowsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypefrostsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypegassensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypeheatsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypehumiditysensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypeidentifiersensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypeionconcentrationsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypelevelsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypelightsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypemoisturesensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypemovementsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypephsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypepressuresensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortyperadiationsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortyperadioactivitysensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypesmokesensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypesoundsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypetemperaturesensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_sensortypewindsensor": "ifcbuildingcontrolsdomain",
|
||||
"pset_servicelife": "ifcsharedfacilitieselements",
|
||||
"pset_servicelifefactors": "ifcsharedfacilitieselements",
|
||||
"pset_shadingdevicecommon": "ifcsharedbldgelements",
|
||||
"pset_shadingdevicephistory": "ifchvacdomain",
|
||||
"pset_sitecommon": "ifcproductextension",
|
||||
"pset_slabcommon": "ifcsharedbldgelements",
|
||||
"pset_solardevicetypecommon": "ifcelectricaldomain",
|
||||
"pset_soundattenuation": "ifcsharedbldgserviceelements",
|
||||
"pset_soundgeneration": "ifcsharedbldgserviceelements",
|
||||
"pset_spacecommon": "ifcproductextension",
|
||||
"pset_spacecoveringrequirements": "ifcproductextension",
|
||||
"pset_spacefiresafetyrequirements": "ifcproductextension",
|
||||
"pset_spaceheaterphistory": "ifchvacdomain",
|
||||
"pset_spaceheatertypecommon": "ifchvacdomain",
|
||||
"pset_spaceheatertypeconvector": "ifchvacdomain",
|
||||
"pset_spaceheatertyperadiator": "ifchvacdomain",
|
||||
"pset_spacelightingrequirements": "ifcproductextension",
|
||||
"pset_spaceoccupancyrequirements": "ifcproductextension",
|
||||
"pset_spaceparking": "ifcproductextension",
|
||||
"pset_spacethermaldesign": "ifcsharedbldgserviceelements",
|
||||
"pset_spacethermalload": "ifcsharedbldgserviceelements",
|
||||
"pset_spacethermalloadphistory": "ifcsharedbldgserviceelements",
|
||||
"pset_spacethermalphistory": "ifchvacdomain",
|
||||
"pset_spacethermalrequirements": "ifcproductextension",
|
||||
"pset_spatialzonecommon": "ifcproductextension",
|
||||
"pset_stackterminaltypecommon": "ifcplumbingfireprotectiondomain",
|
||||
"pset_staircommon": "ifcsharedbldgelements",
|
||||
"pset_stairflightcommon": "ifcsharedbldgelements",
|
||||
"pset_structuralsurfacemembervaryingthickness": "ifcstructuralanalysisdomain",
|
||||
"pset_switchingdevicetypecommon": "ifcelectricaldomain",
|
||||
"pset_switchingdevicetypecontactor": "ifcelectricaldomain",
|
||||
"pset_switchingdevicetypedimmerswitch": "ifcelectricaldomain",
|
||||
"pset_switchingdevicetypeemergencystop": "ifcelectricaldomain",
|
||||
"pset_switchingdevicetypekeypad": "ifcelectricaldomain",
|
||||
"pset_switchingdevicetypemomentaryswitch": "ifcelectricaldomain",
|
||||
"pset_switchingdevicetypephistory": "ifcelectricaldomain",
|
||||
"pset_switchingdevicetypeselectorswitch": "ifcelectricaldomain",
|
||||
"pset_switchingdevicetypestarter": "ifcelectricaldomain",
|
||||
"pset_switchingdevicetypeswitchdisconnector": "ifcelectricaldomain",
|
||||
"pset_switchingdevicetypetoggleswitch": "ifcelectricaldomain",
|
||||
"pset_systemfurnitureelementtypecommon": "ifcsharedfacilitieselements",
|
||||
"pset_systemfurnitureelementtypepanel": "ifcsharedfacilitieselements",
|
||||
"pset_systemfurnitureelementtypeworksurface": "ifcsharedfacilitieselements",
|
||||
"pset_tankoccurrence": "ifchvacdomain",
|
||||
"pset_tankphistory": "ifchvacdomain",
|
||||
"pset_tanktypecommon": "ifchvacdomain",
|
||||
"pset_tanktypeexpansion": "ifchvacdomain",
|
||||
"pset_tanktypepreformed": "ifchvacdomain",
|
||||
"pset_tanktypepressurevessel": "ifchvacdomain",
|
||||
"pset_tanktypesectional": "ifchvacdomain",
|
||||
"pset_tendonanchorcommon": "ifcstructuralelementsdomain",
|
||||
"pset_tendoncommon": "ifcstructuralelementsdomain",
|
||||
"pset_thermalloadaggregate": "ifcsharedbldgserviceelements",
|
||||
"pset_thermalloaddesigncriteria": "ifcsharedbldgserviceelements",
|
||||
"pset_transformertypecommon": "ifcelectricaldomain",
|
||||
"pset_transportelementcommon": "ifcproductextension",
|
||||
"pset_transportelementelevator": "ifcproductextension",
|
||||
"pset_tubebundletypecommon": "ifchvacdomain",
|
||||
"pset_tubebundletypefinned": "ifchvacdomain",
|
||||
"pset_unitarycontrolelementphistory": "ifcbuildingcontrolsdomain",
|
||||
"pset_unitarycontrolelementtypecommon": "ifcbuildingcontrolsdomain",
|
||||
"pset_unitarycontrolelementtypeindicatorpanel": "ifcbuildingcontrolsdomain",
|
||||
"pset_unitarycontrolelementtypethermostat": "ifcbuildingcontrolsdomain",
|
||||
"pset_unitaryequipmenttypeairconditioningunit": "ifchvacdomain",
|
||||
"pset_unitaryequipmenttypeairhandler": "ifchvacdomain",
|
||||
"pset_unitaryequipmenttypecommon": "ifchvacdomain",
|
||||
"pset_utilityconsumptionphistory": "ifcsharedbldgserviceelements",
|
||||
"pset_valvephistory": "ifchvacdomain",
|
||||
"pset_valvetypeairrelease": "ifchvacdomain",
|
||||
"pset_valvetypecommon": "ifchvacdomain",
|
||||
"pset_valvetypedrawoffcock": "ifchvacdomain",
|
||||
"pset_valvetypefaucet": "ifchvacdomain",
|
||||
"pset_valvetypeflushing": "ifchvacdomain",
|
||||
"pset_valvetypegastap": "ifchvacdomain",
|
||||
"pset_valvetypeisolating": "ifchvacdomain",
|
||||
"pset_valvetypemixing": "ifchvacdomain",
|
||||
"pset_valvetypepressurereducing": "ifchvacdomain",
|
||||
"pset_valvetypepressurerelief": "ifchvacdomain",
|
||||
"pset_vibrationisolatortypecommon": "ifchvacdomain",
|
||||
"pset_wallcommon": "ifcsharedbldgelements",
|
||||
"pset_warranty": "ifcsharedfacilitieselements",
|
||||
"pset_wasteterminaltypecommon": "ifcplumbingfireprotectiondomain",
|
||||
"pset_wasteterminaltypefloortrap": "ifcplumbingfireprotectiondomain",
|
||||
"pset_wasteterminaltypefloorwaste": "ifcplumbingfireprotectiondomain",
|
||||
"pset_wasteterminaltypegullysump": "ifcplumbingfireprotectiondomain",
|
||||
"pset_wasteterminaltypegullytrap": "ifcplumbingfireprotectiondomain",
|
||||
"pset_wasteterminaltyperoofdrain": "ifcplumbingfireprotectiondomain",
|
||||
"pset_wasteterminaltypewastedisposalunit": "ifcplumbingfireprotectiondomain",
|
||||
"pset_wasteterminaltypewastetrap": "ifcplumbingfireprotectiondomain",
|
||||
"pset_windowcommon": "ifcsharedbldgelements",
|
||||
"pset_workcontrolcommon": "ifcprocessextension",
|
||||
"pset_zonecommon": "ifcproductextension",
|
||||
"qto_actuatorbasequantities": "ifcbuildingcontrolsdomain",
|
||||
"qto_airterminalbasequantities": "ifchvacdomain",
|
||||
"qto_airterminalboxtypebasequantities": "ifchvacdomain",
|
||||
"qto_airtoairheatrecoverybasequantities": "ifchvacdomain",
|
||||
"qto_alarmbasequantities": "ifcbuildingcontrolsdomain",
|
||||
"qto_audiovisualappliancebasequantities": "ifcelectricaldomain",
|
||||
"qto_beambasequantities": "ifcsharedbldgelements",
|
||||
"qto_boilerbasequantities": "ifchvacdomain",
|
||||
"qto_buildingbasequantities": "ifcproductextension",
|
||||
"qto_buildingelementproxyquantities": "ifcsharedbldgelements",
|
||||
"qto_buildingstoreybasequantities": "ifcproductextension",
|
||||
"qto_burnerbasequantities": "ifchvacdomain",
|
||||
"qto_cablecarrierfittingbasequantities": "ifcelectricaldomain",
|
||||
"qto_cablecarriersegmentbasequantities": "ifcelectricaldomain",
|
||||
"qto_cablefittingbasequantities": "ifcelectricaldomain",
|
||||
"qto_cablesegmentbasequantities": "ifcelectricaldomain",
|
||||
"qto_chillerbasequantities": "ifchvacdomain",
|
||||
"qto_chimneybasequantities": "ifcsharedbldgelements",
|
||||
"qto_coilbasequantities": "ifchvacdomain",
|
||||
"qto_columnbasequantities": "ifcsharedbldgelements",
|
||||
"qto_communicationsappliancebasequantities": "ifcelectricaldomain",
|
||||
"qto_compressorbasequantities": "ifchvacdomain",
|
||||
"qto_condenserbasequantities": "ifchvacdomain",
|
||||
"qto_constructionequipmentresourcebasequantities": "ifcconstructionmgmtdomain",
|
||||
"qto_constructionmaterialresourcebasequantities": "ifcconstructionmgmtdomain",
|
||||
"qto_controllerbasequantities": "ifcbuildingcontrolsdomain",
|
||||
"qto_cooledbeambasequantities": "ifchvacdomain",
|
||||
"qto_coolingtowerbasequantities": "ifchvacdomain",
|
||||
"qto_coveringbasequantities": "ifcsharedbldgelements",
|
||||
"qto_curtainwallquantities": "ifcsharedbldgelements",
|
||||
"qto_damperbasequantities": "ifchvacdomain",
|
||||
"qto_distributionchamberelementbasequantities": "ifcsharedbldgserviceelements",
|
||||
"qto_doorbasequantities": "ifcsharedbldgelements",
|
||||
"qto_ductfittingbasequantities": "ifchvacdomain",
|
||||
"qto_ductsegmentbasequantities": "ifchvacdomain",
|
||||
"qto_ductsilencerbasequantities": "ifchvacdomain",
|
||||
"qto_electricappliancebasequantities": "ifcelectricaldomain",
|
||||
"qto_electricdistributionboardbasequantities": "ifcelectricaldomain",
|
||||
"qto_electricflowstoragedevicebasequantities": "ifcelectricaldomain",
|
||||
"qto_electricgeneratorbasequantities": "ifcelectricaldomain",
|
||||
"qto_electricmotorbasequantities": "ifcelectricaldomain",
|
||||
"qto_electrictimecontrolbasequantities": "ifcelectricaldomain",
|
||||
"qto_evaporativecoolerbasequantities": "ifchvacdomain",
|
||||
"qto_evaporatorbasequantities": "ifchvacdomain",
|
||||
"qto_fanbasequantities": "ifchvacdomain",
|
||||
"qto_filterbasequantities": "ifchvacdomain",
|
||||
"qto_firesuppressionterminalbasequantities": "ifcplumbingfireprotectiondomain",
|
||||
"qto_flowinstrumentbasequantities": "ifcbuildingcontrolsdomain",
|
||||
"qto_flowmeterbasequantities": "ifchvacdomain",
|
||||
"qto_footingbasequantities": "ifcstructuralelementsdomain",
|
||||
"qto_heatexchangerbasequantities": "ifchvacdomain",
|
||||
"qto_humidifierbasequantities": "ifchvacdomain",
|
||||
"qto_interceptorbasequantities": "ifcplumbingfireprotectiondomain",
|
||||
"qto_junctionboxbasequantities": "ifcelectricaldomain",
|
||||
"qto_laborresourcebasequantities": "ifcconstructionmgmtdomain",
|
||||
"qto_lampbasequantities": "ifcelectricaldomain",
|
||||
"qto_lightfixturebasequantities": "ifcelectricaldomain",
|
||||
"qto_memberbasequantities": "ifcsharedbldgelements",
|
||||
"qto_motorconnectionbasequantities": "ifcelectricaldomain",
|
||||
"qto_openingelementbasequantities": "ifcproductextension",
|
||||
"qto_outletbasequantities": "ifcelectricaldomain",
|
||||
"qto_pilebasequantities": "ifcstructuralelementsdomain",
|
||||
"qto_pipefittingbasequantities": "ifchvacdomain",
|
||||
"qto_pipesegmentbasequantities": "ifchvacdomain",
|
||||
"qto_platebasequantities": "ifcsharedbldgelements",
|
||||
"qto_projectionelementbasequantities": "ifcproductextension",
|
||||
"qto_protectivedevicebasequantities": "ifcelectricaldomain",
|
||||
"qto_protectivedevicetrippingunitbasequantities": "ifcelectricaldomain",
|
||||
"qto_pumpbasequantities": "ifchvacdomain",
|
||||
"qto_railingbasequantities": "ifcsharedbldgelements",
|
||||
"qto_rampflightbasequantities": "ifcsharedbldgelements",
|
||||
"qto_reinforcingelementbasequantities": "ifcstructuralelementsdomain",
|
||||
"qto_roofbasequantities": "ifcsharedbldgelements",
|
||||
"qto_sanitaryterminalbasequantities": "ifcplumbingfireprotectiondomain",
|
||||
"qto_sensorbasequantities": "ifcbuildingcontrolsdomain",
|
||||
"qto_sitebasequantities": "ifcproductextension",
|
||||
"qto_slabbasequantities": "ifcsharedbldgelements",
|
||||
"qto_solardevicebasequantities": "ifcelectricaldomain",
|
||||
"qto_spacebasequantities": "ifcproductextension",
|
||||
"qto_spaceheaterbasequantities": "ifchvacdomain",
|
||||
"qto_stackterminalbasequantities": "ifcplumbingfireprotectiondomain",
|
||||
"qto_stairflightbasequantities": "ifcsharedbldgelements",
|
||||
"qto_switchingdevicebasequantities": "ifcelectricaldomain",
|
||||
"qto_tankbasequantities": "ifchvacdomain",
|
||||
"qto_transformerbasequantities": "ifcelectricaldomain",
|
||||
"qto_tubebundlebasequantities": "ifchvacdomain",
|
||||
"qto_unitarycontrolelementbasequantities": "ifcbuildingcontrolsdomain",
|
||||
"qto_unitaryequipmentbasequantities": "ifchvacdomain",
|
||||
"qto_valvebasequantities": "ifchvacdomain",
|
||||
"qto_vibrationisolatorbasequantities": "ifchvacdomain",
|
||||
"qto_wallbasequantities": "ifcsharedbldgelements",
|
||||
"qto_wasteterminalbasequantities": "ifcplumbingfireprotectiondomain",
|
||||
"qto_windowbasequantities": "ifcsharedbldgelements"
|
||||
}
|
||||
Reference in New Issue
Block a user