mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-23 21:58:46 +00:00
The authoring UI now only shows available types so you don't waste your time checking what's available.
This commit is contained in:
@@ -35,17 +35,7 @@ def getIfcTypes(self, context):
|
|||||||
global type_classes_enum
|
global type_classes_enum
|
||||||
file = IfcStore.get_file()
|
file = IfcStore.get_file()
|
||||||
if len(type_classes_enum) < 1 and file:
|
if len(type_classes_enum) < 1 and file:
|
||||||
declaration = IfcStore.get_schema().declaration_by_name("IfcElementType")
|
classes = set([e.is_a() for e in file.by_type("IfcElementType")])
|
||||||
|
|
||||||
def get_classes(declaration):
|
|
||||||
results = []
|
|
||||||
if not declaration.is_abstract():
|
|
||||||
results.append(declaration.name())
|
|
||||||
for subtype in declaration.subtypes():
|
|
||||||
results.extend(get_classes(subtype))
|
|
||||||
return results
|
|
||||||
|
|
||||||
classes = get_classes(declaration)
|
|
||||||
type_classes_enum.extend([(c, c, "") for c in sorted(classes)])
|
type_classes_enum.extend([(c, c, "") for c in sorted(classes)])
|
||||||
return type_classes_enum
|
return type_classes_enum
|
||||||
|
|
||||||
@@ -59,7 +49,9 @@ def getAvailableTypes(self, context):
|
|||||||
|
|
||||||
|
|
||||||
def updateTypeInstanceIfcClass(self, context):
|
def updateTypeInstanceIfcClass(self, context):
|
||||||
|
global type_classes_enum
|
||||||
global available_types_enum
|
global available_types_enum
|
||||||
|
type_classes_enum.clear()
|
||||||
available_types_enum.clear()
|
available_types_enum.clear()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user