Commit Graph

3909 Commits

Author SHA1 Message Date
Brad Collette
460d7e611a Change command names and icons 2024-03-04 11:18:41 -06:00
Brad Collette
ef88b8986f rename workbench 2024-03-04 11:18:41 -06:00
sliptonic
32d9776f59 Merge pull request #12661 from djmdjm/adaptive-glitch-fix
PATH: Fix adaptive glitch by removing coincident points
2024-03-04 10:09:21 -07:00
sliptonic
551626ada3 Merge pull request #12652 from djmdjm/centroid-g43
Add G43 tool height compensation to centroid post
2024-03-04 10:08:31 -07:00
sliptonic
5834042855 Merge pull request #12711 from jffmichi/fix_tagdressup
Path: fix error in Tag dressup when adding a point.
2024-03-04 07:22:09 -07:00
sliptonic
72605ab0b6 Merge pull request #12504 from davidgilkaufman/zigzagoffset_ordering
[Path] Fix path ordering for Offset and ZigZagOffset Pockets
2024-03-04 07:17:58 -07:00
jffmichi
04a9a5c8df Path: fix error in Tag dressup when adding a point. 2024-03-03 03:57:17 +01:00
Chris Hennes
c4b54a94a2 Update translations 2024-02-29 17:25:46 -06:00
Damien Miller
3141ae54a9 Fix adaptive glitch by removing coincident points
Remove adjacent coincident and nearly-coincident points from Path.

This is based on PR#5276 by sundtek, but only collapses adjacent points
on the Path. It also addresses (IMO) most of the feedback on the original
PR.

see also discussion on the forum:
https://forum.freecadweb.org/viewtopic.php?f=15&t=42755&start=10#p555566
2024-02-29 11:38:16 +11:00
Damien Miller
f8bc271136 regress test for G43 in centroid post
Since the centroid post now support --no-tlo, we can test that
too.
2024-02-28 22:00:52 +11:00
Damien Miller
caef98406b Add G43 tool height compensation to centroid post
This adds G43 tool height compensation to the centroid CAM post-processor using
a similar approach to the G43 support in the MACH3 post.

Specifically, G43 is emitted at every tool change by default and a new
`--no-tlo` post argument can restore the old behaviour of no height
compensation being emitted. These both match how the MACH3 post does it.
2024-02-28 21:59:33 +11:00
Chris Hennes
641e3dbbb4 Update translations (#12557)
* Update translations

* [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>
2024-02-24 21:38:37 -06:00
David Kaufman
a9888112c2 [Path] Change ZigZagOffset so the profile starts at the end of the zigzag 2024-02-19 23:13:44 -05:00
David Kaufman
86659c41ab [Path] disable wire sorting for ZigZagOffset and Offset
Also enable the Min Travel checkbox unconditionally, since it can now be
used to override this "disable" feature and enable wire sorting
2024-02-19 23:13:37 -05:00
Schildkroet
a892e5ca7c Bugfix uccnc_post.py
Fixed drill cycles for uccnc post
2024-02-15 21:58:35 +01:00
Yorik van Havre
ae0f162a41 Crowdin translations (#12313)
* updated ts files

* merged crowdin translations

* [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>
2024-02-12 11:59:08 -06:00
bgbsww
93c9c58c4d Stop tests from leaving files around after execution 2024-02-03 09:48:59 -05:00
sliptonic
fc1b138db2 Merge pull request #12041 from Ondsel-Development/fixorderbywidget
fixes #12029
2024-01-19 12:12:46 -06:00
sliptonic
8e48165b16 fixes #12029 2024-01-19 11:31:53 -06:00
sliptonic
4e53dcc7ac Merge pull request #11939 from davidgilkaufman/restMachiningFromGcode
[Path] Rest machining from gcode
2024-01-18 07:49:54 -06:00
Bill Reese
1bb85de18d Fix for missing letters when V-carving a string.
Issue 8064 occurs when FreeCAD passes a Voronoi diagram to
Boost that becomes self-intersecting when Boost truncates the
diagram's coordinates to integers.  This occurs when the discretizer
slightly misses closing the polygon generated for the letter by less
that FreeCAD's epsilon, then the wrapping Python code closes the
polygon by adding the initial polygon point as the final point.
This creates a short segment that, depending on the position of
the letter in the coordinate system, may end up being moved one
Boost coordinate delta away from the intended point, which can
end up self-intersecting.
Since the miss is very small, FreeCAD should treat it as it it
were the initial point.  There's no need for a duplicate copy of
the initial point, so we remove this point close to the initial
point and let insert_many_wires() close the polygon as usual.
2024-01-13 12:41:26 -05:00
David Kaufman
15306066db replace hard coded 1um tolerance with job.GeometryTolerance 2024-01-11 22:49:11 -05: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
41c1206d80 Important performance optimization: union Thicken() polygons individually, not en masse 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
sliptonic
f952391cce Merge pull request #11927 from bdieterm/fix-path-profile
Path: fix wire midpoint calculation
2024-01-08 14:00:03 -06:00
Kevin Martin
c2fb684ff7 Streamline scaling for DXF import
Eliminate m_measurement_inch to clean up logic for priority of MEASUREMENT and INSUNITS.
Save the actual scaling factor rather than the scaling enum so a switch statement is not executed for each call to mm()
Add to CDxfRead the work to handle dxfScaling option, ImpExpDxfRead just has to set it up now.
Get the scaling factor from a lookup table rather than a switch statement
Display a message explaining what the scaling factor is and where it comes from
Remove large amount of Lint.
2024-01-08 18:01:21 +01:00
bdieterm
2428f67980 Path: fix wire midpoint calculation 2024-01-07 21:23:13 +01:00
Chris Hennes
fce7dea6f7 Update translations (#11886)
* Update translations

* [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>
2024-01-03 09:27:18 -06:00
Syres916
33b43e1945 [Path] Implement document level Units Schema check 2023-12-28 22:03:47 +00:00
Syres916
0dfed14632 [Path] Remove System Unit Schema Check...
...to be replaced by document level Unit Schema Check
2023-12-28 22:01:11 +00:00
Yorik van Havre
651fc54a8c merged crowdin translations 2023-12-20 09:27:37 +01:00
sliptonic
2dbf73989a Merge pull request #11673 from bgbsww/bgbsww-patch-20
Tweak section tolerance to make base layer of paths work again
2023-12-11 11:12:31 -06: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
bgbsww
33fe7c6b7e Tweak section tolerance to make base layer of paths work again 2023-12-06 19:32:26 -05:00
sliptonic
0aa328622d Merge pull request #11499 from Syres916/Sanity_CycleTime_Fix
[Path] Sanity, change default zero CycleTime from float to string
2023-12-04 12:00:15 -06:00
Yorik van Havre
fac94ba932 Translations (#11551)
* Updated ts files

* merged crowdin translations

* [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 11:29:38 -06: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
Syres916
d97360b189 [Path] Sanity, change default zero CycleTime from float to string 2023-11-22 14:17:49 +00:00
Chris Hennes
1372070452 Update translations 2023-11-20 13:46:22 -06:00
LarryWoestman
f5be078da3 Path: Added separator lines to make the tests easier to find (#11423)
Co-authored-by: LarryWoestman <LarryWoestman@users.noreply.github.com>
2023-11-20 10:13:44 -07:00
LarryWoestman
f3a9dc8d8d Path: Rearranged and renumbered some of the tests 2023-11-12 16:45:06 -08:00