Arch BIM IFC : Add IFC Properties spreadsheet container
This commit is contained in:
parent
4928624d14
commit
6b7190d3f0
|
@ -1208,7 +1208,13 @@ class _CommandComponent:
|
||||||
FreeCAD.ActiveDocument.commitTransaction()
|
FreeCAD.ActiveDocument.commitTransaction()
|
||||||
FreeCAD.ActiveDocument.recompute()
|
FreeCAD.ActiveDocument.recompute()
|
||||||
|
|
||||||
def makeIfcSpreadsheet(obj=None):
|
def makeIfcSpreadsheet(archobj=None):
|
||||||
|
ifc_container = None
|
||||||
|
for obj in FreeCAD.ActiveDocument.Objects :
|
||||||
|
if obj.Name == "IfcPropertiesContainer" :
|
||||||
|
ifc_container = obj
|
||||||
|
if not ifc_container :
|
||||||
|
ifc_container = FreeCAD.ActiveDocument.addObject('App::DocumentObjectGroup','IfcPropertiesContainer')
|
||||||
import Spreadsheet
|
import Spreadsheet
|
||||||
ifc_spreadsheet = FreeCAD.ActiveDocument.addObject('Spreadsheet::Sheet','IfcProperties')
|
ifc_spreadsheet = FreeCAD.ActiveDocument.addObject('Spreadsheet::Sheet','IfcProperties')
|
||||||
ifc_spreadsheet.set('A1', translate("Arch","Category"))
|
ifc_spreadsheet.set('A1', translate("Arch","Category"))
|
||||||
|
@ -1216,14 +1222,15 @@ def makeIfcSpreadsheet(obj=None):
|
||||||
ifc_spreadsheet.set('C1', translate("Arch","Type"))
|
ifc_spreadsheet.set('C1', translate("Arch","Type"))
|
||||||
ifc_spreadsheet.set('D1', translate("Arch","Value"))
|
ifc_spreadsheet.set('D1', translate("Arch","Value"))
|
||||||
ifc_spreadsheet.set('E1', translate("Arch","Unit"))
|
ifc_spreadsheet.set('E1', translate("Arch","Unit"))
|
||||||
if obj :
|
ifc_container.addObject(ifc_spreadsheet)
|
||||||
if hasattr(obj,"IfcProperties"):
|
if archobj :
|
||||||
obj.IfcProperties = ifc_spreadsheet
|
if hasattr(obj,"IfcProperties") :
|
||||||
|
archobj.IfcProperties = ifc_spreadsheet
|
||||||
return ifc_spreadsheet
|
return ifc_spreadsheet
|
||||||
else :
|
else :
|
||||||
FreeCAD.Console.PrintWarning(translate("Arch", "The object have not IfcProperties attribute. Cancel spreadsheet creation for object : ") + obj.Label)
|
FreeCAD.Console.PrintWarning(translate("Arch", "The object have not IfcProperties attribute. Cancel spreadsheet creation for object : ") + archobj.Label)
|
||||||
FreeCAD.ActiveDocument.removeObject(ifc_spreadsheet)
|
FreeCAD.ActiveDocument.removeObject(ifc_spreadsheet)
|
||||||
else:
|
else :
|
||||||
return ifc_spreadsheet
|
return ifc_spreadsheet
|
||||||
|
|
||||||
class _CommandIfcSpreadsheet:
|
class _CommandIfcSpreadsheet:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user