Commit Graph

29 Commits

Author SHA1 Message Date
tarman3
a7f800ae82 CAM: Post Process only selected Operations 2025-11-13 23:25:53 +02:00
PhoneDroid
70acbc99c8 [ CAM ]: Update SPDX License Identifiers 2025-10-31 17:00:32 -04:00
tarman3
5dbfb009a7 CAM: Simulator submenu in toolbar 2025-10-27 12:46:06 +02:00
sliptonic
ee42b453f6 remove old supplemental fixture 2025-10-17 12:10:22 -05:00
ᴩʜᴏɴᴇᴅʀᴏɪᴅ
c727846508 CAM: Remove UTF-8 coding declarations (#24527)
These declarations are no longer needed for Python 3+.
2025-10-09 13:49:18 -05:00
Billy Huddleston
3d3eaef02e CAM: Convert tapping operation to experimental feature, Add tap pitch support, improve tapping logic, and update toolbit schema and legacy linuxcnc post
CAM/App/PathSegmentWalker.cpp
- Add G74 to drill/tap/bore G-code recognition for tapping cycles

CAM/InitGui.py
- Move CAM_Tapping command behind experimental feature flag
- Only group drilling/tapping commands if both are enabled

CAM/Path/Base/Generator/tapping.py
- Add pitch and spindle_speed parameters to tapping.generate
- Output S (spindle speed) and F (pitch) in generated G-code

CAM/Path/Op/Tapping.py
- Require Pitch property for tap tools and SpindleSpeed for tool controllers
- Pass pitch and spindle speed to tapping.generate
- Use SpindleDirection to determine right/left hand tap

CAM/Path/Post/scripts/linuxcnc_post.py
- Handle G84/G74 tapping cycles: convert pitch and spindle speed to feed rate
- Remove F and S from output and recalculate F as needed

CAM/Path/Tool/shape/models/tap.py
- Add Pitch property to ToolBitShapeTap schema
- CAM/Path/Tool/toolbit/models/tap.py
- Show pitch and rotation in tap tool summary
- Use is_imperial_pitch to format pitch as TPI or mm

CAM/Path/Tool/toolbit/util.py
- Add is_imperial_pitch utility to classify pitch as imperial or metric

CAM/Tools/Bit/375-16_Tap.fctb
- Remove unused parameters (Coating, Rotation, TPI, Type)
- Keep only relevant tap parameters for new schema
2025-09-25 16:26:03 -04:00
pre-commit-ci[bot]
5aadc9cd6c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-09-22 13:51:05 +00:00
sliptonic
ef08e4bf88 refactor migration 2025-09-21 13:14:13 -05:00
sliptonic
5a2f72919b Versioning directories 2025-09-21 12:01:27 -05:00
sliptonic
04cbdd4c0e Fixes #23015
The standard in FreeCAD is that workbench preference pages get loaded when the module gets loaded.
That behavior was altered by PR 21981 which attempted to load CAM preference pages at startup even if CAM was not loaded.
The result was that pages were only partially loaded and the result was a confusing mess.

There is some discussion about future enhancements to allow workbench preferences to be loaded early.
When that is implemented, CAM will adjust to be compliant with FreeCAD standard.

This effectively revertts PR #21981
2025-09-17 18:21:16 -05:00
tarman3
444f56c11b CAM: Dogbone - fix for Pocket (#22250) 2025-09-08 10:52:03 -05:00
Samuel Abels
8430fd5615 CAM: fix: CAM tests use files from user asset dir 2025-07-08 20:39:52 +02:00
sliptonic
062f40d2b6 Refactor slot op. (#21799)
* Refactor slot op.
Move out of experimenation features

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

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

* Incorporate Hyarion's suggestions

* Update src/Mod/CAM/Path/Op/Slot.py

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-23 21:22:33 +02:00
Samuel
46bff2af05 CAM: Load preferences before activating the workbench (#21981) 2025-06-23 14:11:23 -05:00
sliptonic
e6119c2ce5 Merge pull request #21425 from knipknap/btl
CAM: Integration of the tool and shape editors from BTL (Better Tool Library)
2025-06-02 10:37:38 -05:00
tarman3
c6bbd60e44 CAM: Dressup context submenu 2025-05-29 09:23:29 +03:00
Samuel Abels
b14d8ff98e CAM: Replace complete tool management (PR 21425) 2025-05-19 20:27:28 +02:00
tarman3
5038e5b7e9 CAM: Remove CAM_Shape from top menu 2025-05-13 07:45:29 +03:00
tarman3
7df127bcbc CAM: PathShape with Tool Controller 2025-05-12 22:57:23 +03:00
tarman3
1648ee6cdc CAM: PickStartPoint fixes 2025-05-12 16:57:32 +03:00
pre-commit-ci[bot]
707aa3e99d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-04-17 05:10:24 +00:00
tarman3
287213f615 CAM: Dressup combined menu in toolbar 2025-04-17 08:02:03 +03:00
PhaseLoop
e14422be55 add missing dressup import 2025-03-20 14:28:09 +01:00
Dan Henderson
5cf757eae9 Path: Add G84/G74 Tapping Operation (#8069) 2024-12-06 11:21:49 -06:00
sliptonic
eacc2a40d5 Catch other exceptions with Camotics on import. (#16583) 2024-09-23 10:27:49 -05:00
sliptonic
cd6c1d9aa2 added CAM to precommit 2024-09-03 14:53:14 -04:00
Shai Seger
63c3bab94a New Cam simulator based on low level OpenGL functions (faster and more precise) (#13884)
* Initial opengl test window

* added core files

* some fixes for code comparability with other platforms

* more compatibility cleanup

* add missing opengl libraries

* Basic simulation window works!

* try using different define

* fix wrapper for better compatibility

* Gui is now operational

* Finally SIM works on actual freecad models

* support drill commands

* cleanup python script and add tool profile generation

* Now using actual tools specified in the operation.

* support mouse wheel and freecad-style 3d navigation

* Support accuracy gauge

* remove endsimulation reference

* show simulation speed indicator

* apply clang-format

* apply changes suggested by code review

* gui items are loaded via QT resource system instead of hard coded

* use vector instead of pointer to pass tool profile points

* Fix some more formatting errors.
2024-05-22 10:16:34 -05:00
Brad Collette
e22cde251c refactor Sanity
Logic is more modular with many more unit tests.
Reduced dependence on GUI
Cleaner template structure
2024-04-27 17:28:15 -05:00
Brad Collette
12a3e656cf move Path to CAM 2024-03-04 11:18:41 -06:00