From 8ab063aaa5f6a69be7b48a239bf0d4c584d7255b Mon Sep 17 00:00:00 2001 From: Jean-Marie Verdun Date: Sun, 9 Jul 2017 22:55:38 +0200 Subject: [PATCH] Final fix for hierarchical STEP exporter --- src/Mod/Import/App/ImportOCAF.cpp | 18 ++---------------- src/Mod/Import/App/ImportOCAF.h | 1 - src/Mod/Import/Gui/AppImportGuiPy.cpp | 2 +- 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/src/Mod/Import/App/ImportOCAF.cpp b/src/Mod/Import/App/ImportOCAF.cpp index e4635a2f28a1..3f63ad9c2feb 100644 --- a/src/Mod/Import/App/ImportOCAF.cpp +++ b/src/Mod/Import/App/ImportOCAF.cpp @@ -512,20 +512,6 @@ void ExportOCAF::createNode(App::Part* part, int& root_id, std::vector ComputeShapes(labels); - puts(" ========================================================= "); - // XCAFDoc_DocumentTool::ShapeTool(labels)->Dump(std::cerr,true); - puts(" ========================================================= "); - aShapeTool->Dump(std::cerr); -} - - - - - int ExportOCAF::saveShape(Part::Feature* part, const std::vector& colors, std::vector & hierarchical_label,std::vector & hierarchical_loc) { const TopoDS_Shape& shape = part->Shape.getValue(); @@ -584,8 +570,8 @@ int ExportOCAF::saveShape(Part::Feature* part, const std::vector& co if (face_index.find(index) != face_index.end()) { face_index.erase(index); - //TDF_Label faceLabel = aShapeTool->AddSubShape(shapeLabel, xp.Current()); - TDF_Label faceLabel= TDF_TagSource::NewChild(shapeLabel); + TDF_Label faceLabel = aShapeTool->AddSubShape(shapeLabel, xp.Current()); + // TDF_Label faceLabel= TDF_TagSource::NewChild(shapeLabel); aShapeTool->SetShape(faceLabel, xp.Current()); const App::Color& color = colors[index-1]; diff --git a/src/Mod/Import/App/ImportOCAF.h b/src/Mod/Import/App/ImportOCAF.h index fdaba6fb57e0..2a78b1b9fa88 100644 --- a/src/Mod/Import/App/ImportOCAF.h +++ b/src/Mod/Import/App/ImportOCAF.h @@ -79,7 +79,6 @@ class ImportExport ExportOCAF { public: void createNode(App::Part* part, int& root_it, std::vector & hierarchical_label,std::vector & hierarchical_loc); - void ComputeDoc(int labels); ExportOCAF(Handle(TDocStd_Document) h, bool explicitPlacement); int saveShape(Part::Feature* part, const std::vector&, std::vector & hierarchical_label,std::vector & hierarchical_loc); void push_node(int root, int node, std::vector & hierarchical_label,std::vector & hierarchical_loc); diff --git a/src/Mod/Import/Gui/AppImportGuiPy.cpp b/src/Mod/Import/Gui/AppImportGuiPy.cpp index 79a811fcb61a..6edbc35ed23e 100644 --- a/src/Mod/Import/Gui/AppImportGuiPy.cpp +++ b/src/Mod/Import/Gui/AppImportGuiPy.cpp @@ -490,6 +490,7 @@ class Module : public Py::ExtensionModule hApp->NewDocument(TCollection_ExtendedString("MDTV-CAF"), hDoc); bool keepExplicitPlacement = list.size() > 1; + keepExplicitPlacement = Standard_True; Import::ExportOCAF ocaf(hDoc, keepExplicitPlacement); // That stuff is exporting a list of selected oject into FreeCAD Tree @@ -502,7 +503,6 @@ class Module : public Py::ExtensionModule std::vector hierarchical_label; std::vector hierarchical_loc; label=export_app_object(obj,ocaf,label, hierarchical_label, hierarchical_loc); - ocaf.ComputeDoc(label); } }