diff --git a/src/Mod/Mesh/App/Exporter.cpp b/src/Mod/Mesh/App/Exporter.cpp index bd2e4f5cfb..09e29e4934 100644 --- a/src/Mod/Mesh/App/Exporter.cpp +++ b/src/Mod/Mesh/App/Exporter.cpp @@ -102,7 +102,7 @@ int Exporter::addObject(App::DocumentObject *obj, float tol) for (std::string & sub : expandSubObjectNames(obj, subObjectNameCache, 0)) { Base::Matrix4D matrix; auto sobj = obj->getSubObject(sub.c_str(), nullptr, &matrix); - auto linked = sobj->getLinkedObject(true, &matrix, false); + auto linked = sobj->getLinkedObject(true, &matrix, true); auto it = meshCache.find(linked); if (it == meshCache.end()) { if (linked->isDerivedFrom(Mesh::Feature::getClassTypeId())) { @@ -128,6 +128,9 @@ int Exporter::addObject(App::DocumentObject *obj, float tol) Py_DECREF(pyobj); } } + else if (it->second.getTransform() != matrix) { + it->second.setTransform(matrix); + } // Add a new mesh if (it != meshCache.end()) {