Commit Graph

2214 Commits

Author SHA1 Message Date
Gabriel Wicke
86cd9f2124 Path: Opt into automatic git newline normalization
Avoid spurious diffs from inadvertent newline changes by letting git
normalize newlines in the path module as well, just as a list of other
modules including Draft already do.

This effectively standardizes all checked-in code to Unix newlines, but
checkouts might use CRLF if that is the user preference.
2020-05-31 08:33:29 -07:00
sliptonic
2a2182e4d1 Merge pull request #3496 from gwicke/transition_fixes
Path: Fix step transition optimizations
2020-05-31 09:47:52 -05:00
sliptonic
e56c4acb69 Merge pull request #3461 from Russ4262/3D_Surface_updates
Path:  3D Surface and Waterline updates and fixes.
2020-05-25 18:16:31 -05:00
sliptonic
d688b978e3 Merge pull request #3502 from dubstar-04/fixes/op-visibility
[Path] - Don't reset the operations visibility state during document recompute
2020-05-25 12:33:23 -05:00
sliptonic
73682ebf49 Merge pull request #3500 from dubstar-04/feature/setOrigin
[Path] - Feature/Origin Selection
2020-05-25 12:32:57 -05:00
Daniel Wood
40cdf68491 only reset the Op visibility when the active state is toggled 2020-05-24 07:48:55 +01:00
Gabriel Wicke
1f22269be0 Path: Safer step over optimization
- Only apply aggressive optimizations to short horizontal moves within
  cutter diameter. The safe model STL does not accurately reflect stock
  state, so using it for determining long distance move safe heights is
  not safe. There would be a high chance of hitting the stock at rapid
  speeds.

  Thankfully, the vast majority of step-overs tend to be short, so are
  still optimized.
- For short moves, only allow completely lift-free transitions when
  there is (almost) no Z change, and the min safe travel height does not
  rise above the same level.
  Otherwise, lift to the max of end points and min safe travel height
  first, then move horizontally. A future optimization would be to
  directly use the drop scan for transition path generation.
2020-05-23 20:18:37 -07:00
Daniel Wood
ccadfd1673 Enable the selection of circles, arcs and faces to set the job origin 2020-05-23 16:30:55 +01:00
Russell Johnson
00c1038ffd Path: Expose property creation process to user access; Code cleanup
Path: EOL syncs with source

PathSurface and PathWaterline modules have incorrect, Windows, line endings and need to be converted to Unix style.
2020-05-21 23:24:17 -05:00
Russell Johnson
3a04e06cfa Path: Update for inter-panel visibility updates
Also, clear`singleStep` and `value` properties for `StepOver` spinBox in UI panel.
2020-05-21 23:24:17 -05:00
Russell Johnson
e8c9483201 Path: Add ProfileEdges and AvoidLastX_Faces inputs to GUI
Path: Set min & max values for `StepOver`
2020-05-21 23:24:17 -05:00
Russell Johnson
691c3900c1 Path: LGTM cleanup and PEP8 2020-05-21 23:24:17 -05:00
Russell Johnson
374df7838a Path: Relocate common 3D Surface and Waterline methods to support module 2020-05-21 23:24:17 -05:00
Russell Johnson
64d1a21b24 Path: Use lazyloader for importing some modules 2020-05-21 23:24:17 -05:00
Russell Johnson
c9782a3b69 Path: Improvements to user messages
Remove some messages.
Implement FreeCAD.Console.Print___() in place of PathLog.___().
Path: fixes
2020-05-21 23:24:17 -05:00
Russell Johnson
52e0b04cbf Path: new FindUnifiedRegions class
Improve `HandleMultipleFeatures` processing when set to `Collectively` by implementing new class to refine the processing area, attempting to remove common edges between connected face regions.
2020-05-21 23:24:17 -05:00
Russell Johnson
edda808c3c Path: Improve open-edges, messaging, Final Depth initial guess and more
Open-edges will now work in simple cases where user selects bottom edge, without requiring adjustment to Final Depth.  This will speed up procedural usage of the operation for open edges by re-enabling the `select-edge_create_OK` work flow.
The guessing procedure for Final Depth based on Base Geometry selected is fixed in `UpdateDepths()` method.
Improvements to user messages.
Remove unnecessary code and comments.
Improve debugging feedback.
2020-05-21 22:44:50 -05:00
sliptonic
cb6c6705ac Merge pull request #3477 from gwicke/pathops_ui_fix
[path] Small fix in PathOpGui
2020-05-18 09:44:21 -05:00
Russell Johnson
4a899d2934 Extend fix to updateVisibility() call
Call originates in PathOpGui module.
2020-05-17 21:20:04 -05:00
Gabriel Wicke
a8398389bb [path] Small fix in PathOpGui
Fix a bad call to page.updateVisibility
2020-05-17 17:11:14 -07:00
Gabriel Wicke
979a32800d Path: LinuxCNC postprocessor scalability
- Do not show editor when gcode size exceeds 100kb. The poor editor
  widget cannot handle that much output, and will hang FreeCAD.
