Commit Graph

656 Commits

Author SHA1 Message Date
jalapenopuzzle
9298ad8ad0 CAM: snapmaker add --quick-swap and --bracing-kit options 2025-04-14 08:03:16 +10:00
jalapenopuzzle
42636926ca CAM: snapmaker clean output_header() 2025-04-14 08:03:16 +10:00
jalapenopuzzle
7e54513e5e CAM: snapmaker add linear module lead screw pitch 2025-04-14 08:03:15 +10:00
jalapenopuzzle
5eaa6326a4 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
699a25e243 CAM: snapmaker --machine is a required option 2025-04-14 08:03:14 +10:00
jalapenopuzzle
94140ab2b1 CAM: snapmaker machines separate T machines and capitalise names 2025-04-14 08:03:13 +10:00
jalapenopuzzle
c71bca3d49 CAM: snapmaker machines separate boundaries 2025-04-14 08:03:12 +10:00
jalapenopuzzle
42f40115a1 CAM: snapmaker use order {min,max} 2025-04-14 08:03:12 +10:00
jalapenopuzzle
b738118718 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
1b4b36767d 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
ac80d6e4df CAM: snapmaker fix invalid escape sequences in regular expressions 2025-04-14 08:03:10 +10:00
jalapenopuzzle
322a2f7b3f CAM: snapmaker fix lint on types 2025-04-14 08:03:09 +10:00
jalapenopuzzle
884fca0cc2 CAM: snapmaker fix lint on formatted strings 2025-04-14 08:03:09 +10:00
jalapenopuzzle
424f7d820c CAM: snapmaker fix broken license URL 2025-04-14 08:03:08 +10:00
Kacper Donat
b300c80b90 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
b91c5ef2af 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
22d7e421bc 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
f0e9a6475f 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
b9aa5c5d83 CAM: fix context menu callbacks for Qt6 2025-04-07 10:50:02 -05:00
Kacper Donat
35a9673a75 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
7a12d2f96f 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
63dcbd548e Revert "fix issues"
This reverts commit 5a6fd53b3a.
2025-04-03 10:32:25 +02:00
Dan Taylor
5ed1435dd0 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
1c27258e08 CAM: Adaptive: Machine entire model if no faces/edges are selected ("adaptive roughing") 2025-04-02 20:55:21 -05:00
Dan Taylor
31ca3e742f 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
eece614172 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
db08735e10 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
df6a76ba84 CAM: Add #include <limits> where used 2025-03-31 23:50:49 +02:00
sliptonic
f1258e36b2 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
85179089b1 [mod] clean
code clean
2025-03-31 11:01:39 -05:00
Benjamin Nauck
a7b71335b7 CAM: Use std::numeric_limits and std::numbers instead of defines 2025-03-29 13:32:38 +01:00
PhaseLoop
5a6fd53b3a fix issues 2025-03-28 19:46:28 +01:00
Lawrence Woestman
1dddbb2aa5 CAM: Enabled coolant in the refactored_grbl post, with test 2025-03-27 07:31:13 +01:00
phaseloop
40ace3241a CAM: fix estlcam postprocessor (#20407) 2025-03-25 10:24:27 +01:00
Chris Hennes
50bc99c3eb Merge pull request #20428 from pieterhijma/fix-doxygen-structural-warnings
Fix doxygen structural warnings
2025-03-24 21:07:53 -05:00
sliptonic
d71cfabd4c 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
b3ae844792 [Doc] Fix CAM documentation problems
- Fix nested comments
- Fix section labels
2025-03-24 16:33:54 +01:00
PhaseLoop
cb6188944d Merge branch 'array-dressup-2' of https://github.com/phaseloop/FreeCAD into array-dressup-2 2025-03-24 00:05:42 +01:00
PhaseLoop
81ccf9cc5a update cmake list 2025-03-24 00:05:29 +01:00
pre-commit-ci[bot]
f072bde2d0 [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
2bca01f0cf unit tests for array dressup 2025-03-23 23:38:14 +01:00
J-Dunn
d3f617bb4b 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
9f9610076e cmake: remove distutils usage for python < 3.10 2025-03-22 11:08:36 -05:00
Chris Hennes
5502fafafb CAM: Add missing destructor
Coverity issue 513026
2025-03-22 07:15:15 +01:00
Lawrence Woestman
f680ee7af9 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
PhaseLoop
c249b62b6c update CMake imports 2025-03-20 15:02:56 +01:00
PhaseLoop
e8cd9a61d6 add missing dressup import 2025-03-20 14:28:09 +01:00
PhaseLoop
585ac82c34 log error on invalid base object 2025-03-20 14:26:36 +01:00
PhaseLoop
41d20a62cd Replace Array operation with array dressup 2025-03-20 12:48:52 +01:00
Chris Hennes
64d658e38a FreeCAD: Compiler warning fixes 2025-03-19 10:13:34 +01:00