black ifcsverchok

This commit is contained in:
htlcnn
2020-11-01 19:24:01 +07:00
committed by Dion Moult
parent 4a6ec11f6f
commit 2c9d6a47f4
18 changed files with 245 additions and 203 deletions
+37 -26
View File
@@ -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: