def step_impl(context, guid, number): number = util.assert_number(number) site = util.assert_guid(IfcStore.file, guid) util.assert_type(site, "IfcSite") ref = util.assert_attribute(site, "RefLatitude") number = ifcopenshell.util.geolocation.dd2dms(number, use_ms=(len(ref) == 4)) util.assert_attribute(site, "RefLatitude", number)
def check_geocode_address(guid, spatial_type, name, value): element = util.assert_guid(IfcStore.file, guid) ifc_class = get_ifc_class_from_spatial_type(spatial_type) util.assert_type(element, ifc_class) if ifc_class == "IfcSite": address_name = "SiteAddress" elif ifc_class == "IfcBuilding": address_name = "BuildingAddress" util.assert_attribute(element, address_name) util.assert_attribute(getattr(element, address_name), name, value)
def step_impl(context, guid, predefined_type): element = util.assert_guid(IfcStore.file, guid) if ( hasattr(element, "PredefinedType") and element.PredefinedType == "USERDEFINED" and hasattr(element, "ObjectType") ): util.assert_attribute(element, "ObjectType", predefined_type) elif hasattr(element, "PredefinedType"): util.assert_attribute(element, "PredefinedType", predefined_type) else: assert False, _("The element {} does not have a PredefinedType or ObjectType attribute").format(element)
def step_impl(context, guid, identification, reference_name): element = util.assert_guid(IfcStore.file, guid) if not hasattr(element, "HasAssociations") or not element.HasAssociations: assert False, _("The element {} has no associations.").format(element) references = [a.RelatingClassification for a in element.HasAssociations if a.is_a("IfcRelAssociatesClassification")] if not references: assert False, _("The element {element} has no associated classification references.").format(element) is_success = False for reference in references: try: util.assert_attribute(reference, "Identification", identification) util.assert_attribute(reference, "Name", reference_name) is_success = True except: pass if not is_success: assert False, _( "No classification references met the requirement for an identification {} and name {} for the element {}. The references we found were: {}" ).format(identification, reference_name, element, references)
def check_geocode_attribute(guid, spatial_type, name, value): element = util.assert_guid(IfcStore.file, guid) util.assert_type(element, get_ifc_class_from_spatial_type(spatial_type)) util.assert_attribute(element, name, value)
def step_impl(context, name, tokens): try: tokens = json.loads(tokens) except: assert False, _("Tokens {} are not specified as a JSON list").format(tokens) util.assert_attribute(get_classification(name), "ReferenceTokens", tokens)
def step_impl(context, name, location): util.assert_attribute(get_classification(name), "Location", location)
def step_impl(context, name, description): util.assert_attribute(get_classification(name), "Description", description)
def step_impl(context, name, edition, edition_date): element = get_classification(name) util.assert_attribute(element, "Edition", edition) util.assert_attribute(element, "EditionDate", edition_date)
def step_impl(context, name, source): util.assert_attribute(get_classification(name), "Source", source)
def step_impl(context, value): util.assert_attribute( IfcStore.file.by_type("IfcProject")[0], "Phase", value)
def step_impl(context, guid): util.assert_attribute( IfcStore.file.by_type("IfcProject")[0], "GlobalId", guid)
def step_impl(context, guid, number): number = util.assert_number(number) site = util.assert_guid(IfcStore.file, guid) util.assert_type(site, "IfcSite") util.assert_attribute(site, "RefElevation", number)