mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-12 06:32:09 +00:00
black ifcsverchok
This commit is contained in:
+37
-26
@@ -21,25 +21,32 @@ from sverchok.utils.extra_categories import register_extra_category_provider, un
|
||||
from sverchok.ui.nodeview_space_menu import make_extra_category_menus
|
||||
from sverchok.utils.logging import info, debug
|
||||
|
||||
|
||||
def nodes_index():
|
||||
return [("IFC", [
|
||||
("ifc.create_file", "SvIfcCreateFile"),
|
||||
("ifc.read_file", "SvIfcReadFile"),
|
||||
("ifc.write_file", "SvIfcWriteFile"),
|
||||
("ifc.create_entity", "SvIfcCreateEntity"),
|
||||
("ifc.create_shape", "SvIfcCreateShape"),
|
||||
("ifc.read_entity", "SvIfcReadEntity"),
|
||||
("ifc.by_id", "SvIfcById"),
|
||||
("ifc.by_guid", "SvIfcByGuid"),
|
||||
("ifc.by_type", "SvIfcByType"),
|
||||
("ifc.by_query", "SvIfcByQuery"),
|
||||
("ifc.add", "SvIfcAdd"),
|
||||
("ifc.remove", "SvIfcRemove"),
|
||||
("ifc.generate_guid", "SvIfcGenerateGuid"),
|
||||
("ifc.get_property", "SvIfcGetProperty"),
|
||||
("ifc.get_attribute", "SvIfcGetAttribute"),
|
||||
("ifc.select_blender_objects", "SvIfcSelectBlenderObjects"),
|
||||
])]
|
||||
return [
|
||||
(
|
||||
"IFC",
|
||||
[
|
||||
("ifc.create_file", "SvIfcCreateFile"),
|
||||
("ifc.read_file", "SvIfcReadFile"),
|
||||
("ifc.write_file", "SvIfcWriteFile"),
|
||||
("ifc.create_entity", "SvIfcCreateEntity"),
|
||||
("ifc.create_shape", "SvIfcCreateShape"),
|
||||
("ifc.read_entity", "SvIfcReadEntity"),
|
||||
("ifc.by_id", "SvIfcById"),
|
||||
("ifc.by_guid", "SvIfcByGuid"),
|
||||
("ifc.by_type", "SvIfcByType"),
|
||||
("ifc.by_query", "SvIfcByQuery"),
|
||||
("ifc.add", "SvIfcAdd"),
|
||||
("ifc.remove", "SvIfcRemove"),
|
||||
("ifc.generate_guid", "SvIfcGenerateGuid"),
|
||||
("ifc.get_property", "SvIfcGetProperty"),
|
||||
("ifc.get_attribute", "SvIfcGetAttribute"),
|
||||
("ifc.select_blender_objects", "SvIfcSelectBlenderObjects"),
|
||||
],
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
def make_node_list():
|
||||
modules = []
|
||||
@@ -51,28 +58,32 @@ def make_node_list():
|
||||
modules.append(module)
|
||||
return modules
|
||||
|
||||
|
||||
imported_modules = make_node_list()
|
||||
|
||||
reload_event = False
|
||||
|
||||
import bpy
|
||||
|
||||
|
||||
def register_nodes():
|
||||
node_modules = make_node_list()
|
||||
for module in node_modules:
|
||||
module.register()
|
||||
info("Registered %s nodes", len(node_modules))
|
||||
|
||||
|
||||
def unregister_nodes():
|
||||
global imported_modules
|
||||
for module in reversed(imported_modules):
|
||||
module.unregister()
|
||||
|
||||
|
||||
def make_menu():
|
||||
menu = []
|
||||
index = nodes_index()
|
||||
for category, items in index:
|
||||
identifier = "IFCSVERCHOK_" + category.replace(' ', '_')
|
||||
identifier = "IFCSVERCHOK_" + category.replace(" ", "_")
|
||||
node_items = []
|
||||
for item in items:
|
||||
nodetype = item[1]
|
||||
@@ -83,14 +94,11 @@ def make_menu():
|
||||
node_item = SverchNodeItem.new(nodetype)
|
||||
node_items.append(node_item)
|
||||
if node_items:
|
||||
cat = SverchNodeCategory(
|
||||
identifier,
|
||||
category,
|
||||
items=node_items
|
||||
)
|
||||
cat = SverchNodeCategory(identifier, category, items=node_items)
|
||||
menu.append(cat)
|
||||
return menu
|
||||
|
||||
|
||||
class SvExCategoryProvider(object):
|
||||
def __init__(self, identifier, menu):
|
||||
self.identifier = identifier
|
||||
@@ -99,8 +107,10 @@ class SvExCategoryProvider(object):
|
||||
def get_categories(self):
|
||||
return self.menu
|
||||
|
||||
|
||||
our_menu_classes = []
|
||||
|
||||
|
||||
def register():
|
||||
global our_menu_classes
|
||||
|
||||
@@ -111,13 +121,14 @@ def register():
|
||||
auto_gather_node_classes(extra_nodes)
|
||||
menu = make_menu()
|
||||
menu_category_provider = SvExCategoryProvider("IFCSVERCHOK", menu)
|
||||
register_extra_category_provider(menu_category_provider) #if 'IFCSVERCHOK' in nodeitems_utils._node_categories:
|
||||
register_extra_category_provider(menu_category_provider) # if 'IFCSVERCHOK' in nodeitems_utils._node_categories:
|
||||
nodeitems_utils.register_node_categories("IFCSVERCHOK", menu)
|
||||
our_menu_classes = make_extra_category_menus()
|
||||
|
||||
|
||||
def unregister():
|
||||
global our_menu_classes
|
||||
if 'IFCSVERCHOK' in nodeitems_utils._node_categories:
|
||||
if "IFCSVERCHOK" in nodeitems_utils._node_categories:
|
||||
nodeitems_utils.unregister_node_categories("IFCSVERCHOK")
|
||||
for clazz in our_menu_classes:
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user