diff --git a/DDCore/include/Parsers/detail/Dimension.h b/DDCore/include/Parsers/detail/Dimension.h
index 4bed941144698979e956a44ff12f73b3e0b94756..cdae00f1b06ee15d5df1cab73608441798c613b9 100644
--- a/DDCore/include/Parsers/detail/Dimension.h
+++ b/DDCore/include/Parsers/detail/Dimension.h
@@ -746,14 +746,24 @@ namespace dd4hep {
       std::string refStr() const;
       /// Access "module" attribute as STL string
       std::string moduleStr() const;
+      /// Access "module" attribute as STL string
+      std::string moduleStr(const std::string& default_value) const;
       /// Access "readout" attribute as STL string
       std::string readoutStr() const;
+      /// Access "readout" attribute as STL string
+      std::string readoutStr(const std::string& default_value) const;
       /// Access vis attribute as STL string. If not present empty return empty string
       std::string visStr() const;
+      /// Access vis attribute as STL string. If not present empty return empty string
+      std::string visStr(const std::string& default_value) const;
       /// Access region attribute as STL string. If not present empty return empty string
       std::string regionStr() const;
+      /// Access region attribute as STL string. If not present empty return empty string
+      std::string regionStr(const std::string& default_value) const;
       /// Access limits attribute as STL string. If not present empty return empty string
       std::string limitsStr() const;
+      /// Access limits attribute as STL string. If not present empty return empty string
+      std::string limitsStr(const std::string& default_value) const;
     };
 
   }       /* End namespace DD4HEP_DIMENSION_NS        */
diff --git a/DDCore/include/Parsers/detail/Dimension.imp b/DDCore/include/Parsers/detail/Dimension.imp
index baffc9042fddf59e2e00d0268f2e602e9444e2ea..48f6aea42d884c0bdaa55899d8f9f30cee30b519 100644
--- a/DDCore/include/Parsers/detail/Dimension.imp
+++ b/DDCore/include/Parsers/detail/Dimension.imp
@@ -310,22 +310,47 @@ std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::regionStr() const {
   return m_element.hasAttr(_U(region)) ? m_element.attr < std::string > (_U(region)) : std::string();
 }
 
+/// Access "region" attribute as STL std::string. If not present returns empty string.
+std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::regionStr(const std::string& default_value) const {
+  return m_element.hasAttr(_U(region)) ? m_element.attr < std::string > (_U(region)) : default_value;
+}
+
 /// Access "limits" attribute as STL std::string. If not present returns empty string.
 std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::limitsStr() const {
   return m_element.hasAttr(_U(limits)) ? m_element.attr < std::string > (_U(limits)) : std::string();
 }
 
+/// Access "limits" attribute as STL std::string. If not present returns empty string.
+std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::limitsStr(const std::string& default_value) const {
+  return m_element.hasAttr(_U(limits)) ? m_element.attr < std::string > (_U(limits)) : default_value;
+}
+
 /// Access "vis" attribute as STL std::string. If not present returns empty string.
 std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::visStr() const {
   return m_element.hasAttr(_U(vis)) ? m_element.attr < std::string > (_U(vis)) : std::string();
 }
 
+/// Access "vis" attribute as STL std::string. If not present returns empty string.
+std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::visStr(const std::string& default_value) const {
+  return m_element.hasAttr(_U(vis)) ? m_element.attr < std::string > (_U(vis)) : default_value;
+}
+
 /// Access "readout" attribute as STL std::string. If not present returns empty string.
 std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::readoutStr() const {
   return m_element.hasAttr(_U(readout)) ? m_element.attr < std::string > (_U(readout)) : std::string();
 }
 
+/// Access "readout" attribute as STL std::string. If not present returns empty string.
+std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::readoutStr(const std::string& default_value) const {
+  return m_element.hasAttr(_U(readout)) ? m_element.attr < std::string > (_U(readout)) : default_value;
+}
+
 /// Access "module" attribute as STL std::string. If not present returns empty string.
 std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::moduleStr() const {
   return m_element.hasAttr(_U(module)) ? m_element.attr < std::string > (_U(module)) : std::string();
 }
+
+/// Access "module" attribute as STL std::string. If not present returns empty string.
+std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::moduleStr(const std::string& default_value) const {
+  return m_element.hasAttr(_U(module)) ? m_element.attr < std::string > (_U(module)) : default_value;
+}