Commit Graph

36 Commits

Author SHA1 Message Date
Eric Price
cf8ad66373 Fix boolean operations (#17119)
* add BRepAlgoAPI wrapper files to CMakeList

* introduce wrapper for BRepAlgoAPI_BooleanOperation and derivatives, set sensible default Fuzzyness for boolean operations

* allow default fuzzyness to be set in settings - including off

* backwards compatibility with OCCT 7.3.3 - removed newer paramateres from wrapper

* added missing header

* reverted src/Mod/Part/App/OpenCascadeAll.h to original state

* implement some changes suggested by @wwmayer

* removed unneeded destructor definitions

* moved getDefaultFuzzyValue into its own helper class

* removed unneeded references to base class default constructor

* default to SetRunParallel(Standard_True) as suggested by @FlachyJoe

* fixed license header as requested

* Added new method to autocalculate fuzzyness to BooleanOperation base class and use it for those parts that do not call the obsolete constructor but also do not set precision

* implemented static variable solution as suggested by @wwmayer

* added helix for test case

* Refactoring FCRepAlgoAPI to FCBRepAlgoAPI

* Added Test Case (fuse cylinder with helix with different working and non-working Fuzzy values)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* increased default value of FuzzyBoolean and made tests more robust for compatibility with OCCT 7.3

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixes for FREECAD_USE_PCH - allow testing of FREECAD_USE_PCH on linux with cmake switch (default OFF)

* removed surplus line - wasn't needed after all

* included precompiled as instructed

* set anti-corruption flag in boolean operations, ensures source shape is not damaged in OCCT 7.1 and higher

* fix #17085

* disable subtests that were too specific for now

* fixed all CLI tests - see comments in Pull Request https://github.com/FreeCAD/FreeCAD/pull/17119#issuecomment-2420772452

* Update src/Mod/PartDesign/PartDesignTests/TestTopologicalNamingProblem.py

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

suggested updated test by CalligaroV

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* Update tests/src/Mod/Part/App/TopoShapeExpansion.cpp

Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>

* remove surplus tests from github suggestion interface bug

* hide the BooleanFuzzy variable - can now be only set by manually editing the config file
i
in FCParamGroup "Boolean"
<FCFloat Name="BooleanFuzzy" Value="10.000000000000"/>

* Suggestion by @FlachyJoe - add validity checks to the base and tool shape in any direct boolean op

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>
2024-10-21 18:38:51 +02:00
VM4Dim
2df0f3631d Part: Not needed translation for STEP (file format name) 2024-06-03 11:16:26 -05:00
Kacper Donat
3f2d5b83b5 Gui: Add ability to disable single-solid rule by default 2024-05-20 12:25:36 -04:00
wmayer
a0d86224f3 Part: modernize C++: use equals default 2023-08-22 15:14:03 +02:00
wmayer
82866db0ca Mod: replace QRegExp with QRegularExpression 2022-10-07 14:03:53 +02:00
Uwe
7a7cb8184e [Part] Step import: remove unused includes
- also sort includes
2022-10-06 02:58:23 +02:00
wmayer
7bc369932e Gui: [skip ci] remove DlgImportExportStep.ui resource 2022-10-05 10:31:41 +02:00
wmayer
d9d8134313 Part: split DlgImportExportStep into sub-widgets in order to be used independently 2022-10-05 09:39:04 +02:00
wmayer
5dcaa8e5bf Part: use ImportExportSettings in client code 2022-10-04 12:32:47 +02:00
wmayer
8db7ee1051 Part: implement wrapper class around Interface_Static 2022-10-03 19:03:32 +02:00
wmayer
d4e734282c Part: add getter/setter to ImportExportSettings and simplify DlgImportExportStep 2022-10-03 14:27:42 +02:00
Uwe
412a5a982b [Part] Dlg*: remove unused includes - part 2/2
- also some sorting
2022-09-26 00:04:46 +02:00
wmayer
b00044c656 Part: initialize controls of DlgImportExportStep with ImportExportSettings 2022-07-23 21:16:04 +02:00
donovaly
603cbdbfd5 [Part] make pointers to the UI std::unique_ptr
Same as PR #4293, just for Part

as noted in https://github.com/FreeCAD/FreeCAD/pull/4271#discussion_r554673632
the pointer to the UI should be a unique pointer.

This PR does this for all Part dialogs that don't already use a unique_ptr.
2021-02-05 17:16:20 +01:00
wmayer
7a83853535 Part: offer all supported STEP schemes by OCC in a combo box 2021-02-02 21:51:11 +01:00
Zheng, Lei
32ad54c9ef Import: add new implementation of STEP importer/exporter
For better supporting Link and groups. The original implementation can
still be used by uncheck the STEP import setting 'Use Link Group'.
2019-08-17 15:15:47 +02:00
wmayer
1b26173580 use INCH instead of IN when setting units for STEP or IGES export 2019-06-13 12:40:01 +02:00
Abdullah Tahiri
df38102017 PCH: Part GUI 2019-05-03 23:15:25 +02:00
wmayer
506048a6f9 fixes 0003837: missing tooltip in STEP preferences dialog 2019-02-16 14:51:42 +01:00
wmayer
7d0e06c961 only allow 7-bit ASCII for IGES and STEP header information 2019-02-14 12:05:55 +01:00
sL1pKn07
018b41032a [For v018] Fix build with Qt5 beta
Seems need add some headers for build with incoming Qt 5.11 (Tested with 5.11.0beta2)
2018-04-10 12:59:41 +02:00
wmayer
d9ae108319 put all STEP export/import options into one tab page 2018-02-07 22:46:30 +01:00
wmayer
d259aa0784 issue #0002744: FR: check box to export STEP w/without pcurves 2016-10-22 19:44:11 +02:00
wmayer
864e0bcccb + make it more obvious what BRep mode for IGES export means 2015-06-25 16:41:53 +02:00
wmayer
54317becbf + fix writing STEP settings 2015-06-09 21:23:16 +02:00
wmayer
ee86871bed + fixes #0000763: Bad IGS import 2015-01-05 16:28:40 +01:00
wmayer
1f450972d2 + change between AP203 and AP214 schemes 2014-10-30 13:07:25 +01:00
wmayer
92ebfab47a + customize STEP header 2014-10-30 11:48:33 +01:00
wmayer
76906d20a0 + customize IGES header 2014-10-29 16:39:33 +01:00
wmayer
b6df4a490e + header for IGES files (disabled) 2014-10-29 12:29:48 +01:00
wmayer
c67f326174 + split STEP and IGES settings into separate pages, handle Brep mode of IGES format 2014-10-28 19:27:23 +01:00
wmayer
e5965a4596 fixes #0001333: Extruding a shape 'MyShape' should call solid 'Extruded from MyShape' 2014-01-02 15:32:42 +01:00
wmayer
3cc032c11e + Add option to refine solid on sketch-based features 2013-09-21 09:16:44 +02:00
Sebastian Hoogen
107b784d13 0000684: Check Shape after boolean before refine 2012-06-16 16:20:06 +02:00
wmayer
f8f498a4f9 0000727: Keep faces colors on boolean operations 2012-06-04 11:43:20 +02:00
wmayer
120ca87015 + unify DLL export defines to namespace names
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5000 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-10-10 13:44:52 +00:00