From b7259483c50b3f4a391ff2fa0e4e2ff8e87e8308 Mon Sep 17 00:00:00 2001 From: Max Wilfinger Date: Sun, 29 Jun 2025 13:59:08 +0200 Subject: [PATCH] Mesh: Update UI strings for consistency --- src/Mod/Mesh/App/AppMeshPy.cpp | 2 +- src/Mod/Mesh/App/MeshPy.xml | 2 +- src/Mod/Mesh/Gui/AppMeshGui.cpp | 2 +- src/Mod/Mesh/Gui/Command.cpp | 188 ++++++++++---------- src/Mod/Mesh/Gui/DlgEvaluateMesh.ui | 8 +- src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp | 2 +- src/Mod/Mesh/Gui/DlgEvaluateSettings.ui | 2 +- src/Mod/Mesh/Gui/DlgRegularSolid.ui | 42 ++--- src/Mod/Mesh/Gui/DlgSettingsImportExport.ui | 4 +- src/Mod/Mesh/Gui/DlgSettingsMeshView.ui | 4 +- src/Mod/Mesh/Gui/DlgSmoothing.ui | 6 +- src/Mod/Mesh/Gui/MeshEditor.cpp | 4 +- src/Mod/Mesh/Gui/RemeshGmsh.cpp | 2 +- src/Mod/Mesh/Gui/RemeshGmsh.ui | 10 +- src/Mod/Mesh/Gui/RemoveComponents.ui | 10 +- src/Mod/Mesh/Gui/Segmentation.ui | 10 +- src/Mod/Mesh/Gui/SegmentationBestFit.cpp | 2 +- src/Mod/Mesh/Gui/SegmentationBestFit.ui | 8 +- src/Mod/Mesh/Gui/Selection.ui | 2 +- src/Mod/Mesh/Gui/SoFCIndexedFaceSet.cpp | 4 +- src/Mod/Mesh/Gui/ViewProvider.cpp | 16 +- src/Mod/Mesh/Gui/ViewProviderCurvature.cpp | 2 +- src/Mod/Mesh/Gui/Workbench.cpp | 40 ++--- 23 files changed, 186 insertions(+), 186 deletions(-) diff --git a/src/Mod/Mesh/App/AppMeshPy.cpp b/src/Mod/Mesh/App/AppMeshPy.cpp index 0bf62df25a..5d1bc69b3e 100644 --- a/src/Mod/Mesh/App/AppMeshPy.cpp +++ b/src/Mod/Mesh/App/AppMeshPy.cpp @@ -275,7 +275,7 @@ private: exporter = std::make_unique(outputFileName, exportFormat); } else { - std::string exStr("Can't determine mesh format from file name.\nPlease specify mesh " + std::string exStr("Cannot determine mesh format from file name.\nSpecify mesh " "format file extension: '"); exStr += outputFileName + "'"; throw Py::ValueError(exStr.c_str()); diff --git a/src/Mod/Mesh/App/MeshPy.xml b/src/Mod/Mesh/App/MeshPy.xml index f565f11ab8..ad4b52f713 100644 --- a/src/Mod/Mesh/App/MeshPy.xml +++ b/src/Mod/Mesh/App/MeshPy.xml @@ -176,7 +176,7 @@ lines = mesh.section(mesh2, [ConnectLines=True, MinDist=0.0001]) movePoint(int, Vector) This method moves the point in the mesh along the given vector. This affects the geometry of the mesh. - Be aware that after moving point(s) the mesh can + Be aware that after moving points the mesh can have self intersections! diff --git a/src/Mod/Mesh/Gui/AppMeshGui.cpp b/src/Mod/Mesh/Gui/AppMeshGui.cpp index a5fb88d494..a4c6e7a419 100644 --- a/src/Mod/Mesh/Gui/AppMeshGui.cpp +++ b/src/Mod/Mesh/Gui/AppMeshGui.cpp @@ -135,7 +135,7 @@ PyMOD_INIT_FUNC(MeshGui) PyMOD_Return(nullptr); } PyObject* mod = MeshGui::initModule(); - Base::Console().log("Loading GUI of Mesh module... done\n"); + Base::Console().log("Loading GUI of Mesh module… done\n"); // instantiating the commands CreateMeshCommands(); diff --git a/src/Mod/Mesh/Gui/Command.cpp b/src/Mod/Mesh/Gui/Command.cpp index 6f6212780e..7a3a9a093d 100644 --- a/src/Mod/Mesh/Gui/Command.cpp +++ b/src/Mod/Mesh/Gui/Command.cpp @@ -84,9 +84,9 @@ CmdMeshUnion::CmdMeshUnion() sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); sMenuText = QT_TR_NOOP("Union"); - sToolTipText = sMenuText; + sToolTipText = QT_TR_NOOP("Unions the selected meshes"); sWhatsThis = "Mesh_Union"; - sStatusTip = sMenuText; + sStatusTip = sToolTipText; sPixmap = "Mesh_Union"; } @@ -142,8 +142,8 @@ void CmdMeshUnion::activated(int) Gui::getMainWindow(), qApp->translate("Mesh_Union", "OpenSCAD"), qApp->translate("Mesh_Union", - "OpenSCAD cannot be found on your system.\n" - "Please visit http://www.openscad.org/index.html to install it.")); + "OpenSCAD cannot be found on the system.\n" + "Visit http://www.openscad.org/index.html to install it.")); } } } @@ -163,9 +163,9 @@ CmdMeshDifference::CmdMeshDifference() sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); sMenuText = QT_TR_NOOP("Difference"); - sToolTipText = sMenuText; + sToolTipText = QT_TR_NOOP("Creates the boolean difference of the selected meshes"); sWhatsThis = "Mesh_Difference"; - sStatusTip = sMenuText; + sStatusTip = sToolTipText; sPixmap = "Mesh_Difference"; } @@ -221,8 +221,8 @@ void CmdMeshDifference::activated(int) Gui::getMainWindow(), qApp->translate("Mesh_Union", "OpenSCAD"), qApp->translate("Mesh_Union", - "OpenSCAD cannot be found on your system.\n" - "Please visit http://www.openscad.org/index.html to install it.")); + "OpenSCAD cannot be found on the system.\n" + "Visit http://www.openscad.org/index.html to install it.")); } } } @@ -242,9 +242,9 @@ CmdMeshIntersection::CmdMeshIntersection() sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); sMenuText = QT_TR_NOOP("Intersection"); - sToolTipText = sMenuText; + sToolTipText = QT_TR_NOOP("Intersects the selected meshes"); sWhatsThis = "Mesh_Intersection"; - sStatusTip = sMenuText; + sStatusTip = sToolTipText; sPixmap = "Mesh_Intersection"; } @@ -300,8 +300,8 @@ void CmdMeshIntersection::activated(int) Gui::getMainWindow(), qApp->translate("Mesh_Union", "OpenSCAD"), qApp->translate("Mesh_Union", - "OpenSCAD cannot be found on your system.\n" - "Please visit http://www.openscad.org/index.html to install it.")); + "OpenSCAD cannot be found on the system.\n" + "Visit http://www.openscad.org/index.html to install it.")); } } } @@ -320,10 +320,10 @@ CmdMeshImport::CmdMeshImport() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Import mesh..."); - sToolTipText = QT_TR_NOOP("Imports a mesh from file"); + sMenuText = QT_TR_NOOP("Import Mesh…"); + sToolTipText = QT_TR_NOOP("Imports a mesh from a file"); sWhatsThis = "Mesh_Import"; - sStatusTip = QT_TR_NOOP("Imports a mesh from file"); + sStatusTip = sToolTipText; sPixmap = "Mesh_Import"; } @@ -373,10 +373,10 @@ CmdMeshExport::CmdMeshExport() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Export mesh..."); - sToolTipText = QT_TR_NOOP("Exports a mesh to file"); + sMenuText = QT_TR_NOOP("Export Mesh…"); + sToolTipText = QT_TR_NOOP("Exports a mesh to a file"); sWhatsThis = "Mesh_Export"; - sStatusTip = QT_TR_NOOP("Exports a mesh to file"); + sStatusTip = sToolTipText; sPixmap = "Mesh_Export"; } @@ -456,10 +456,10 @@ CmdMeshFromGeometry::CmdMeshFromGeometry() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Create mesh from geometry..."); - sToolTipText = QT_TR_NOOP("Create mesh from the selected geometry"); + sMenuText = QT_TR_NOOP("Mesh From Geometry…"); + sToolTipText = QT_TR_NOOP("Creates a mesh from the selected geometry"); sWhatsThis = "Mesh_FromGeometry"; - sStatusTip = QT_TR_NOOP("Create mesh from the selected geometry"); + sStatusTip = sToolTipText; } void CmdMeshFromGeometry::activated(int) @@ -527,8 +527,8 @@ CmdMeshFromPartShape::CmdMeshFromPartShape() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Create mesh from shape..."); - sToolTipText = QT_TR_NOOP("Tessellate shape"); + sMenuText = QT_TR_NOOP("Mesh From Shape…"); + sToolTipText = QT_TR_NOOP("Tessellates the selected shape to a mesh"); sWhatsThis = "Mesh_FromPartShape"; sStatusTip = sToolTipText; sPixmap = "Mesh_FromPartShape.svg"; @@ -553,10 +553,10 @@ CmdMeshVertexCurvature::CmdMeshVertexCurvature() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Curvature plot"); + sMenuText = QT_TR_NOOP("Curvature Plot"); sToolTipText = QT_TR_NOOP("Calculates the curvature of the vertices of a mesh"); sWhatsThis = "Mesh_VertexCurvature"; - sStatusTip = QT_TR_NOOP("Calculates the curvature of the vertices of a mesh"); + sStatusTip = sToolTipText; sPixmap = "Mesh_VertexCurvature"; } @@ -608,10 +608,10 @@ CmdMeshVertexCurvatureInfo::CmdMeshVertexCurvatureInfo() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Curvature info"); - sToolTipText = QT_TR_NOOP("Information about curvature"); + sMenuText = QT_TR_NOOP("Curvature Info"); + sToolTipText = QT_TR_NOOP("Displays information about the curvature"); sWhatsThis = "Mesh_CurvatureInfo"; - sStatusTip = QT_TR_NOOP("Information about curvature"); + sStatusTip = sToolTipText; sPixmap = "Mesh_CurvatureInfo"; } @@ -656,10 +656,10 @@ CmdMeshPolySegm::CmdMeshPolySegm() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Make segment"); + sMenuText = QT_TR_NOOP("Segment"); sToolTipText = QT_TR_NOOP("Creates a mesh segment"); sWhatsThis = "Mesh_PolySegm"; - sStatusTip = QT_TR_NOOP("Creates a mesh segment"); + sStatusTip = sToolTipText; sPixmap = "PolygonPick"; } @@ -715,10 +715,10 @@ CmdMeshAddFacet::CmdMeshAddFacet() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Add triangle"); - sToolTipText = QT_TR_NOOP("Add triangle manually to a mesh"); + sMenuText = QT_TR_NOOP("Triangle"); + sToolTipText = QT_TR_NOOP("Adds a triangle manually to a mesh"); sWhatsThis = "Mesh_AddFacet"; - sStatusTip = QT_TR_NOOP("Add triangle manually to a mesh"); + sStatusTip = sToolTipText; sPixmap = "Mesh_AddFacet"; } @@ -764,10 +764,10 @@ CmdMeshPolyCut::CmdMeshPolyCut() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Cut mesh"); - sToolTipText = QT_TR_NOOP("Cuts a mesh with a picked polygon"); + sMenuText = QT_TR_NOOP("Cut"); + sToolTipText = QT_TR_NOOP("Cuts the mesh with a selected polygon"); sWhatsThis = "Mesh_PolyCut"; - sStatusTip = QT_TR_NOOP("Cuts a mesh with a picked polygon"); + sStatusTip = sToolTipText; sPixmap = "Mesh_PolyCut"; } @@ -829,7 +829,7 @@ CmdMeshPolyTrim::CmdMeshPolyTrim() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Trim mesh"); + sMenuText = QT_TR_NOOP("Trim"); sToolTipText = QT_TR_NOOP("Trims a mesh with a picked polygon"); sWhatsThis = "Mesh_PolyTrim"; sStatusTip = QT_TR_NOOP("Trims a mesh with a picked polygon"); @@ -894,9 +894,9 @@ CmdMeshTrimByPlane::CmdMeshTrimByPlane() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Trim mesh with a plane"); + sMenuText = QT_TR_NOOP("Trim With Plane"); sToolTipText = QT_TR_NOOP("Trims a mesh with a plane"); - sStatusTip = QT_TR_NOOP("Trims a mesh with a plane"); + sStatusTip = sToolTipText; sPixmap = "Mesh_TrimByPlane"; } @@ -923,9 +923,9 @@ CmdMeshSectionByPlane::CmdMeshSectionByPlane() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Create section from mesh and plane"); - sToolTipText = QT_TR_NOOP("Section from mesh and plane"); - sStatusTip = QT_TR_NOOP("Section from mesh and plane"); + sMenuText = QT_TR_NOOP("Section From Plane"); + sToolTipText = QT_TR_NOOP("Sections the mesh with the selected plane"); + sStatusTip = sToolTipText; sPixmap = "Mesh_SectionByPlane"; } @@ -952,9 +952,9 @@ CmdMeshCrossSections::CmdMeshCrossSections() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Cross-sections..."); - sToolTipText = QT_TR_NOOP("Cross-sections"); - sStatusTip = QT_TR_NOOP("Cross-sections"); + sMenuText = QT_TR_NOOP("Cross-Sections…"); + sToolTipText = QT_TR_NOOP("Cross-sections the mesh"); + sStatusTip = sToolTipText; sPixmap = "Mesh_CrossSections"; } @@ -981,10 +981,10 @@ CmdMeshPolySplit::CmdMeshPolySplit() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Split mesh"); + sMenuText = QT_TR_NOOP("Split"); sToolTipText = QT_TR_NOOP("Splits a mesh into two meshes"); sWhatsThis = "Mesh_PolySplit"; - sStatusTip = QT_TR_NOOP("Splits a mesh into two meshes"); + sStatusTip = sToolTipText; } void CmdMeshPolySplit::activated(int) @@ -1039,10 +1039,10 @@ CmdMeshEvaluation::CmdMeshEvaluation() sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); // needs two ampersands to display one - sMenuText = QT_TR_NOOP("Evaluate and repair mesh..."); + sMenuText = QT_TR_NOOP("Evaluate and Repair…"); sToolTipText = QT_TR_NOOP("Opens a dialog to analyze and repair a mesh"); sWhatsThis = "Mesh_Evaluation"; - sStatusTip = QT_TR_NOOP("Opens a dialog to analyze and repair a mesh"); + sStatusTip = sToolTipText; sPixmap = "Mesh_Evaluation"; } @@ -1083,10 +1083,10 @@ CmdMeshEvaluateFacet::CmdMeshEvaluateFacet() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Face info"); - sToolTipText = QT_TR_NOOP("Information about face"); + sMenuText = QT_TR_NOOP("Face Info"); + sToolTipText = QT_TR_NOOP("Displays information about the selected faces"); sWhatsThis = "Mesh_EvaluateFacet"; - sStatusTip = QT_TR_NOOP("Information about face"); + sStatusTip = sToolTipText; sPixmap = "Mesh_EvaluateFacet"; } @@ -1129,10 +1129,10 @@ CmdMeshRemoveComponents::CmdMeshRemoveComponents() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Remove components..."); - sToolTipText = QT_TR_NOOP("Remove topologic independent components from the mesh"); + sMenuText = QT_TR_NOOP("Remove Components…"); + sToolTipText = QT_TR_NOOP("Removes topologic independent components from the mesh"); sWhatsThis = "Mesh_RemoveComponents"; - sStatusTip = QT_TR_NOOP("Remove topologic independent components from the mesh"); + sStatusTip = sToolTipText; sPixmap = "Mesh_RemoveComponents"; } @@ -1177,9 +1177,9 @@ CmdMeshRemeshGmsh::CmdMeshRemeshGmsh() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Refinement..."); - sToolTipText = QT_TR_NOOP("Refine existing mesh"); - sStatusTip = QT_TR_NOOP("Refine existing mesh"); + sMenuText = QT_TR_NOOP("Refinement…"); + sToolTipText = QT_TR_NOOP("Refines an existing mesh"); + sStatusTip = sToolTipText; sWhatsThis = "Mesh_RemeshGmsh"; sPixmap = "Mesh_RemeshGmsh"; } @@ -1211,10 +1211,10 @@ CmdMeshRemoveCompByHand::CmdMeshRemoveCompByHand() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Remove components by hand..."); - sToolTipText = QT_TR_NOOP("Mark a component to remove it from the mesh"); + sMenuText = QT_TR_NOOP("Remove Components Manually…"); + sToolTipText = QT_TR_NOOP("Marks a component to remove it from the mesh"); sWhatsThis = "Mesh_RemoveCompByHand"; - sStatusTip = QT_TR_NOOP("Mark a component to remove it from the mesh"); + sStatusTip = sToolTipText; sPixmap = "Mesh_RemoveCompByHand"; } @@ -1258,10 +1258,10 @@ CmdMeshEvaluateSolid::CmdMeshEvaluateSolid() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Check solid mesh"); + sMenuText = QT_TR_NOOP("Evaluate Solid"); sToolTipText = QT_TR_NOOP("Checks whether the mesh is a solid"); sWhatsThis = "Mesh_EvaluateSolid"; - sStatusTip = QT_TR_NOOP("Checks whether the mesh is a solid"); + sStatusTip = sToolTipText; sPixmap = "Mesh_EvaluateSolid"; } @@ -1299,10 +1299,10 @@ CmdMeshSmoothing::CmdMeshSmoothing() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Smooth..."); - sToolTipText = QT_TR_NOOP("Smooth the selected meshes"); + sMenuText = QT_TR_NOOP("Smooth…"); + sToolTipText = QT_TR_NOOP("Smoothes the selected meshes"); sWhatsThis = "Mesh_Smoothing"; - sStatusTip = QT_TR_NOOP("Smooth the selected meshes"); + sStatusTip = sToolTipText; sPixmap = "Mesh_Smoothing"; } @@ -1328,10 +1328,10 @@ CmdMeshDecimating::CmdMeshDecimating() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Decimation..."); + sMenuText = QT_TR_NOOP("Decimate…"); sToolTipText = QT_TR_NOOP("Decimates a mesh"); - sWhatsThis = QT_TR_NOOP("Decimates a mesh"); - sStatusTip = QT_TR_NOOP("Decimates a mesh"); + sWhatsThis = "Mesh_Decimating"; + sStatusTip = sToolTipText; sPixmap = "Mesh_Decimating"; } @@ -1360,10 +1360,10 @@ CmdMeshHarmonizeNormals::CmdMeshHarmonizeNormals() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Harmonize normals"); + sMenuText = QT_TR_NOOP("Harmonize Normals"); sToolTipText = QT_TR_NOOP("Harmonizes the normals of the mesh"); sWhatsThis = "Mesh_HarmonizeNormals"; - sStatusTip = QT_TR_NOOP("Harmonizes the normals of the mesh"); + sStatusTip = sToolTipText; sPixmap = "Mesh_HarmonizeNormals"; } @@ -1396,10 +1396,10 @@ CmdMeshFlipNormals::CmdMeshFlipNormals() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Flip normals"); - sToolTipText = QT_TR_NOOP("Flips the normals of the mesh"); + sMenuText = QT_TR_NOOP("Flip Normals"); + sToolTipText = QT_TR_NOOP("Flips the normals of the selected mesh"); sWhatsThis = "Mesh_FlipNormals"; - sStatusTip = QT_TR_NOOP("Flips the normals of the mesh"); + sStatusTip = sToolTipText; sPixmap = "Mesh_FlipNormals"; } @@ -1432,10 +1432,10 @@ CmdMeshBoundingBox::CmdMeshBoundingBox() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Boundings info..."); + sMenuText = QT_TR_NOOP("Boundings Info…"); sToolTipText = QT_TR_NOOP("Shows the boundings of the selected mesh"); sWhatsThis = "Mesh_BoundingBox"; - sStatusTip = QT_TR_NOOP("Shows the boundings of the selected mesh"); + sStatusTip = sToolTipText; sPixmap = "Mesh_BoundingBox"; } @@ -1484,10 +1484,10 @@ CmdMeshBuildRegularSolid::CmdMeshBuildRegularSolid() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Regular solid..."); + sMenuText = QT_TR_NOOP("Regular Solid…"); sToolTipText = QT_TR_NOOP("Builds a regular solid"); sWhatsThis = "Mesh_BuildRegularSolid"; - sStatusTip = QT_TR_NOOP("Builds a regular solid"); + sStatusTip = sToolTipText; sPixmap = "Mesh_BuildRegularSolid"; } @@ -1516,10 +1516,10 @@ CmdMeshFillupHoles::CmdMeshFillupHoles() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Fill holes..."); - sToolTipText = QT_TR_NOOP("Fill holes of the mesh"); + sMenuText = QT_TR_NOOP("Fill Holes…"); + sToolTipText = QT_TR_NOOP("Fills the holes of the mesh"); sWhatsThis = "Mesh_FillupHoles"; - sStatusTip = QT_TR_NOOP("Fill holes of the mesh"); + sStatusTip = sToolTipText; sPixmap = "Mesh_FillupHoles"; } @@ -1567,10 +1567,10 @@ CmdMeshFillInteractiveHole::CmdMeshFillInteractiveHole() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Close hole"); - sToolTipText = QT_TR_NOOP("Close holes interactively"); + sMenuText = QT_TR_NOOP("Close Holes"); + sToolTipText = QT_TR_NOOP("Closes holes interactively"); sWhatsThis = "Mesh_FillInteractiveHole"; - sStatusTip = QT_TR_NOOP("Close holes interactively"); + sStatusTip = sToolTipText; sPixmap = "Mesh_FillInteractiveHole"; } @@ -1614,10 +1614,10 @@ CmdMeshSegmentation::CmdMeshSegmentation() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Create mesh segments..."); - sToolTipText = QT_TR_NOOP("Create mesh segments"); + sMenuText = QT_TR_NOOP("Segmentation…"); + sToolTipText = QT_TR_NOOP("Creates new mesh segments"); sWhatsThis = "Mesh_Segmentation"; - sStatusTip = QT_TR_NOOP("Create mesh segments"); + sStatusTip = sToolTipText; sPixmap = "Mesh_Segmentation"; } @@ -1650,10 +1650,10 @@ CmdMeshSegmentationBestFit::CmdMeshSegmentationBestFit() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Create mesh segments from best-fit surfaces..."); - sToolTipText = QT_TR_NOOP("Create mesh segments from best-fit surfaces"); + sMenuText = QT_TR_NOOP("Segmentation From Best-Fit Surfaces…"); + sToolTipText = QT_TR_NOOP("Creates new mesh segments from the best-fit surfaces"); sWhatsThis = "Mesh_SegmentationBestFit"; - sStatusTip = QT_TR_NOOP("Create mesh segments from best-fit surfaces"); + sStatusTip = sToolTipText; sPixmap = "Mesh_SegmentationBestFit"; } @@ -1731,8 +1731,8 @@ CmdMeshSplitComponents::CmdMeshSplitComponents() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Split by components"); - sToolTipText = QT_TR_NOOP("Split selected mesh into its components"); + sMenuText = QT_TR_NOOP("Split by Components"); + sToolTipText = QT_TR_NOOP("Splits the selected mesh into its components"); sWhatsThis = "Mesh_SplitComponents"; sStatusTip = sToolTipText; sPixmap = "Mesh_SplitComponents"; @@ -1779,8 +1779,8 @@ CmdMeshScale::CmdMeshScale() { sAppModule = "Mesh"; sGroup = QT_TR_NOOP("Mesh"); - sMenuText = QT_TR_NOOP("Scale..."); - sToolTipText = QT_TR_NOOP("Scale selected meshes"); + sMenuText = QT_TR_NOOP("Scale…"); + sToolTipText = QT_TR_NOOP("Scales the selected meshes"); sWhatsThis = "Mesh_Scale"; sStatusTip = sToolTipText; sPixmap = "Mesh_Scale"; diff --git a/src/Mod/Mesh/Gui/DlgEvaluateMesh.ui b/src/Mod/Mesh/Gui/DlgEvaluateMesh.ui index 6e914f3f68..eed1ec682b 100644 --- a/src/Mod/Mesh/Gui/DlgEvaluateMesh.ui +++ b/src/Mod/Mesh/Gui/DlgEvaluateMesh.ui @@ -20,7 +20,7 @@ - Mesh information + Mesh Information @@ -43,7 +43,7 @@ - Number of faces: + Number of faces @@ -76,7 +76,7 @@ - Number of edges: + Number of edges @@ -109,7 +109,7 @@ - Number of points: + Number of points diff --git a/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp b/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp index 6ed255f1aa..00c5a2beaa 100644 --- a/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp +++ b/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp @@ -138,7 +138,7 @@ DlgEvaluateMeshImp::DlgEvaluateMeshImp(QWidget* parent, Qt::WindowFlags fl) d->showFoldsFunction(d->enableFoldsCheck); QPushButton* button = d->ui.buttonBox->button(QDialogButtonBox::Open); - button->setText(tr("Settings...")); + button->setText(tr("Settings…")); // try to attach to the active document this->onRefreshButtonClicked(); diff --git a/src/Mod/Mesh/Gui/DlgEvaluateSettings.ui b/src/Mod/Mesh/Gui/DlgEvaluateSettings.ui index 44a94b9238..b8240656d5 100644 --- a/src/Mod/Mesh/Gui/DlgEvaluateSettings.ui +++ b/src/Mod/Mesh/Gui/DlgEvaluateSettings.ui @@ -11,7 +11,7 @@ - Evaluation settings + Evaluation Settings diff --git a/src/Mod/Mesh/Gui/DlgRegularSolid.ui b/src/Mod/Mesh/Gui/DlgRegularSolid.ui index d8bb506ed6..5979118b29 100644 --- a/src/Mod/Mesh/Gui/DlgRegularSolid.ui +++ b/src/Mod/Mesh/Gui/DlgRegularSolid.ui @@ -26,7 +26,7 @@ - Solid: + Solid @@ -117,7 +117,7 @@ - Length: + Length @@ -140,7 +140,7 @@ - Width: + Width @@ -160,7 +160,7 @@ - Height: + Height @@ -216,7 +216,7 @@ - Radius: + Radius @@ -233,7 +233,7 @@ - Length: + Length @@ -270,7 +270,7 @@ - Edge length: + Edge length @@ -290,7 +290,7 @@ - Sampling: + Sampling @@ -350,7 +350,7 @@ - Radius 1: + Radius 1 @@ -367,7 +367,7 @@ - Radius 2: + Radius 2 @@ -384,7 +384,7 @@ - Length: + Length @@ -421,7 +421,7 @@ - Edge length: + Edge length @@ -438,7 +438,7 @@ - Sampling: + Sampling @@ -498,7 +498,7 @@ - Radius: + Radius @@ -535,7 +535,7 @@ - Sampling: + Sampling @@ -585,7 +585,7 @@ - Radius 1: + Radius 1 @@ -602,7 +602,7 @@ - Radius 2: + Radius 2 @@ -639,7 +639,7 @@ - Sampling: + Sampling @@ -689,7 +689,7 @@ - Radius 1: + Radius 1 @@ -706,7 +706,7 @@ - Radius 2: + Radius 2 @@ -743,7 +743,7 @@ - Sampling: + Sampling diff --git a/src/Mod/Mesh/Gui/DlgSettingsImportExport.ui b/src/Mod/Mesh/Gui/DlgSettingsImportExport.ui index 457e6a931f..2b38eb7fc6 100644 --- a/src/Mod/Mesh/Gui/DlgSettingsImportExport.ui +++ b/src/Mod/Mesh/Gui/DlgSettingsImportExport.ui @@ -111,7 +111,7 @@ - Width: + Width @@ -135,7 +135,7 @@ - Height: + Height diff --git a/src/Mod/Mesh/Gui/DlgSettingsMeshView.ui b/src/Mod/Mesh/Gui/DlgSettingsMeshView.ui index 0834118847..87001c8c36 100644 --- a/src/Mod/Mesh/Gui/DlgSettingsMeshView.ui +++ b/src/Mod/Mesh/Gui/DlgSettingsMeshView.ui @@ -11,7 +11,7 @@ - Mesh view + Mesh View @@ -32,7 +32,7 @@ - Default appearance for new meshes + Default Appearance for new Meshes diff --git a/src/Mod/Mesh/Gui/DlgSmoothing.ui b/src/Mod/Mesh/Gui/DlgSmoothing.ui index 69844eec0a..9d702b1d91 100644 --- a/src/Mod/Mesh/Gui/DlgSmoothing.ui +++ b/src/Mod/Mesh/Gui/DlgSmoothing.ui @@ -52,7 +52,7 @@ - Iterations: + Iterations @@ -69,7 +69,7 @@ - Lambda: + Lambda @@ -92,7 +92,7 @@ - Mu: + Mu diff --git a/src/Mod/Mesh/Gui/MeshEditor.cpp b/src/Mod/Mesh/Gui/MeshEditor.cpp index ef46e4d378..72cb10ec22 100644 --- a/src/Mod/Mesh/Gui/MeshEditor.cpp +++ b/src/Mod/Mesh/Gui/MeshEditor.cpp @@ -393,8 +393,8 @@ void MeshFaceAddition::addFacetCallback(void* ud, SoEventCallback* n) && mbe->getState() == SoButtonEvent::UP) { if (face->index.size() == 3) { QMenu menu; - QAction* add = menu.addAction(MeshFaceAddition::tr("Add triangle")); - QAction* swp = menu.addAction(MeshFaceAddition::tr("Flip normal")); + QAction* add = menu.addAction(MeshFaceAddition::tr("Add Triangle")); + QAction* swp = menu.addAction(MeshFaceAddition::tr("Flip Normal")); QAction* clr = menu.addAction(MeshFaceAddition::tr("Clear")); QAction* act = menu.exec(QCursor::pos()); if (act == add) { diff --git a/src/Mod/Mesh/Gui/RemeshGmsh.cpp b/src/Mod/Mesh/Gui/RemeshGmsh.cpp index 08a050a8f5..1e6f6a8121 100644 --- a/src/Mod/Mesh/Gui/RemeshGmsh.cpp +++ b/src/Mod/Mesh/Gui/RemeshGmsh.cpp @@ -240,7 +240,7 @@ void GmshWidget::started() if (!d->label) { d->label = new Gui::StatusWidget(this); d->label->setAttribute(Qt::WA_DeleteOnClose); - d->label->setStatusText(tr("Running Gmsh...")); + d->label->setStatusText(tr("Running Gmsh…")); d->label->show(); } } diff --git a/src/Mod/Mesh/Gui/RemeshGmsh.ui b/src/Mod/Mesh/Gui/RemeshGmsh.ui index 1f0eee53d3..88c74c7aa5 100644 --- a/src/Mod/Mesh/Gui/RemeshGmsh.ui +++ b/src/Mod/Mesh/Gui/RemeshGmsh.ui @@ -29,7 +29,7 @@ - Meshing: + Meshing @@ -39,7 +39,7 @@ - Max element size (0.0 = Auto): + Max element size (0.0 = Auto) @@ -65,7 +65,7 @@ - Min element size (0.0 = Auto): + Min element size (0.0 = Auto) @@ -91,7 +91,7 @@ - Angle: + Angle @@ -178,7 +178,7 @@ - Time: + Time diff --git a/src/Mod/Mesh/Gui/RemoveComponents.ui b/src/Mod/Mesh/Gui/RemoveComponents.ui index 6a144b4061..ab388b94b4 100644 --- a/src/Mod/Mesh/Gui/RemoveComponents.ui +++ b/src/Mod/Mesh/Gui/RemoveComponents.ui @@ -11,7 +11,7 @@ - Remove components + Remove Components @@ -86,7 +86,7 @@ - Pick triangle + Pick Triangle @@ -172,7 +172,7 @@ - Pick triangle + Pick Triangle @@ -189,7 +189,7 @@ - Region options + Region Options @@ -205,7 +205,7 @@ - Respect only triangles with normals facing screen + Respect only triangles with screen-facing normals true diff --git a/src/Mod/Mesh/Gui/Segmentation.ui b/src/Mod/Mesh/Gui/Segmentation.ui index fe4455f7a6..17f993b954 100644 --- a/src/Mod/Mesh/Gui/Segmentation.ui +++ b/src/Mod/Mesh/Gui/Segmentation.ui @@ -11,7 +11,7 @@ - Mesh segmentation + Mesh Segmentation @@ -106,7 +106,7 @@ - Tolerance (Flat) + Tolerance (flat) @@ -123,7 +123,7 @@ - Tolerance (Curved) + Tolerance (curved) @@ -232,7 +232,7 @@ - Max. Curvature + Maximum curvature @@ -266,7 +266,7 @@ - Min. Curvature + Minimum curvature diff --git a/src/Mod/Mesh/Gui/SegmentationBestFit.cpp b/src/Mod/Mesh/Gui/SegmentationBestFit.cpp index 5bb5cea1e4..c157e65383 100644 --- a/src/Mod/Mesh/Gui/SegmentationBestFit.cpp +++ b/src/Mod/Mesh/Gui/SegmentationBestFit.cpp @@ -170,7 +170,7 @@ ParametersDialog::ParametersDialog(std::vector& val, , parameter(std::move(par)) , myMesh(mesh) { - this->setWindowTitle(tr("Surface fit")); + this->setWindowTitle(tr("Surface Fit")); QGridLayout* gridLayout {}; gridLayout = new QGridLayout(this); diff --git a/src/Mod/Mesh/Gui/SegmentationBestFit.ui b/src/Mod/Mesh/Gui/SegmentationBestFit.ui index c777b53f46..6d7080347c 100644 --- a/src/Mod/Mesh/Gui/SegmentationBestFit.ui +++ b/src/Mod/Mesh/Gui/SegmentationBestFit.ui @@ -11,7 +11,7 @@ - Mesh segmentation + Mesh Segmentation @@ -26,7 +26,7 @@ - Parameters... + Parameters… @@ -79,7 +79,7 @@ - Parameters... + Parameters… @@ -132,7 +132,7 @@ - Parameters... + Parameters… diff --git a/src/Mod/Mesh/Gui/Selection.ui b/src/Mod/Mesh/Gui/Selection.ui index 4ed77db0e9..119c69952d 100644 --- a/src/Mod/Mesh/Gui/Selection.ui +++ b/src/Mod/Mesh/Gui/Selection.ui @@ -60,7 +60,7 @@ - Respect only triangles with normals facing screen + Respect only triangles with screen-facing normals true diff --git a/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.cpp b/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.cpp index 997b8f8148..a309ff52c0 100644 --- a/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.cpp +++ b/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.cpp @@ -775,7 +775,7 @@ void SoFCIndexedFaceSet::generateGLArrays(SoGLRenderAction* action) if (numcolors != static_cast(numTria)) { SoDebugError::postWarning( "SoFCIndexedFaceSet::generateGLArrays", - "The number of faces (%d) doesn't match with the number of colors (%d).", + "The number of faces (%d) does not match with the number of colors (%d).", numTria, numcolors); } @@ -817,7 +817,7 @@ void SoFCIndexedFaceSet::generateGLArrays(SoGLRenderAction* action) if (numcolors != coords->getNum()) { SoDebugError::postWarning( "SoFCIndexedFaceSet::generateGLArrays", - "The number of points (%d) doesn't match with the number of colors (%d).", + "The number of points (%d) does not match with the number of colors (%d).", coords->getNum(), numcolors); } diff --git a/src/Mod/Mesh/Gui/ViewProvider.cpp b/src/Mod/Mesh/Gui/ViewProvider.cpp index c3e535c9c9..a4f017265a 100644 --- a/src/Mod/Mesh/Gui/ViewProvider.cpp +++ b/src/Mod/Mesh/Gui/ViewProvider.cpp @@ -792,7 +792,7 @@ void ViewProviderMesh::setupContextMenu(QMenu* menu, QObject* receiver, const ch // toggle command to display components auto func = new Gui::ActionFunction(menu); - QAction* act = menu->addAction(QObject::tr("Display components")); + QAction* act = menu->addAction(QObject::tr("Display Components")); act->setCheckable(true); act->setChecked(pcMatBinding->value.getValue() == SoMaterialBinding::PER_FACE && highlightMode == HighlighMode::Component); @@ -800,7 +800,7 @@ void ViewProviderMesh::setupContextMenu(QMenu* menu, QObject* receiver, const ch this->setHighlightedComponents(on); }); - QAction* seg = menu->addAction(QObject::tr("Display segments")); + QAction* seg = menu->addAction(QObject::tr("Display Segments")); seg->setCheckable(true); seg->setChecked(pcMatBinding->value.getValue() == SoMaterialBinding::PER_FACE && highlightMode == HighlighMode::Segment); @@ -808,7 +808,7 @@ void ViewProviderMesh::setupContextMenu(QMenu* menu, QObject* receiver, const ch this->setHighlightedSegments(on); }); - QAction* col = menu->addAction(QObject::tr("Display colors")); + QAction* col = menu->addAction(QObject::tr("Display Colors")); col->setVisible(canHighlightColors()); col->setCheckable(true); col->setChecked(highlightMode == HighlighMode::Color); @@ -1678,7 +1678,7 @@ void ViewProviderMesh::faceInfoCallback(void* ud, SoEventCallback* cb) cb->setHandled(); // context-menu QMenu menu; - QAction* cl = menu.addAction(QObject::tr("Leave info mode")); + QAction* cl = menu.addAction(QObject::tr("Leave Info Mode")); QAction* id = menu.exec(QCursor::pos()); if (cl == id) { view->setEditing(false); @@ -1771,7 +1771,7 @@ void ViewProviderMesh::fillHoleCallback(void* ud, SoEventCallback* cb) cb->setHandled(); // context-menu QMenu menu; - QAction* cl = menu.addAction(QObject::tr("Leave hole-filling mode")); + QAction* cl = menu.addAction(QObject::tr("Leave Hole-Filling Mode")); QAction* id = menu.exec(QCursor::pos()); if (cl == id) { view->setEditing(false); @@ -1819,9 +1819,9 @@ void ViewProviderMesh::markPartCallback(void* ud, SoEventCallback* cb) cb->setHandled(); // context-menu QMenu menu; - QAction* cl = menu.addAction(QObject::tr("Leave removal mode")); - QAction* rm = menu.addAction(QObject::tr("Delete selected faces")); - QAction* cf = menu.addAction(QObject::tr("Clear selected faces")); + QAction* cl = menu.addAction(QObject::tr("Leave Removal Mode")); + QAction* rm = menu.addAction(QObject::tr("Delete Selected Faces")); + QAction* cf = menu.addAction(QObject::tr("Clear Selected Faces")); QAction* id = menu.exec(QCursor::pos()); if (cl == id) { view->setEditing(false); diff --git a/src/Mod/Mesh/Gui/ViewProviderCurvature.cpp b/src/Mod/Mesh/Gui/ViewProviderCurvature.cpp index 8067a19e1e..af5a69cd19 100644 --- a/src/Mod/Mesh/Gui/ViewProviderCurvature.cpp +++ b/src/Mod/Mesh/Gui/ViewProviderCurvature.cpp @@ -537,7 +537,7 @@ void ViewProviderMeshCurvature::curvatureInfoCallback(void* ud, SoEventCallback* QAction* fl = menu.addAction(QObject::tr("Annotation")); fl->setCheckable(true); fl->setChecked(addflag); - QAction* cl = menu.addAction(QObject::tr("Leave info mode")); + QAction* cl = menu.addAction(QObject::tr("Leave Info Mode")); QAction* id = menu.exec(QCursor::pos()); if (fl == id) { addflag = fl->isChecked(); diff --git a/src/Mod/Mesh/Gui/Workbench.cpp b/src/Mod/Mesh/Gui/Workbench.cpp index 12b184db43..e3a2e22b34 100644 --- a/src/Mod/Mesh/Gui/Workbench.cpp +++ b/src/Mod/Mesh/Gui/Workbench.cpp @@ -45,12 +45,12 @@ using namespace MeshGui; qApp->translate("Workbench", "Boolean"); qApp->translate("Workbench", "&Meshes"); qApp->translate("Workbench", "Cutting"); - qApp->translate("Workbench", "Mesh tools"); - qApp->translate("Workbench", "Mesh modify"); - qApp->translate("Workbench", "Mesh boolean"); - qApp->translate("Workbench", "Mesh cutting"); - qApp->translate("Workbench", "Mesh segmentation"); - qApp->translate("Workbench", "Mesh analyze"); + qApp->translate("Workbench", "Mesh Tools"); + qApp->translate("Workbench", "Mesh Modify"); + qApp->translate("Workbench", "Mesh Boolean"); + qApp->translate("Workbench", "Mesh Cutting"); + qApp->translate("Workbench", "Mesh Segmentation"); + qApp->translate("Workbench", "Mesh Analyze"); #endif /// @namespace MeshGui @class Workbench @@ -66,27 +66,27 @@ public: { // NOLINTBEGIN labelPoints = new QLabel(); - labelPoints->setText(QObject::tr("Number of points:")); + labelPoints->setText(QObject::tr("Number of points")); labelFacets = new QLabel(); - labelFacets->setText(QObject::tr("Number of facets:")); + labelFacets->setText(QObject::tr("Number of facets")); numPoints = new QLabel(); numFacets = new QLabel(); labelMin = new QLabel(); - labelMin->setText(QObject::tr("Minimum bound:")); + labelMin->setText(QObject::tr("Minimum bound")); labelMax = new QLabel(); - labelMax->setText(QObject::tr("Maximum bound:")); + labelMax->setText(QObject::tr("Maximum bound")); numMin = new QLabel(); numMax = new QLabel(); // NOLINTEND QGroupBox* box = new QGroupBox(); - box->setTitle(QObject::tr("Mesh info box")); - box->setWindowTitle(QObject::tr("Mesh info")); + box->setTitle(QObject::tr("Mesh Info Box")); + box->setWindowTitle(QObject::tr("Mesh Info")); // box->setAutoFillBackground(true); QGridLayout* grid = new QGridLayout(box); grid->addWidget(labelPoints, 0, 0); @@ -241,14 +241,14 @@ Gui::ToolBarItem* Workbench::setupToolBars() const Gui::ToolBarItem* root = StdWorkbench::setupToolBars(); Gui::ToolBarItem* mesh = new Gui::ToolBarItem(root); - mesh->setCommand("Mesh tools"); + mesh->setCommand("Mesh Tools"); *mesh << "Mesh_Import" << "Mesh_Export" << "Mesh_FromPartShape" << "Mesh_BuildRegularSolid"; Gui::ToolBarItem* modifying = new Gui::ToolBarItem(root); - modifying->setCommand("Mesh modify"); + modifying->setCommand("Mesh Modify"); *modifying << "Mesh_HarmonizeNormals" << "Mesh_FlipNormals" << "Mesh_FillupHoles" @@ -261,13 +261,13 @@ Gui::ToolBarItem* Workbench::setupToolBars() const << "Mesh_Scale"; Gui::ToolBarItem* boolean = new Gui::ToolBarItem(root); - boolean->setCommand("Mesh boolean"); + boolean->setCommand("Mesh Boolean"); *boolean << "Mesh_Union" << "Mesh_Intersection" << "Mesh_Difference"; Gui::ToolBarItem* cutting = new Gui::ToolBarItem(root); - cutting->setCommand("Mesh cutting"); + cutting->setCommand("Mesh Cutting"); *cutting << "Mesh_PolyCut" << "Mesh_PolyTrim" << "Mesh_TrimByPlane" @@ -275,14 +275,14 @@ Gui::ToolBarItem* Workbench::setupToolBars() const << "Mesh_CrossSections"; Gui::ToolBarItem* compseg = new Gui::ToolBarItem(root); - compseg->setCommand("Mesh segmentation"); + compseg->setCommand("Mesh Segmentation"); *compseg << "Mesh_Merge" << "Mesh_SplitComponents" << "Mesh_Segmentation" << "Mesh_SegmentationBestFit"; Gui::ToolBarItem* analyze = new Gui::ToolBarItem(root); - analyze->setCommand("Mesh analyze"); + analyze->setCommand("Mesh Analyze"); *analyze << "Mesh_Evaluation" << "Mesh_EvaluateFacet" << "Mesh_VertexCurvature" @@ -301,13 +301,13 @@ Gui::ToolBarItem* Workbench::setupCommandBars() const Gui::ToolBarItem* mesh; mesh = new Gui::ToolBarItem(root); - mesh->setCommand("Mesh tools"); + mesh->setCommand("Mesh Tools"); *mesh << "Mesh_Import" << "Mesh_Export" << "Mesh_PolyCut"; mesh = new Gui::ToolBarItem(root); - mesh->setCommand("Mesh test suite"); + mesh->setCommand("Mesh Test Suite"); *mesh << "Mesh_Demolding" << "Mesh_Transform" << "Separator";