Add section cut multiprocessing, grids, hidden lines, stair arrows, text annotations, and leaders

This commit is contained in:
Dion Moult
2019-12-13 17:25:52 +11:00
parent 4f7925580a
commit c0cd0ce07e
5 changed files with 370 additions and 186 deletions
+119 -115
View File
@@ -11,124 +11,128 @@ bl_info = {
"category": "Import-Export"
}
import bpy
from . import ui, prop, operator
# are we running inside Blender?
import sys
bpy = sys.modules.get('bpy')
if bpy is not None:
import bpy
from . import ui, prop, operator
classes = (
operator.AssignClass,
operator.SelectClass,
operator.SelectType,
operator.SelectFeaturesDir,
operator.SelectDiffJsonFile,
operator.SelectDataDir,
operator.SelectSchemaDir,
operator.ExportIFC,
operator.ImportIFC,
operator.ColourByClass,
operator.ResetObjectColours,
operator.ApproveClass,
operator.RejectClass,
operator.SelectAudited,
operator.RejectElement,
operator.SelectExternalMaterialDir,
operator.AddSweptSolid,
operator.RemoveSweptSolid,
operator.AssignSweptSolidOuterCurve,
operator.SelectSweptSolidOuterCurve,
operator.AddSweptSolidInnerCurve,
operator.SelectSweptSolidInnerCurves,
operator.AssignSweptSolidExtrusion,
operator.SelectSweptSolidExtrusion,
operator.AssignPset,
operator.UnassignPset,
operator.AddPset,
operator.RemovePset,
operator.AddDocument,
operator.RemoveDocument,
operator.GenerateGlobalId,
operator.AddAttribute,
operator.RemoveAttribute,
operator.QuickProjectSetup,
operator.SelectGlobalId,
operator.CreateAggregate,
operator.EditAggregate,
operator.SaveAggregate,
operator.AssignClassification,
operator.UnassignClassification,
operator.RemoveClassification,
operator.FetchLibraryInformation,
operator.FetchExternalMaterial,
operator.FetchObjectPassport,
operator.AddSubcontext,
operator.RemoveSubcontext,
operator.CutSection,
operator.CreateSheets,
prop.Subcontext,
prop.BIMProperties,
prop.DocProperties,
prop.BIMLibrary,
prop.MapConversion,
prop.TargetCRS,
prop.Attribute,
prop.Pset,
prop.Document,
prop.Classification,
prop.GlobalId,
prop.BIMObjectProperties,
prop.BIMMaterialProperties,
prop.SweptSolid,
prop.BIMMeshProperties,
ui.BIM_PT_documentation,
ui.BIM_PT_bim,
ui.BIM_PT_context,
ui.BIM_PT_qa,
ui.BIM_PT_library,
ui.BIM_PT_gis,
ui.BIM_PT_diff,
ui.BIM_PT_mvd,
ui.BIM_PT_material,
ui.BIM_PT_mesh,
ui.BIM_PT_object,
)
classes = (
operator.AssignClass,
operator.SelectClass,
operator.SelectType,
operator.SelectFeaturesDir,
operator.SelectDiffJsonFile,
operator.SelectDataDir,
operator.SelectSchemaDir,
operator.ExportIFC,
operator.ImportIFC,
operator.ColourByClass,
operator.ResetObjectColours,
operator.ApproveClass,
operator.RejectClass,
operator.SelectAudited,
operator.RejectElement,
operator.SelectExternalMaterialDir,
operator.AddSweptSolid,
operator.RemoveSweptSolid,
operator.AssignSweptSolidOuterCurve,
operator.SelectSweptSolidOuterCurve,
operator.AddSweptSolidInnerCurve,
operator.SelectSweptSolidInnerCurves,
operator.AssignSweptSolidExtrusion,
operator.SelectSweptSolidExtrusion,
operator.AssignPset,
operator.UnassignPset,
operator.AddPset,
operator.RemovePset,
operator.AddDocument,
operator.RemoveDocument,
operator.GenerateGlobalId,
operator.AddAttribute,
operator.RemoveAttribute,
operator.QuickProjectSetup,
operator.SelectGlobalId,
operator.CreateAggregate,
operator.EditAggregate,
operator.SaveAggregate,
operator.AssignClassification,
operator.UnassignClassification,
operator.RemoveClassification,
operator.FetchLibraryInformation,
operator.FetchExternalMaterial,
operator.FetchObjectPassport,
operator.AddSubcontext,
operator.RemoveSubcontext,
operator.CutSection,
operator.CreateSheets,
prop.Subcontext,
prop.BIMProperties,
prop.DocProperties,
prop.BIMLibrary,
prop.MapConversion,
prop.TargetCRS,
prop.Attribute,
prop.Pset,
prop.Document,
prop.Classification,
prop.GlobalId,
prop.BIMObjectProperties,
prop.BIMMaterialProperties,
prop.SweptSolid,
prop.BIMMeshProperties,
ui.BIM_PT_documentation,
ui.BIM_PT_bim,
ui.BIM_PT_context,
ui.BIM_PT_qa,
ui.BIM_PT_library,
ui.BIM_PT_gis,
ui.BIM_PT_diff,
ui.BIM_PT_mvd,
ui.BIM_PT_material,
ui.BIM_PT_mesh,
ui.BIM_PT_object,
)
def menu_func_export(self, context):
self.layout.operator(operator.ExportIFC.bl_idname,
text="Industry Foundation Classes (.ifc)")
def menu_func_export(self, context):
self.layout.operator(operator.ExportIFC.bl_idname,
text="Industry Foundation Classes (.ifc)")
def menu_func_import(self, context):
self.layout.operator(operator.ImportIFC.bl_idname,
text="Industry Foundation Classes (.ifc)")
def menu_func_import(self, context):
self.layout.operator(operator.ImportIFC.bl_idname,
text="Industry Foundation Classes (.ifc)")
def register():
for cls in classes:
bpy.utils.register_class(cls)
bpy.app.handlers.load_post.append(prop.setDefaultProperties)
bpy.types.TOPBAR_MT_file_export.append(menu_func_export)
bpy.types.TOPBAR_MT_file_import.append(menu_func_import)
bpy.types.Scene.BIMProperties = bpy.props.PointerProperty(type=prop.BIMProperties)
bpy.types.Scene.DocProperties = bpy.props.PointerProperty(type=prop.DocProperties)
bpy.types.Scene.BIMLibrary = bpy.props.PointerProperty(type=prop.BIMLibrary)
bpy.types.Scene.MapConversion = bpy.props.PointerProperty(type=prop.MapConversion)
bpy.types.Scene.TargetCRS = bpy.props.PointerProperty(type=prop.TargetCRS)
bpy.types.Object.BIMObjectProperties = bpy.props.PointerProperty(type=prop.BIMObjectProperties)
bpy.types.Collection.BIMObjectProperties = bpy.props.PointerProperty(type=prop.BIMObjectProperties)
bpy.types.Material.BIMMaterialProperties = bpy.props.PointerProperty(type=prop.BIMMaterialProperties)
bpy.types.Mesh.BIMMeshProperties = bpy.props.PointerProperty(type=prop.BIMMeshProperties)
def register():
for cls in classes:
bpy.utils.register_class(cls)
bpy.app.handlers.load_post.append(prop.setDefaultProperties)
bpy.types.TOPBAR_MT_file_export.append(menu_func_export)
bpy.types.TOPBAR_MT_file_import.append(menu_func_import)
bpy.types.Scene.BIMProperties = bpy.props.PointerProperty(type=prop.BIMProperties)
bpy.types.Scene.DocProperties = bpy.props.PointerProperty(type=prop.DocProperties)
bpy.types.Scene.BIMLibrary = bpy.props.PointerProperty(type=prop.BIMLibrary)
bpy.types.Scene.MapConversion = bpy.props.PointerProperty(type=prop.MapConversion)
bpy.types.Scene.TargetCRS = bpy.props.PointerProperty(type=prop.TargetCRS)
bpy.types.Object.BIMObjectProperties = bpy.props.PointerProperty(type=prop.BIMObjectProperties)
bpy.types.Collection.BIMObjectProperties = bpy.props.PointerProperty(type=prop.BIMObjectProperties)
bpy.types.Material.BIMMaterialProperties = bpy.props.PointerProperty(type=prop.BIMMaterialProperties)
bpy.types.Mesh.BIMMeshProperties = bpy.props.PointerProperty(type=prop.BIMMeshProperties)
def unregister():
for cls in reversed(classes):
bpy.utils.unregister_class(cls)
bpy.app.handlers.load_post.remove(prop.setDefaultProperties)
bpy.types.TOPBAR_MT_file_export.remove(menu_func_export)
bpy.types.TOPBAR_MT_file_import.remove(menu_func_import)
del(bpy.types.Scene.BIMProperties)
del(bpy.types.Scene.DocProperties)
del(bpy.types.Scene.MapConversion)
del(bpy.types.Scene.TargetCRS)
del(bpy.types.Object.BIMObjectProperties)
del(bpy.types.Collection.BIMObjectProperties)
del(bpy.types.Material.BIMMaterialProperties)
del(bpy.types.Mesh.BIMMeshProperties)
def unregister():
for cls in reversed(classes):
bpy.utils.unregister_class(cls)
bpy.app.handlers.load_post.remove(prop.setDefaultProperties)
bpy.types.TOPBAR_MT_file_export.remove(menu_func_export)
bpy.types.TOPBAR_MT_file_import.remove(menu_func_import)
del(bpy.types.Scene.BIMProperties)
del(bpy.types.Scene.DocProperties)
del(bpy.types.Scene.MapConversion)
del(bpy.types.Scene.TargetCRS)
del(bpy.types.Object.BIMObjectProperties)
del(bpy.types.Collection.BIMObjectProperties)
del(bpy.types.Material.BIMMaterialProperties)
del(bpy.types.Mesh.BIMMeshProperties)
if __name__ == "__main__":
register()
if __name__ == "__main__":
register()