- Avoid quadratic behavior in output accumulator. While Python greater
  than 2.7 avoids quadratic behavior in string accumulators, this optimization
  is defeated when the string is forced to be materialized to contiguous
  memory, as was done by the `.trim()`. As a result, we got quadratic complexity,
  ensuring that large jobs would never successfully be post-processed.
2020-05-17 13:31:44 -07:00
Russell Johnson
494bb6cba6 Path: Fix for .extrude() vector roughly zero 2020-05-13 21:55:06 -05:00
Russell Johnson
75cac30649 Path: Add if edge: test clause
`If edge:` handles 'NoneType' edges returned from `PathGeom.edgeForCmd()`.
Includes some PEP8 formatting.
2020-05-13 21:55:06 -05:00
Russell Johnson
3593de8a9f Path: Fix related to linkStockAndModel checkbox.
The StockEdit class is reused by BoundaryDressup, and this checkbox does not exist in its UI panel.
2020-05-13 16:34:06 -05:00
sliptonic
e7617262d2 Merge pull request #3443 from Russ4262/UnifiedProfile
Path:  Combine Contour, Profile Faces and Profile Edges into unified Profile operation
2020-05-12 12:06:36 -05:00
luz.paz
d0d2096fc8 Fix typos [skip-ci]
Found via codespell v1.17.0.dev0  
``` 
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./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
```
2020-05-12 10:04:29 +02:00
Russell Johnson
e835bf45a7 Path: Update selection gates pertaining to unified Profile operation 2020-05-10 23:07:53 -05:00
Russell Johnson
4396789b04 Path: Improve geometry selection and Cancel operation error messages 2020-05-10 23:07:53 -05:00
Russell Johnson
ad03af3e43 Path: PEP8 and LGTM cleanup; Remove extra addProperty() statement
Removed 'EnableRotation' property addition because it is done in PathAreaOp module upon creation and document restore.
2020-05-10 23:07:53 -05:00
Russell Johnson
e5b7a66d92 Path: Additional fixes and improvements to unified Profile operation 2020-05-10 23:07:53 -05:00
Russell Johnson
cf23bc6892 Path: Implement backwards compatibility
Source modules are replaced with pass-through code to send pre-existing profile-based operations to new unified `Profile` operation.
Path: Set line endings to Unix style
2020-05-10 18:19:42 -05:00
Russell Johnson
900059bc99 Path: Integrate unified Profile operation into PathWB
Remove Contour, Profile Faces, and Profile Edges icons from PathWB GUI.  Files are still fully in tact and available.
2020-05-10 18:19:42 -05:00
Russell Johnson
27c4db9a34 Path: Consolidate Contour, ProfileFaces, and ProfileEdges
No geometry selection defaults to Contour operation.
Path: Add new unified `Profile` operation modules
2020-05-10 18:19:42 -05:00
Russell Johnson
52fe25528a Path: Update 'Operation' panel visibility when 'Base Geometry' changes 2020-05-10 18:19:42 -05:00
Russell Johnson
16cf71bb7d Path: Add method, 'updatePanelVisibility()'
New method allows one panel to update visibility on another panel.
2020-05-10 18:19:42 -05:00
Russell Johnson
78735ddc06 Path: Add reference to parent class within child class 2020-05-10 18:19:42 -05:00
Russell Johnson
c5e577be89 Path: Initiate unification of ProfileFaces and ProfileEdges operations
ProfileFaces now accepts and processes faces and edges.
Full functionality is maintained (so far as tested) with respect to original operations.
2020-05-10 18:19:42 -05:00
Daniel Wood
3fc7fd727b Translate user messages 2020-05-09 10:39:48 +01:00
Daniel Wood
d945e3c9fb Use PathLog for user notices 2020-05-09 10:35:55 +01:00
Daniel Wood
3a65a764e3 PathOp PEP8 Formatting Fixes 2020-05-09 09:02:16 +01:00
Daniel Wood
73f3585e57 PathJob PEP8 Formatting Fixes 2020-05-09 08:51:36 +01:00
Daniel Wood
589bd709cb Clean up unused code and comments 2020-05-09 08:41:48 +01:00
Daniel Wood
33ad1a3f5f reword feedrate error when no tool controller is selected 2020-05-09 08:34:55 +01:00
Daniel Wood
14905a17df Change feedrate error to warning. 2020-05-09 08:34:10 +01:00
Daniel Wood
b44e21cc6d remove job level warning for cycle time error 2020-05-09 08:22:26 +01:00
Daniel Wood
09465b64c8 Reword property description to reflect job rather than op 2020-05-09 08:12:17 +01:00
sliptonic
8d03d32504 Merge pull request #3444 from dubstar-04/fixes/simulation-active-ops
[Path] - fixes/simulation
2020-05-08 21:50:00 -05:00
Zibibbo84
ea2b3f9f01 Adding HEIDENHAIN CNC Mill post-processor for PathScript 2020-05-08 21:50:23 +02:00
Daniel Wood
3c53e94100 PEP8 formatting fixes 2020-05-08 07:41:37 +01:00
Daniel Wood
f9624a9bf2 clean up comments and unused code 2020-05-08 07:30:53 +01:00