Commit Graph

513 Commits

Author SHA1 Message Date
tarman3
cd673390e2 CAM: Fix postprocessors Help arguments --postamble and --preamble (#20792) 2025-04-16 11:54:04 +02:00
Benjamin Nauck
21fbf8e539 Use Base::toRadians() instead of manually converting 2025-04-15 07:16:36 +02:00
tarman3
9ca9d1b1f1 Fix typos in warning message 2025-04-14 14:20:20 +02:00
tarman3
4434cebcac Less warning with Array DressUp 2025-04-14 14:20:20 +02:00
pre-commit-ci[bot]
ed53455c22 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-04-13 23:21:39 +00:00
jalapenopuzzle
6e190328a8 CAM: Snapmaker use manufacturer's data table instead of calculating boundary offsets 2025-04-14 08:03:17 +10:00
pre-commit-ci[bot]
8f7488479c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-04-14 08:03:17 +10:00
jalapenopuzzle
89a0faf8ee CAM: snapmaker add --quick-swap and --bracing-kit options 2025-04-14 08:03:16 +10:00
jalapenopuzzle
e22eb3cce9 CAM: snapmaker clean output_header() 2025-04-14 08:03:16 +10:00
jalapenopuzzle
25ba7b3c84 CAM: snapmaker add linear module lead screw pitch 2025-04-14 08:03:15 +10:00
jalapenopuzzle
394046df36 CAM: snapmaker toolheads and spindle speeds
* Removed generic snapmaker machine and toolhead configuration. The idea of running a CNC code that is not matched to the machine's abilities and work area seems dangerous.
* --machine argument is required
* --toolhead argument is required when the selected machine is compatible with more than one toolhead. When the selected machine only supports one toolhead, it is selected as the default.
* --spindle-percent defaults according to the selected toolhead capabilities. If the toolhead can do RPM, then RPM is used, otherwise falls back to percent. This option now functions as an override.
* fixed a bug in convert_spindle() when RPM is selected. The gcode was not returned.
2025-04-14 08:03:14 +10:00
jalapenopuzzle
26c8aacc54 CAM: snapmaker --machine is a required option 2025-04-14 08:03:14 +10:00
jalapenopuzzle
f6e12966dc CAM: snapmaker machines separate T machines and capitalise names 2025-04-14 08:03:13 +10:00
jalapenopuzzle
c6f62b0523 CAM: snapmaker machines separate boundaries 2025-04-14 08:03:12 +10:00
jalapenopuzzle
9d819f1ad3 CAM: snapmaker use order {min,max} 2025-04-14 08:03:12 +10:00
jalapenopuzzle
cb5966371c CAM: snapmaker unit tests fix type lint
NOTE get_gcode() can return an argparse.Namespace if something goes wrong with parsing the arguments.
This is contrary to the str specification.
2025-04-14 08:03:11 +10:00
jalapenopuzzle
d8b4a5b3e6 CAM: snapmaker unit tests fix assertTrue() -> assertEqual()
The test was NOT functioning as required.
assert True does NOT compare the expected line with the generated GCode line.
After fixing this, the expected output was updated so that the unit tests pass.
2025-04-14 08:03:11 +10:00
jalapenopuzzle
ed29dc3ef0 CAM: snapmaker fix invalid escape sequences in regular expressions 2025-04-14 08:03:10 +10:00
jalapenopuzzle
c8803f0096 CAM: snapmaker fix lint on types 2025-04-14 08:03:09 +10:00
jalapenopuzzle
ea51ae5533 CAM: snapmaker fix lint on formatted strings 2025-04-14 08:03:09 +10:00
jalapenopuzzle
8a59930cbb CAM: snapmaker fix broken license URL 2025-04-14 08:03:08 +10:00
Kacper Donat
77e40b9747 Base: Use explicit pointer syntax for freecad_cast (#20694)
* Base: Use explicit pointer syntax for freecad_cast

This aligns our custom cast with other casts

* All: Use explicit pointer syntax for freecad_cast
2025-04-11 14:11:33 +00:00
tarman3
80611a6c4e CAM: Multiline POSTAMBLE and PREAMBLE arguments in old postprocessors (#20715)
* CAM Multiline POSTAMBLE and PREAMBLE in old postprocessors

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

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

* CAM: Fix preamble and postamble help text

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-10 12:05:48 +02:00
sliptonic
ba1b864875 Merge pull request #20321 from phaseloop/array-dressup-2
[CAM] Replace Array operation with array dressup
2025-04-08 08:13:17 -05:00
phaseloop
d8d3d3841e CAM: change design of origin axis (#20358)
* change design of CAM origin axis

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

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

* change Inventor example comment

* move to SoFCPlacementIndicatorKit - increase stock point size display

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

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

* Use So3DAnnotation for origin axis

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-07 20:04:27 +02:00
bdieterm
3a68de1c9c CAM: fix context menu callbacks for Qt6 2025-04-07 10:50:02 -05:00
Kacper Donat
9d97d1c895 Base: Rename Base::freecad_dynamic_cast into freecad_cast
This is to make it shorter and easier to use. QT does the same thing
with their qobject_cast.
2025-04-07 10:32:28 -05:00
luzpaz
e526547885 Fix various typos (#20651)
* Fix various typos
Found via `codespell -q 3 -L aci,addmin,ake,aline,alle,alledges,alocation,als,ang,anid,anormal,anull,aply,apoints,ba,beginn,behaviour,bloaded,bottome,brushin,bu,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childrens,childs,colour,colours,commen,connexion,currenty,documentin,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,findn,fle,freez,graphin,groupe,hist,iff,incrementin,indexin,indicies,initialisation,initialise,initialised,initialises,initialisiert,inout,ist,itsel,kilometre,leadin,localy,lod,mantatory,matc,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oce,oder,ontop,orgin,orginx,orginy,ot,pard,parm,parms,pres,programm,que,rady,recurrance,renderin,re-use,re-used,re-using,rin,ro,rougly,sectionin,seperator,sergent,serie,shs,sinc,siz,som,stpo,strack,substraction,te,technic,thist,thru,tread,tru,ue,uint,unter,uupper,uptodate,vas,vertexes,vew,wallthickness,whitespaces -S "./.git,*.po,*.ts,*.pdf,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./src/Base/StackWalker.cpp,./build/doc/SourceDoc,./tools/build/WindowsInstaller/lang,./src/Mod/TechDraw/Templates/locale"`

* [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-04-05 22:58:20 -05:00
PhaseLoop
93569b815d Revert "fix issues"
This reverts commit 5a6fd53b3a.
2025-04-03 10:32:25 +02:00
Dan Taylor
3938617864 CAM: Adaptive: Rename tests with descriptive names; remove empty dummy test; minor test cleanups/comments/clarifications 2025-04-02 20:55:51 -05:00
Dan Taylor
2ff623e6ca CAM: Adaptive: Machine entire model if no faces/edges are selected ("adaptive roughing") 2025-04-02 20:55:21 -05:00
Dan Taylor
5c1e93759a CAM: Adaptive: Add Z stock to leave (separate from XY stock to leave) and order-by-region/order-by-depth cut ordering options 2025-04-02 20:47:44 -05:00
Dan Taylor
54116898da CAM: Adaptive: Make machined regions respect stock and model in 3D, not just the 2D projections of the stock and selected machining bounding box 2025-04-02 20:35:15 -05:00
Kacper Donat
5658274bb8 Merge pull request #20559 from hyarion/refactor/add-limits
Add `#include <limits>` in all files where it is used
2025-04-01 17:11:50 +02:00
Benjamin Nauck
5e6c8fe684 CAM: Add #include <limits> where used 2025-03-31 23:50:49 +02:00
sliptonic
6ca836cbc4 Merge pull request #20169 from phaseloop/vcarve-speed
[CAM] Improve Vcarve path generation speed on complex shapes
2025-03-31 23:32:42 +02:00
Andrea
ce10f30aa6 [mod] clean
code clean
2025-03-31 11:01:39 -05:00
Benjamin Nauck
9e3c0d111e CAM: Use std::numeric_limits and std::numbers instead of defines 2025-03-29 13:32:38 +01:00
PhaseLoop
8b6ed4a4af fix issues 2025-03-28 19:46:28 +01:00
Lawrence Woestman
22f73df97c CAM: Enabled coolant in the refactored_grbl post, with test 2025-03-27 07:31:13 +01:00
phaseloop
fc23531e4a CAM: fix estlcam postprocessor (#20407) 2025-03-25 10:24:27 +01:00
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
PhaseLoop
fddd1a4734 Merge branch 'array-dressup-2' of https://github.com/phaseloop/FreeCAD into array-dressup-2 2025-03-24 00:05:42 +01:00
PhaseLoop
06f2a108a3 update cmake list 2025-03-24 00:05:29 +01:00
pre-commit-ci[bot]
7637041532 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-03-23 22:44:10 +00:00
PhaseLoop
3eb8552db5 unit tests for array dressup 2025-03-23 23:38:14 +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