diff --git a/src/Mod/Part/App/AppPart.cpp b/src/Mod/Part/App/AppPart.cpp
index 52ac22129c..d00e2a431b 100644
--- a/src/Mod/Part/App/AppPart.cpp
+++ b/src/Mod/Part/App/AppPart.cpp
@@ -324,6 +324,9 @@ void PartExport initPart()
Interface_Static::SetCVal("write.step.unit","MM");
break;
}
+
+ std::string ap = hStepGrp->GetASCII("Scheme", Interface_Static::CVal("write.step.schema"));
+ Interface_Static::SetCVal("write.step.schema", ap.c_str());
}
} // extern "C"
diff --git a/src/Mod/Part/Gui/DlgImportExportStep.ui b/src/Mod/Part/Gui/DlgImportExportStep.ui
index 2f13c76775..f7dd481e24 100644
--- a/src/Mod/Part/Gui/DlgImportExportStep.ui
+++ b/src/Mod/Part/Gui/DlgImportExportStep.ui
@@ -13,13 +13,13 @@
STEP
-
+
-
Export
-
+
-
@@ -59,6 +59,32 @@
+ -
+
+
+ Scheme
+
+
+
-
+
+
+ AP 203
+
+
+ true
+
+
+
+ -
+
+
+ AP 214
+
+
+
+
+
+
@@ -116,6 +142,14 @@
+
+ comboBoxUnits
+ radioButtonAP203
+ radioButtonAP214
+ lineEditCompany
+ lineEditAuthor
+ lineEditProduct
+
diff --git a/src/Mod/Part/Gui/DlgSettingsGeneral.cpp b/src/Mod/Part/Gui/DlgSettingsGeneral.cpp
index aef5c826e0..b32670170c 100644
--- a/src/Mod/Part/Gui/DlgSettingsGeneral.cpp
+++ b/src/Mod/Part/Gui/DlgSettingsGeneral.cpp
@@ -201,6 +201,17 @@ void DlgImportExportStep::saveSettings()
break;
}
+ // scheme
+ if (ui->radioButtonAP203->isChecked()) {
+ Interface_Static::SetCVal("write.step.schema","AP203");
+ hGrp->GetASCII("Scheme", "AP203");
+ }
+ else {
+ // possible values: AP214CD (1996), AP214DIS (1998), AP214IS (2002)
+ Interface_Static::SetCVal("write.step.schema","AP214CD");
+ hGrp->GetASCII("Scheme", "AP214CD");
+ }
+
// header info
hGrp->SetASCII("Company", ui->lineEditCompany->text().toLatin1());
hGrp->SetASCII("Author", ui->lineEditAuthor->text().toLatin1());
@@ -214,6 +225,14 @@ void DlgImportExportStep::loadSettings()
int unit = hGrp->GetInt("Unit", 0);
ui->comboBoxUnits->setCurrentIndex(unit);
+ // scheme
+ QString ap = QString::fromStdString(hGrp->GetASCII("Scheme",
+ Interface_Static::CVal("write.step.schema")));
+ if (ap.startsWith(QLatin1String("AP203")))
+ ui->radioButtonAP203->setChecked(true);
+ else
+ ui->radioButtonAP214->setChecked(true);
+
// header info
ui->lineEditCompany->setText(QString::fromStdString(hGrp->GetASCII("Company")));
ui->lineEditAuthor->setText(QString::fromStdString(hGrp->GetASCII("Author")));