import salome
salome.salome_init_without_session()
import GEOM
from salome.geom import geomBuilder
gg = salome.ImportComponentGUI("GEOM")
shape = geompy.MakeBoxDXDYDZ( 1, 1, 1, theName="box")
componentNames = ['ID']
fieldDataType = GEOM.FDT_String
stepID = 0
stamp = 0
dim = 0
values = [str(i) for i in geompy.SubShapeAllIDs( shape, geompy.ShapeType["VERTEX"] )]
f0 = geompy.CreateField( shape, "vertices", fieldDataType, dim, componentNames )
s0 = f0.addStep( stepID, stamp, values )
geompy.addToStudyInFather( shape, f0, f0.GetName() )
s0id = geompy.addToStudyInFather( f0, s0, s0.GetName() )
dim = 1
values = [str(i) for i in geompy.SubShapeAllIDs( shape, geompy.ShapeType["EDGE"] )]
f1 = geompy.CreateField( shape, "edges", fieldDataType, dim, componentNames )
s1 = f1.addStep( stepID, stamp, values )
geompy.addToStudyInFather( shape, f1, f1.GetName() )
geompy.addToStudyInFather( f1, s1, s1.GetName() )
dim = 2
values = [str(i) for i in geompy.SubShapeAllIDs( shape, geompy.ShapeType["FACE"] )]
f2 = geompy.CreateField( shape, "faces", fieldDataType, dim, componentNames )
s2 = f2.addStep( stepID, stamp, values )
geompy.addToStudyInFather( shape, f2, f2.GetName() )
geompy.addToStudyInFather( f2, s2, s2.GetName() )
dim = 3
values = [str(i) for i in geompy.SubShapeAllIDs( shape, geompy.ShapeType["SOLID"] )]
f3 = geompy.CreateField( shape, "solids", fieldDataType, dim, componentNames )
s3 = f3.addStep( stepID, stamp, values )
geompy.addToStudyInFather( shape, f3, f3.GetName() )
geompy.addToStudyInFather( f3, s3, s3.GetName() )
dim = -1
f_1 = geompy.CreateField( shape, "whole shape", fieldDataType, dim, componentNames )
s_1 = f_1.addStep(stepID, stamp, ["1"])
geompy.addToStudyInFather( shape, f_1, f_1.GetName() )
geompy.addToStudyInFather( f_1, s_1, s_1.GetName() )
gg.createAndDisplayGO( s0id )