From 1b2802f0cba82785350e0ecb14add32384bccc14 Mon Sep 17 00:00:00 2001 From: mpv Date: Wed, 14 Dec 2016 14:42:25 +0300 Subject: [PATCH] Upgrade of export feature tests --- .../ExchangePlugin_Validators.cpp | 6 +- src/ExchangePlugin/ExchangePlugin_msg_en.ts | 11 ++ src/ExchangePlugin/Test/TestExport.py | 104 ++++++++++-------- 3 files changed, 71 insertions(+), 50 deletions(-) diff --git a/src/ExchangePlugin/ExchangePlugin_Validators.cpp b/src/ExchangePlugin/ExchangePlugin_Validators.cpp index a0117d84e..8b3bcf587 100644 --- a/src/ExchangePlugin/ExchangePlugin_Validators.cpp +++ b/src/ExchangePlugin/ExchangePlugin_Validators.cpp @@ -44,14 +44,16 @@ bool ExchangePlugin_FormatValidator::isValid(const AttributePtr& theAttribute, Events_InfoMessage& theError) const { if (!theAttribute->isInitialized()) { - theError = "Is not initialized."; + theError = "%1 is not initialized."; + theError.arg(theAttribute->id()); return false; } const AttributeStringPtr aStrAttr = std::dynamic_pointer_cast(theAttribute); if (!aStrAttr) { - theError = "Is not a string attribute."; + theError = "%1 is not a string attribute."; + theError.arg(theAttribute->id()); return false; } diff --git a/src/ExchangePlugin/ExchangePlugin_msg_en.ts b/src/ExchangePlugin/ExchangePlugin_msg_en.ts index 9afb36bb1..ccc645ab8 100644 --- a/src/ExchangePlugin/ExchangePlugin_msg_en.ts +++ b/src/ExchangePlugin/ExchangePlugin_msg_en.ts @@ -80,4 +80,15 @@ Set the XAO file geometry name + + Export:ExchangePlugin_ExportFormat + + %1 is not initialized. + Attribute %1 is not initialized. + + + %1 is not a string attribute. + Attribute %1 is not a string. + + diff --git a/src/ExchangePlugin/Test/TestExport.py b/src/ExchangePlugin/Test/TestExport.py index f3afbf36f..ffd7f04c0 100644 --- a/src/ExchangePlugin/Test/TestExport.py +++ b/src/ExchangePlugin/Test/TestExport.py @@ -37,23 +37,21 @@ def testExport(theType, theFormat, theFile, theVolume, theDelta): aPart = aSession.activeDocument() aSession.startOperation("Import screw") - anImport = model.addImport(aPart, "Data/screw.step") -# anImportFeature = aPart.addFeature("Import") -# anImportFeature.string("file_path").setValue("Data/screw.step") -# anImportFeature.execute() + anImportFeature = aPart.addFeature("Import") + anImportFeature.string("file_path").setValue("Data/screw.step") aSession.finishOperation() removeFile(theFile) # Export a part aSession.startOperation("Export part") - model.exportToFile(aPart, theFile, anImport.results(), theFormat) -# anExportFeature = aPart.addFeature("Export") -# anExportFeature.string("file_format").setValue(theFormat) -# anExportFeature.string("file_path").setValue(theFile) -# aSelectionListAttr = anExportFeature.selectionList("selection_list") -# aSelectionListAttr.setSelectionType("solids") -# aSelectionListAttr.append(anImportFeature.firstResult(), anImportFeature.firstResult().shape()) -# anExportFeature.execute() + anExportFeature = aPart.addFeature("Export") + anExportFeature.string("file_format").setValue(theFormat) + print "theFile=",theFile + anExportFeature.string("file_path").setValue(theFile) + anExportFeature.string("ExportType").setValue("Regular") + aSelectionListAttr = anExportFeature.selectionList("selection_list") + aSelectionListAttr.setSelectionType("solids") + aSelectionListAttr.append(anImportFeature.firstResult(), anImportFeature.firstResult().shape()) aSession.finishOperation() assert os.path.exists(theFile) @@ -69,50 +67,60 @@ def testExportXAO(): aPart = aSession.activeDocument() aSession.startOperation("Import Box_1") - anImport = model.addImport(aPart, "Data/Box_1.brep") -# anImportFeature = aPart.addFeature("Import") -# anImportFeature.string("file_path").setValue("Data/Box_1.brep") -# anImportFeature.execute() + anImportFeature = aPart.addFeature("Import") + anImportFeature.string("file_path").setValue("Data/Box_1.brep") aSession.finishOperation() # Create groups - aSession.startOperation() - aGroup = model.addGroup(aPart, anImport.results()) - aGroup.defaultResult().data().setName("boite_1") - aGroup.groupList().setSelectionType("solid") -# aGroupFeature = aSession.activeDocument().addFeature("Group") -# aGroupFeature.data().setName("boite_1") -# aSelectionListAttr = aGroupFeature.selectionList("group_list") -# aSelectionListAttr.setSelectionType("solid") -# aSelectionListAttr.append(anImport.feature().lastResult(), None) -# aGroupFeature.execute() + aSession.startOperation("First group") + aGroupFeature = aSession.activeDocument().addFeature("Group") + aGroupFeature.data().setName("boite_1") + aSelectionListAttr = aGroupFeature.selectionList("group_list") + aSelectionListAttr.setSelectionType("solid") + aSelectionListAttr.append(anImportFeature.lastResult(), None) aSession.finishOperation() - aSession.startOperation() - aGroup = model.addGroup(aPart, []) - aGroup.groupList().setSelectionType("face") - aGroup.groupList().append("Box_1_1/Shape1_1") - aGroup.groupList().append("Box_1_1/Shape2_1") - aGroup.defaultResult().data().setName("") -# aGroupFeature = aSession.activeDocument().addFeature("Group") -# aGroupFeature.data().setName("") -# aSelectionListAttr = aGroupFeature.selectionList("group_list") -# aSelectionListAttr.setSelectionType("face") -# aSelectionListAttr.append("Box_1_1/Shape1") -# aSelectionListAttr.append("Box_1_1/Shape2") -# aGroupFeature.execute() + aSession.startOperation("Second Group") + aGroupFeature = aSession.activeDocument().addFeature("Group") + aGroupFeature.data().setName("") + aSelectionListAttr = aGroupFeature.selectionList("group_list") + aSelectionListAttr.setSelectionType("face") + aSelectionListAttr.append("Box_1_1/Shape1") + aSelectionListAttr.append("Box_1_1/Shape2") + aSession.finishOperation() + + aSession.startOperation("Create a field") + aField = aSession.activeDocument().addFeature("Field") + aSelectionListAttr = aField.selectionList("selected") + aSelectionListAttr.setSelectionType("face") + aSelectionListAttr.append("Box_1_1/Shape1") + aSelectionListAttr.append("Box_1_1/Shape2") + aComponentNames = aField.stringArray("components_names") + aComponentNames.setSize(2) # two components + aComponentNames.setValue(0, "temperatue") + aComponentNames.setValue(1, "porosity") + aStamps = aField.intArray("stamps") + aStamps.setSize(1) # one step + aStamps.setValue(0, 10) + aTables = aField.tables("values") + aTables.setType(2) # double + aTables.setSize(1 + 2, 2, 1) # default row + number of selected, number of compoents, number of steps (tables) + aTables.setValue(1., 0, 0, 0) # value, index of selection, index of component, index of step + aTables.setValue(2., 1, 0, 0) + aTables.setValue(3., 2, 0, 0) + aTables.setValue(4., 0, 1, 0) + aTables.setValue(5., 1, 1, 0) + aTables.setValue(6., 2, 1, 0) aSession.finishOperation() # Export - aSession.startOperation("Export") - model.exportToXAO(aPart, "Data/export.xao", "me", "mygeom") -# anExportFeature = aPart.addFeature("Export") -# # anExportFeature.string("ExportType").setValue("XAO") -# anExportFeature.string("file_path").setValue("Data/export.xao") -# # anExportFeature.string("file_format").setValue("XAO") -# anExportFeature.string("xao_author").setValue("me") -# anExportFeature.string("xao_geometry_name").setValue("mygeom") -# anExportFeature.execute() + aSession.startOperation("Export to XAO") + anExportFeature = aPart.addFeature("Export") + anExportFeature.string("xao_file_path").setValue("Data/export.xao") + anExportFeature.string("file_format").setValue("XAO") + anExportFeature.string("ExportType").setValue("XAO") + anExportFeature.string("xao_author").setValue("me") + anExportFeature.string("xao_geometry_name").setValue("mygeom") aSession.finishOperation() # Check exported file -- 2.39.2