Commit Graph

383 Commits

Author SHA1 Message Date
sliptonic
4e53dcc7ac Merge pull request #11939 from davidgilkaufman/restMachiningFromGcode
[Path] Rest machining from gcode
2024-01-18 07:49:54 -06:00
bgbsww
bd1fc0fc03 Add support for OCCT 7.8.0 (#11909) 2024-01-09 19:47:25 -06:00
David Kaufman
257b500779 cleanup 2024-01-08 20:19:39 -05:00
David Kaufman
4a35e788c2 add support for drilling gcode 2024-01-08 20:19:39 -05:00
David Kaufman
0b21930751 add bbox check to getClearedArea to filter out irrelevant gcode 2024-01-08 20:19:39 -05:00
David Kaufman
dddd13f7c0 rename getClearedAreaFromPath -> getClearedArea 2024-01-08 20:19:39 -05:00
David Kaufman
833796c297 remove old/deprecated rest machining code 2024-01-08 20:19:39 -05:00
David Kaufman
58a8d32a16 do computations at higher precision to mitigate error stackup 2024-01-08 20:19:39 -05:00
David Kaufman
73e8b5ec87 fix precision computation 2024-01-08 20:19:39 -05:00
David Kaufman
f68066a219 expand cleared area by a small buffer to cover numeric errors 2024-01-08 20:19:39 -05:00
David Kaufman
c017b000fc proof of concept rest machining from prior path gcode 2024-01-08 20:19:39 -05:00
André Caldas
89dbab9b0e Avoids using getNameInDocument() to test if DocumentObject is attached to a Document.
This patch substitutes by isAttachedToDocument() (almost) everywhere where
getNameInDocument() is used for this purpose.

The very few places not touched by this patch demand a (just a little) less trivial change.
When we change the returning type of getNameInDocument() to std::string,
those places will be easily found, because they shall generate a compiler error
(converting std::string to bool).

Rationale:
The fact that getNameInDocument() return nullptr to indicate
that the object is not attached to a document is responsible for lots of bugs
where the developer does not check for "nullptr".

The idea is to eliminate all those uses of getNameInDocument() and, in the near future,
make getNameInDocument() return always a valid std::string.
2023-12-11 17:37:58 +01:00
Chris Hennes
cfd41683a5 Core: Enable compiling with MSVC /permissive- (#11014)
* Base: Fixes for MSVC permissive-

* App: Fixes for MSVC permissive-

* Gui: Fixes for MSVC permissive-

* Main: Fixes for MSVC permissive-

* Fem: Fixes for MSVC permissive-

* Material: Fixes for MSVC permissive-

* Part: Fixes for MSVC permissive-

* Mesh: Fixes for MSVC permissive-

* Points: Fixes for MSVC permissive-

* Robot: Fixes for MSVC permissive-

* TechDraw: Fixes for MSVC permissive-

* Path: Fixes for MSVC permissive-

* Core; Changes per review comments

* TD: Revision from wandererfan

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

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-27 17:37:29 +01:00
Florian Foinant-Willig
1c1d1bd338 Path: modernize type checking 2023-10-23 18:07:23 +02:00
sliptonic
9b682bf921 Merge pull request #10915 from xtemp09/path-fix2
[Path] Prevent division by zero
2023-10-12 07:11:25 -05:00
xtemp09
eff8b9a419 [Path] Prevent division by zero
Closes #8102.
2023-10-03 13:07:52 +07:00
Chris Hennes
8595b07b76 Merge pull request #10844 from ppphp/remove_redundant_definition
[cmake] some definitions do not matter now
2023-10-02 14:20:49 -05:00
wmayer
98a60cd192 Path: fix -Wunused-parameter
Several methods declare to support keyword arguments but then don't use them
2023-09-30 22:32:01 +02:00
wmayer
b6fb5206db Path: fix -Wunused-but-set-variable 2023-09-30 22:31:46 +02:00
liukaiwen
329904a055 [cmake] some definitions do not matter build now 2023-09-27 18:17:14 +08:00
Chris Hennes
d2e51218c8 Path: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
sliptonic
b04f278a41 Merge pull request #9782 from davidgilkaufman/restMachining
Rest Machining for Path and Path3D Operations
2023-08-21 11:13:01 -05:00
Jonas Bähr
34b176c1db Remove C++ escaping from *Py.xml templates
Now all escaping required for the C++ code generation is done when the
.cpp/.h files are generated. Previously, only newlines were escaped
automatically. This was a) inconsistent and b) leaked c++ details into
the xml data.
In addition, the escaping is now done in one central place, harmonizing
the three previous implementations.

