diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAdvanced.ui b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAdvanced.ui
index 9ce857efe4..f5039f7ac6 100644
--- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAdvanced.ui
+++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAdvanced.ui
@@ -6,8 +6,8 @@
0
0
- 440
- 355
+ 444
+ 380
@@ -40,20 +40,80 @@
-
-
-
-
+
-
+
0
- 0
+ 20
+
+ Include 2D Objects in projection
+
- Mark Fuzz
+ Show Loose 2D Geom
+
+
+ false
+
+
+ ShowLoose2d
+
+
+ Mod/TechDraw/General
- -
+
-
+
+
+ Max SVG Hatch Tiles
+
+
+
+ -
+
+
+
+ true
+
+
+
+ Line End Cap Shape
+
+
+
+ -
+
+
+ If checked, system will attempt to automatically correct dimension references when the model changes.
+
+
+
+
+
+ Auto Correct Dimension Refs
+
+
+ true
+
+
+ AutoCorrectRefs
+
+
+ Mod/TechDraw/Dimensions
+
+
+
+ -
+
+
+ Max PAT Hatch Segments
+
+
+
+ -
@@ -94,285 +154,50 @@ Each unit is approx. 0.1 mm wide
- -
-
-
-
- 0
- 0
-
-
-
- Dump intermediate results during Section view processing
-
-
- Debug Section
-
-
- debugSection
-
-
- Mod/TechDraw/debug
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
- Edge Fuzz
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 20
-
-
-
- Dump intermediate results during Detail view processing
-
-
- Debug Detail
-
-
- debugDetail
-
-
- Mod/TechDraw/debug
-
-
-
- -
-
-
-
- 0
- 20
-
-
-
- Maximum hatch line segments to use
-when hatching a face with a PAT pattern
-
-
- Qt::AlignRight
-
-
- 1
-
-
- 1000000
-
-
- 100
-
-
- 10000
-
-
- MaxSeg
-
-
- Mod/TechDraw/PAT
-
-
-
- -
-
-
- Issue progress messages while building View geometry
-
-
- Report Progress
-
-
- ReportProgress
-
-
- /Mod/TechDraw/General
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 20
-
-
-
- Highlights border of section cut in section views
-
-
- Show Section Edges
-
-
- true
-
-
- ShowSectionEdges
-
-
- /Mod/TechDraw/General
-
-
-
-
-
-
-
- 0
- 20
-
-
-
- Limit of 64x64 pixel SVG tiles used to hatch a single face.
-For large scalings you might get an error about to many SVG tiles.
-Then you need to increase the tile limit.
-
-
- Qt::AlignRight
-
-
- 1
-
-
- 1000000
-
-
- 100
-
-
- 10000
-
-
- MaxSVGTile
-
-
- Mod/TechDraw/Decorations
-
-
-
- -
-
+
0
0
-
- If checked, TechDraw will attempt to build faces using the
-line segments returned by the hidden line removal algorithm.
-Faces must be detected in order to use hatching, but there
-can be a performance penalty in complex models.
+
+
+ 0
+ 24
+
-
- Detect Faces
-
-
- true
-
-
- HandleFaces
-
-
- /Mod/TechDraw/General
-
-
-
- -
-
- true
+ false
-
- Line End Cap Shape
-
-
-
- -
-
-
- Max SVG Hatch Tiles
-
-
-
- -
-
-
-
- 0
- 20
-
-
- Include 2D Objects in projection
-
-
- Show Loose 2D Geom
-
-
- false
+ Shape of line end caps.
+Only change unless you know what you are doing!
- ShowLoose2d
+ EdgeCapStyle
Mod/TechDraw/General
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Include edges with unexpected geometry (zero length etc.) in results
-
-
- Allow Crazy Edges
-
-
- allowCrazyEdge
-
-
- Mod/TechDraw/debug
-
+
-
+
+ Round
+
+
+ -
+
+ Square
+
+
+ -
+
+ Flat
+
+
-
@@ -408,15 +233,8 @@ can be a performance penalty in complex models.
- -
-
-
- Max PAT Hatch Segments
-
-
-
- -
-
+
-
+
0
@@ -429,52 +247,134 @@ can be a performance penalty in complex models.
20
-
-
- false
-
-
- Shape of line end caps.
-Only change unless you know what you are doing!
+ Highlights border of section cut in section views
+
+
+ Show Section Edges
+
+
+ true
- EdgeCapStyle
+ ShowSectionEdges
- Mod/TechDraw/General
+ /Mod/TechDraw/General
-
-
-
- Round
-
-
- -
-
- Square
-
-
- -
-
- Flat
-
-
- -
-
-
- Qt::Horizontal
+
-
+
+
+
+ 0
+ 0
+
-
+
+ Include edges with unexpected geometry (zero length etc.) in results
+
+
+ Allow Crazy Edges
+
+
+ allowCrazyEdge
+
+
+ Mod/TechDraw/debug
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
- 40
+ 0
20
-
+
+ Dump intermediate results during Detail view processing
+
+
+ Debug Detail
+
+
+ debugDetail
+
+
+ Mod/TechDraw/debug
+
+
- -
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Mark Fuzz
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ If checked, TechDraw will attempt to build faces using the
+line segments returned by the hidden line removal algorithm.
+Faces must be detected in order to use hatching, but there
+can be a performance penalty in complex models.
+
+
+ Detect Faces
+
+
+ true
+
+
+ HandleFaces
+
+
+ /Mod/TechDraw/General
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Edge Fuzz
+
+
+
+ -
@@ -515,25 +415,144 @@ Each unit is approx. 0.1 mm wide
- -
-
+
-
+
- If checked, system will attempt to automatically correct dimension references when the model changes.
-
-
-
+ Issue progress messages while building View geometry
- Auto Correct Dimension Refs
+ Report Progress
+
+
+ ReportProgress
+
+
+ /Mod/TechDraw/General
+
+
+
+ -
+
+
+
+ 0
+ 20
+
+
+
+ Limit of 64x64 pixel SVG tiles used to hatch a single face.
+For large scalings you might get an error about to many SVG tiles.
+Then you need to increase the tile limit.
+
+
+ Qt::AlignRight
+
+
+ 1
+
+
+ 1000000
+
+
+ 100
+
+
+ 10000
+
+
+ MaxSVGTile
+
+
+ Mod/TechDraw/Decorations
+
+
+
+ -
+
+
+
+ 0
+ 20
+
+
+
+ Maximum hatch line segments to use
+when hatching a face with a PAT pattern
+
+
+ Qt::AlignRight
+
+
+ 1
+
+
+ 1000000
+
+
+ 100
+
+
+ 10000
+
+
+ MaxSeg
+
+
+ Mod/TechDraw/PAT
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Dump intermediate results during Section view processing
+
+
+ Debug Section
+
+
+ debugSection
+
+
+ Mod/TechDraw/debug
+
+
+
+ -
+
+
+ If checked, FreeCAD will use the new face finder algorithm. If not checked, FreeCAD will use the original face finder.
+
+
+ Use New Face Finder
true
- AutoCorrectRefs
+ NewFaceFinder
- Mod/TechDraw/Dimensions
+ Mod/TechDraw/General
diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAdvancedImp.cpp b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAdvancedImp.cpp
index f83ce45b5f..ca9e430ea4 100644
--- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAdvancedImp.cpp
+++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAdvancedImp.cpp
@@ -58,6 +58,7 @@ void DlgPrefsTechDrawAdvancedImp::saveSettings()
ui->sbMaxPat->onSave();
ui->cbReportProgress->onSave();
ui->cbAutoCorrectRefs->onSave();
+ ui->cbNewFaceFinder->onSave();
}
void DlgPrefsTechDrawAdvancedImp::loadSettings()
@@ -76,6 +77,7 @@ void DlgPrefsTechDrawAdvancedImp::loadSettings()
ui->sbMaxPat->onRestore();
ui->cbReportProgress->onRestore();
ui->cbAutoCorrectRefs->onRestore();
+ ui->cbNewFaceFinder->onRestore();
}
/**