#=========================================================================
def testImport(theType, theFile, theVolume, theDelta):
# Create a part for import
- aSession.startOperation()
+ aSession.startOperation("Create part for import")
aPartFeature = aSession.moduleDocument().addFeature("Part")
aSession.finishOperation()
aPart = aSession.activeDocument()
-
- aSession.startOperation()
+
+ aSession.startOperation("Import file")
aFeatureKind = "Import"
anImportFeature = aPart.addFeature(aFeatureKind)
assert anImportFeature, "{0}: Can not create a feature {1}".format(theType, aFeatureKind)
- aFieldName = "import_file_selector"
+ aFieldName = "file_path"
file = anImportFeature.string(aFieldName)
assert file, "{0}: Can not receive string field {1}".format(theType, aFieldName)
file.setValue(theFile)
- anImportFeature.execute()
aSession.finishOperation()
-
+
# Check results
assert anImportFeature.error() == '', "{0}: The error after execution: {1}".format(theType, anImportFeature.error())
assert len(anImportFeature.results()) == 1, "{0}: Wrong number of results: expected = 1, real = {1}".format(theType, len(anImportFeature.results()))
assert aResultBody, "{0}: The result is not a body".format(theType)
aShape = aResultBody.shape()
assert aShape, "{0}: The body does not have a shape".format(theType)
-
+
# Check shape volume
aRefVolume = theVolume
- aResVolume = GeomAlgoAPI_ShapeProps.volume(aShape)
+ aResVolume = GeomAlgoAPI_ShapeTools.volume(aShape)
assert (math.fabs(aResVolume - aRefVolume) < theDelta), "{0}: The volume is wrong: expected = {1}, real = {2}".format(theType, aRefVolume, aResVolume)
+def testImportXAO():
+ # Create a part for import
+ aSession.startOperation("Create part for import")
+ aPartFeature = aSession.moduleDocument().addFeature("Part")
+ aSession.finishOperation()
+ aPart = aSession.activeDocument()
+
+ aSession.startOperation("Import XAO")
+ anImportFeature = aPart.addFeature("Import")
+ anImportFeature.string("file_path").setValue("Data/test.xao")
+ aSession.finishOperation()
+
+ # Check results
+ assert anImportFeature.error() == ''
+ assert anImportFeature.name() == "mygeom"
+ assert len(anImportFeature.results()) == 1
+ assert modelAPI_ResultBody(anImportFeature.firstResult())
+ assert anImportFeature.firstResult().data().name() == "mygeom_1"
+ aCompositeFeature = featureToCompositeFeature(anImportFeature)
+ assert aCompositeFeature.numberOfSubs(False) == 2
+
+ aFeature1 = aCompositeFeature.subFeature(0, False)
+ assert aFeature1.getKind() == "Group"
+ assert aFeature1.name() == "boite_1"
+
+ aSelectionList = aFeature1.selectionList("group_list")
+ assert aSelectionList.selectionType() == "Solids"
+ assert aSelectionList.size() == 1
+ assert aSelectionList.value(0).namingName("") == "mygeom_1_1"
+
+ aFeature2 = aCompositeFeature.subFeature(1, False)
+ assert aFeature2.getKind() == "Group"
+ assert aFeature2.name() == "Group_2"
+
+ aSelectionList = aFeature2.selectionList("group_list")
+ assert aSelectionList.selectionType() == "Faces"
+ assert aSelectionList.size() == 2
+ assert aSelectionList.value(0).namingName("") == "mygeom_1/Shape1_1"
+ assert aSelectionList.value(1).namingName("") == "mygeom_1/Shape2_1"
+
if __name__ == '__main__':
#=========================================================================
# Create a shape imported from BREP
#=========================================================================
- testImport("BREP", "Data/solid.brep", 259982.29715, 10 ** -5)
+ testImport("BREP", "Data/solid.brep", 259982.297176, 10 ** -5)
+ testImport("BRP", "Data/solid.brp", 259982.297176, 10 ** -5)
#=========================================================================
# Create a shape imported from STEP
#=========================================================================
- testImport("STP", "Data/screw.stp", 3.78827059338e-06, 10 ** -17)
- testImport("STEP", "Data/screw.step", 3.78827059338e-06, 10 ** -17)
+ testImport("STP", "Data/screw.stp", 3.78827401738e-06, 10 ** -17)
+ testImport("STEP", "Data/screw.step", 3.78827401738e-06, 10 ** -17)
#=========================================================================
# Create a shape imported from IGES
#=========================================================================
- testImport("IGES", "Data/bearing.iges", 6.86980756235e-14, 10 ** -25)
- testImport("IGS", "Data/bearing.igs", 6.86980756235e-14, 10 ** -25)
+ testImport("IGES", "Data/bearing.iges", 6.86970803067e-14, 10 ** -25)
+ testImport("IGS", "Data/bearing.igs", 6.86970803067e-14, 10 ** -25)
+#=========================================================================
+# Create a shape imported from XAO
+#=========================================================================
+ testImportXAO()
#=========================================================================
# End of test
#=========================================================================