diff --git a/src/Mod/Mesh/App/Exporter.cpp b/src/Mod/Mesh/App/Exporter.cpp index f59c6395c8..c90271c1db 100644 --- a/src/Mod/Mesh/App/Exporter.cpp +++ b/src/Mod/Mesh/App/Exporter.cpp @@ -107,7 +107,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())) { @@ -134,7 +134,8 @@ 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()) {