Pre-existing c++ escape sequences in the XML files have been replaced by
their literal equivalent so that the resulting python doc sting remains
unchanged.
2023-08-16 13:17:25 +02:00
wmayer
ec73caa40e modernize C++: make unique 2023-08-07 19:51:30 -06:00
wmayer
7a3106d31b modernize C++: use bool literals 2023-08-06 01:35:39 +02:00
wmayer
88c6f05d06 Path: modernize C++: use override 2023-08-04 17:09:53 +02:00
David Kaufman
32e2088e39 Path: Rest machining feature for Pocket and Pocket3D 2023-07-21 09:03:26 -04:00
luzpaz
a59ec2df85 Fix typos 2023-07-17 16:08:05 -05:00
luzpaz
38a01939e0 Migrate domain name from freecadweb to freecad (#9352)
* Migrate domain name from freecadweb to freecad
* Migrate src/Mod/Material files
* Migrate Stylesheet related files
* Migrate *.svg files
* Migrate miscellaneous files
* Migrate some build files
* Migrate recently added TD AR_IRAM template files

Closes #6415
2023-04-24 15:19:20 -05:00
J-Dunn
2960e0e934 Path: make 3Dview G99 aware 2023-04-06 12:02:48 +02:00
Uwe
4660a9221d [Path] App: remove unused files from PreCompiled.h 2022-12-14 05:32:44 +01:00
Uwe
7e9fe12149 [Path] improve PreCompiled.h handling 2022-12-07 19:51:19 +01:00
Uwe
73b7547cd5 [Path] improve PreCompiled.h handling 2022-12-07 19:51:19 +01:00
Uwe
e2138996de [Path] A-F: remove unused includes
- also some sorting
2022-12-04 19:48:46 +01:00
Uwe
134d2e00b1 [Path] P-End: remove unused includes
- also some sorting
2022-12-04 18:47:50 +01:00
luz paz
630e11566d Path: fix header uniformity 2022-11-30 01:30:09 +01:00
luz paz
f13299a5a6 Path: remove trailing whitespace 2022-11-18 00:01:25 +01:00
Markus Lampert
8448b69cf3 Fix Path::Feature object check 2022-10-11 21:43:09 -07:00
Markus Lampert
29255f0ffd Removed deprecated and obsolete Path.Tool and Path.Tooltable 2022-10-11 21:43:08 -07:00
Markus Lampert
7992f3ed00 Renamed Path c++ python module to PathApp 2022-10-11 21:43:08 -07:00
Uwe
c327217dc3 [Path] Area.cpp: remove redundant nullptr check 2022-10-03 04:22:40 +02:00
marioalexis
a5d878e498 Path: Replace C cast 2022-09-18 11:06:51 -05:00
wmayer
236b40ab65 Path: modernize C++: replace 'typedef' with 'using' 2022-08-29 22:21:01 +02:00
berniev
180edfa3cc Mod: Single arg ctors must be explicit 2022-08-24 16:55:20 +02:00
Jonas Bähr
46cee50bd5 Fix build on MacOS-X 10.14: missing Xerces include dir
This undoes most of the Xerces related part of the commits listed below.
The issue resolved here is that the Xerces include dir *is* set in the
CMakeLists.txt of src/Base, but it got removed from various App and Gui
dirs in src/Mod. If those now include a header from src/Base, which
itself includes xercesc, the build fails using Apple clang version 11.0.0
(clang-1100.0.33.17) on Mojave, configured using cmake 3.22.1, with
errors like the following:

In file included from .../src/Mod/Part/App/FeaturePartBoolean.cpp:34:
In file included from .../src/App/Application.h:33:
.../src/Base/Parameter.h:54:10: fatal error: 'xercesc/util/XercesDefs.hpp' file not found
 #include <xercesc/util/XercesDefs.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Finally, a full list of the commits that introduced this spurious include
dir optimization for reference:
- Drawing: commit f4411478d106ba9f4827754a50efa53bd7767a66
- Image: commit e3476815c04c571199779bd1e444b950e6398025
- Import: commit b7b264e52c8fd97e83987c4ce42ce563170c8918
- Inspection: commit 1f64d8b1b8fcabe983c6e5e624d65766b4429ea0
- Mesh: commit 5a8fed0720d681cdbb9fedc840d2532c4f2f6042
- Part: commit 26bb65f11f4b51e5e47b65b2d6049ece10705a83
- PartDesign: commit f4e49f2aecf08f2337e84510ed019b7fa4b685a3
- Path: commit e3d9cc98577d2073297d55ffd8de28dd50f8444c
- Points: commit 09f3e867cdccd31294cced4e3c73015d3add3f4a
- Raytracing: commit 7b92dedc53f09e2ce8365408f3003e5700aebfc8
- ReverseEnginering: commit eeacc51ad0cd82e5f17d63207f78f79eb20bf9a9
- Robot: commit 4d06684cbd0328e4f43c78b5dab7e7fcebab148d
- Sketcher: commit 079125665495a08a7e2e2a4f01da406128dca625
- Spreadsheet: commit 514097954e95c04a7ec9d7e8ec1afc3aac3dd8d
- Start: commit 2ea2bb0dc393d7b8b41e9137c6d4ae40ce29719d
- Surface: commit 272268dd6c0b460ae9aeecdf371495ea26aa044d
- TechDraw: commit c70fdc3e0aa6b409626a6fa6b7266d05f3338c6d
- Test: commit 49a07b121e08e9bf3fef0f414a8da5602533592e
- Web: commit a93a23d7e4da13b2d5c37ac087b2dcf41aae197d
2022-08-24 07:40:04 +02:00
wmayer
8c298493de Mod: replace std::ifstream/std::ofstream with Base::ifstream/Base::ofstream 2022-08-21 12:46:53 +02:00
wmayer
c87e1cc1c2 clang: fix warnings [-Winconsistent-missing-override] 2022-08-09 17:36:25 +02:00
berniev
71dc5ead2f Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
berniev
f4ffd15864 Mod: redundant void 2 2022-08-08 10:27:50 +02:00
berniev
53ba98d636 Mod: use empty 2022-08-06 19:30:13 +02:00