Commit Graph

211 Commits

Author SHA1 Message Date
Chris Hennes
eb3f9b1586 Merge pull request #20428 from pieterhijma/fix-doxygen-structural-warnings
Fix doxygen structural warnings
2025-03-24 21:07:53 -05:00
sliptonic
e0836d1e4c Merge pull request #19910 from LarryWoestman/refactor
CAM:  Used inheritance to simplify the refactored postprocessors even more
2025-03-24 17:58:58 +01:00
Pieter Hijma
6f373f0927 [Doc] Fix CAM documentation problems
- Fix nested comments
- Fix section labels
2025-03-24 16:33:54 +01:00
J-Dunn
d2e9f50129 CAM: thread-mill Shape , more robust model (#20320)
* CAM:  thread-mill Shape , more robust model 

Purpose: prevent solver dumping arcane coding errors to report window if "crest" value is (legitimately) set to zero by user. 

Single tooth thread-mill tools exist which have a sharp point, ie zero flat "crest " surface. Thus the user can reasonably expect to configure a zero dimension to the truncated end of the tool if it is not truncated. This should not provoke an error condition and certainly not crash the model and dump lots of arcane developer info on the machinist user. 

The problem is that a zero dimension makes two points concurrent and removes an edge from the model. This leads to and ill-defined model which crashes the solver. The user should not be exposed to this kind of coding breakage when entering legitimate data for a tool shape. The solution (or workaround) here is to add a very small faction of the shaft diameter to the user supplied zero to prevent the solver crashing. Since this is proportional to the tool shaft it will scale to any use of the tool shape without disrupting path accuracy.

This is a drop in replacement for the existing file and caters for both types of this tool:  truncated tip and pointed tip.

* threadmill Shape update

This thread-mill Shape file uses max()  in the expression for crest. 
This allows user setting zero crest by adding a small finite dimension to prevent the solver crashing, while not making any change to finite crest tools. 
Best of both worlds.
2025-03-23 19:12:36 +01:00
Adrian Insaurralde
b0724a34d9 cmake: remove distutils usage for python < 3.10 2025-03-22 11:08:36 -05:00
Chris Hennes
ddffc455c4 CAM: Add missing destructor
Coverity issue 513026
2025-03-22 07:15:15 +01:00
Lawrence Woestman
e08f948661 CAM: Used inheritance to simplify the refactored postprocessors more
Updated the Masso tests now that it is using the new API.
2025-03-20 19:22:50 -07:00
Chris Hennes
21c07cabc5 FreeCAD: Compiler warning fixes 2025-03-19 10:13:34 +01:00
Lawrence Woestman
1fecb21db7 CAM: Added three options to the refactored postprocessors
with tests.

Removed extra spaces in comments to work around auto-fix
removal of spaces at the end of lines in multi-line python strings.
2025-03-17 20:59:29 -05:00
Chris Hennes
5e6a37a1fa Merge pull request #19899 from tritao/cmake-cleanup-targets
CMake: Cleanup targets with transitive dependencies
2025-03-17 13:15:37 -05:00
Chris Hennes
b60b4eaf67 Merge pull request #20149 from phaseloop/vcarve-improvements
[CAM] Change VBit tip diameter to 0.1 mm.
2025-03-17 11:13:51 -05:00
tritao
cdab9c7837 CMake: Cleanup targets with transitive dependencies 2025-03-17 12:12:06 +00:00
Chris Hennes
9a77120e82 Merge pull request #20142 from bofdahof/ranges
Apply C++20 std::ranges (mainly to std::find)
2025-03-17 03:08:27 -05:00
Chris Hennes
f8ac7a47dc Merge pull request #19661 from jbaehr/cam-improve-unit-warning
CAM: Improve warning text for improper unit scheme
2025-03-17 00:00:52 -05:00
Chris Hennes
ede962835d Merge pull request #17779 from wwmayer/noboostpy
Remove support for Boost.Python
2025-03-17 00:00:32 -05:00
bofdahof
474b0314b3 CAM: apply std::ranges 2025-03-16 17:15:38 -05:00
Luz Paz
6564a7b107 Fix various typos 2025-03-14 12:37:12 -04:00
clsergent
ea3d78c398 Added snapmaker postprocessor to CAM 2025-03-12 20:00:55 +01:00
PhaseLoop
9a73a07de9 fix tip length 2025-03-12 14:50:04 +01:00
PhaseLoop
cb62686fc7 [CAM] Change VBit tip diameter to 0.1 mm. 2025-03-12 14:40:26 +01:00
Chris Hennes
d1346179e2 Merge pull request #19976 from clsergent/patch-1
CAM: Fix an error in CAM/Path/Post/UtilsParse.py
2025-03-10 15:49:47 +00:00
Jonas Bähr
6d21f931f6 CAM: Improve warning text for improper unit scheme
The previous text suggested to change the scheme in the preferences,
however, the preferences only take effect for new documents. Now, that
we have the "ProjectUnitSystem" in place, the setting for the current
document needs to be changed.

The text is restructured accodring to the UX pattern for warnings:
 - What is the problem
 - How can I fix it
 - What happens if I don't
and includes a link to the wiki for further details.

In addition, the 'US Customary' was removed from the proposed schemes as
suggested during review.

Finally, the button text was decapitalized and aligned with the
style used in other parts of FreeCAD, e.g. the Start page.
2025-03-09 16:09:12 +01:00
Jonas Bähr
7f50cf4d0c CAM: Refactor schema warning at job creation
This is a pure refactoring to clean up the code for upcomming changes.
It does not change any functionality or UI messages.
2025-03-09 16:03:36 +01:00
mos
9f220319d0 Removed old Python code <3.10 2025-03-07 16:34:08 -06:00
Jookia
e7dce95856 Remove support for Boost.Python 2025-03-04 08:03:19 -06:00
clsergent
6eb5181852 Update UtilsParse.py
Fixed an error where strings were added to a list (gcode) using the addition assignment operator ('+=') rather than the 'list.append' method, resulting in adding every character as a list member
2025-03-03 22:49:42 +01:00
Chris Hennes
1a2070c36f Merge pull request #19636 from kadet1090/color-in-base
Base: Move App::Color to Base
2025-03-02 16:36:40 -06:00
Benjamin Bræstrup Sayoc
ee1c73cd04 Build: suppress warnings from 3rd party libraries
Warnings from 3rd parties are not relevant and are only polluting the warning output. Marking these libraries as SYSTEM suppresses warning.

https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#index-I
https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html
2025-02-25 14:39:05 +00:00
Joao Matos
15076cb504 Core: Move PyCXX library to src/3rdParty. 2025-02-24 16:36:06 +00:00
Chris Hennes
ade7246669 CAM: Remove C++14 workaround for boost 2025-02-22 20:48:44 -06:00
Kacper Donat
13fbab9e42 Base: Move App::Color to Base
Every basic data type is stored in Base module, color is standing out as
one that does not. Moving it to Base opens possibilities to integrate it
better with the rest of FreeCAD.
2025-02-17 21:10:26 +01:00
Lawrence Woestman
033817f5fe CAM: Fixed F parameter handling for only rotary axes
with tests
      and the commit for converting the refactored*
      postprocessors to the new API
2025-02-17 11:10:40 -06:00
Joao Matos
aace8f7bee CMake: Modernize build files using outdated Python variables. 2025-02-16 10:21:26 -06:00
Andrea
146d8a356b change MIN_boost_version
ubuntu version 20.04 is no longer supported.
The minimum boost version used for freecad is now 1.74 (ubuntu 22.04) https://launchpad.net/ubuntu/jammy/+package/libboost-system-dev
2025-02-15 13:33:32 -06:00
tritao
80b299bb88 Base: Move zipios library to 3rdParty folder. 2025-02-14 13:08:28 -06:00
Benjamin Nauck
d50f4887a9 CAM: Fix finish passes by avoiding fuzzy in Area.cpp (#19525) 2025-02-14 10:31:32 -06:00
Chris Hennes
a3004c2c0a Merge pull request #19142 from hyarion/refactor/add-template-addobject
Add new addObject<T>() function
2025-02-11 09:42:47 -06:00
Benjamin Nauck
edb4817872 Mod: Use new addObject<T>(...) that requires additional changes 2025-02-10 18:35:38 +01:00
Benjamin Nauck
265b58c034 Mod: Use new addObject<T>(...) using regex 2025-02-10 18:35:38 +01:00
Benjamin Bræstrup Sayoc
93f571c9f1 CAM: Use QStringLiteral 2025-02-10 18:32:45 +01:00
LarryWoestman
26e532bd10 CAM: converted the refactored* postprocessors to the new (more object-oriented) API (#19006)
* CAM:  converted the refactored* postprocessors to the new API

      with corresponding tests

* [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>
2025-02-10 10:37:57 -06:00
herbkonik
572230cc95 Update SurfaceSupport.py (#18724) 2025-02-10 10:35:26 -06:00
Chris Hennes
b18150e048 Merge pull request #19479 from tritao/base-cleanup-xml-generation
Base: Minor cleanups to base XML bindings generation
2025-02-10 09:34:50 -06:00
tritao
2145b742eb Base: Standardize on Py::Long type for Python bindings. 2025-02-08 13:14:22 +00:00
pre-commit-ci[bot]
17e17cccb5 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-02-03 22:51:14 +00:00
Daniel Wood
1dc6f7c1c0 CAM: Tool Bit Library Fixes (#18973)
* remove unused else
* Enable reloading / re-selection of libraries
* Reload the libraries when exiting the editor
* Clear the model to prevent duplicate entries
* add missing docstring to reduce linting warnings
* Maintain any previous library selection when editing
2025-02-03 10:58:24 -06:00
tritao
551c2e48fb Gui: Reorganize the selection files into a top Selection folder. 2025-02-03 17:56:57 +01:00
Max Wilfinger
5925c7a560 Merge pull request #19097 from hyarion/refactor/template-based-is-derived-from
Simplify code by using BaseClass' isDerivedFrom<> and is<>
2025-01-27 20:40:08 +01:00
phaseloop
503e5dd091 CAM: Fix finishing pass (#17960)
* CAM: Fix finishing pass

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

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

* add finishing pass unit (by @baehr)

* [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>
2025-01-27 18:03:43 +01:00
Lawrence Woestman
c16f04fdc8 CAM: Fixed script-style postprocessors getting the wrong __name__
Also added a test that the __name__ of the postprocessor is correct
2025-01-27 18:02:26 +01:00