Commit Graph

59 Commits

Author SHA1 Message Date
Uwe
7e9fe12149 [Path] improve PreCompiled.h handling 2022-12-07 19:51:19 +01:00
Uwe
73b7547cd5 [Path] improve PreCompiled.h handling 2022-12-07 19:51:19 +01:00
Uwe
b78d484557 [Path] Gui: remove unused includes
- also some sorting
2022-12-04 19:35:52 +01:00
berniev
71dc5ead2f Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
berniev
f4ffd15864 Mod: redundant void 2 2022-08-08 10:27:50 +02:00
berniev
53ba98d636 Mod: use empty 2022-08-06 19:30:13 +02:00
berniev
47ac049e14 Mod: use emplace_back 2022-08-05 10:36:16 +02:00
Uwe
c619e7bbda [Path] remove superfluous nullptr checks 2022-07-18 02:52:48 +02:00
sliptonic
38e4182440 G38 fixes for probe visualization per mlampert 2022-07-12 12:22:36 -05:00
Chris Hennes
5f0d6f2a74 Path: PR6497 move return statement to new line 2022-03-29 12:37:49 -05:00
wmayer
6a69efc4a6 Path: modernize C++11
* use nullptr
2022-03-23 19:26:15 +01:00
Uwe
0b50af794c [Path] remove Python.h and Xerces
they are not needed anymore
2022-03-21 13:18:42 +01:00
luz paz
aeafcec125 Path: Change filenames in the rest of the Path code
Reflects changes in 
* PathOpGui.SetupOperation()
* GetResources()
* sPIxmap
* pixmap
* *.UI files

Also contains minor translation context renames (these were edits made near to original intent of this commit)
2020-12-02 06:57:28 -05:00
luz paz
60c055e62d Path: Fix header uniformity and remove trailing whitespace
This PR fixes header uniformity across all Path files. It also removes all trailing whitespace.
2020-11-05 19:57:21 +01:00
Eric Trombly
74ef899a75 check if pcLineCoords is empty 2020-06-28 19:52:59 -05:00
Eric Trombly
031a3d0816 fix null reference 2020-06-28 19:52:59 -05:00
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
Zheng, Lei
e4978be7a4 App: add new convenient class SubObjectT
Derived from App::DocumentObjectT to add support of sub object

Also some minor changes to App::DocumentObjectT

Changed Gui::SelectionChanges to make use of SubObjectT
2020-02-11 15:40:27 -05:00
Markus Lampert
2520a5e159 Split walking and segmenting a path into its own class so it can be used by other algorithms, not just visualisation 2019-09-30 18:34:57 -07:00
Zheng, Lei
cfc6c0ee89 Path changes
* Relaxed valid base shape requirement, as long as it can return a
  shape using part.getShape()

* Improve ViewProviderPath performance by sharing the same selection
  observer

* Relocate libarea binary installation
2019-08-17 15:15:48 +02:00
Russell Johnson
3d2a8504c8 Path: Integrate 4th-axis feature to PathPocketShape and 3D Surface ops (#2114)
* PathSurface: Add StepDown support

Add StepDown support for PathSurface operation.
A low-level optimization algorithm is included.

* Update PageOpSurfaceEdit.ui

* PathSurface: Activate CompletionMode input

Update code to use CompletionMode selection from user.

* PathSurfaceGui: Add Completion Mode selection box

Add Completion Mode selection box for user input.

* PathSurface: Use depth_params() for step control

Implemented PathUtils.depth_params() for control of step downs to maintain consistency throughout PathWB.
Suggested by Sliptonic.

* PathSurface: Improve stability - Rev3

Organized code better, improved path optimization algorithm

* PathSurface: Add XY rotational surfacing

Add options to perform 3D surfacing by rotating object around X or Y axis.

* PathSurface: update setup function

Add properties to setup function

* PathSurface: Remove extraneous code

removed commented lines that consume processing time

* PathSurface: Correct nxt.z point assignment

Corrected error in nxt.z value assignment. Was assigning value to pnt.z instead of nxt.z

* PathSurface: Update 4th axis operation

Provided both parallel and perpendicular to axis  scans when performing rotational operation.

* PathSurface: Corrected Y-axis rotation to gcode

Inverted Y-axis scan values in gcode to produce correct result

* PathSurface: Adjust gcode feed rates

Adjust feed rates for axial rotations

* PathSurface: Implement waterline alternative

Used OCL dropcutter scan as data base for python algorithm to extract a waterline.  Waterline also incorporates step down feature.

* PathSurface: Update to 3m-Usable

stability improvements
fixed step on multi-pass 4th axis scans
initiate code to accommodate cut modes: zigzag, line
initiate code to accommodate offset cutter on 4th axis scans to simulate a tilted cutter for ball end mills

* PathSurface: Update 3m-Usable_r1

change instantiated static class attributes from value None, to 0.0

* PathSurface: Revert to 3i-Usable_r1

Further testing needed for 3m-Usable release

* PathSurface: Update to Rev. 3s Usable

fixed step over in rotational scans
start/stop indexes
tilt cutter adaptation for ball end mill
cut pattern: zigzag, line partially implemented
ignore waste option initiated for planar scans
cut mode partially implemented: conventional & climb

* PathSurface: Update to Rev. 3t Usable

Corrected rotational errors
corrected cutter tilt rotation
added "ignore waste" feature for planar surface operation

* Implement 4th-axis feature

Implement 4th-axis feature:
add gcode commands for rotation
re-compute operation heights, to consider rotation radii

* Deleted reference to undeclared variable

* Added missing class attributes/variables

* Added missing class variables/attributes

* Relocate class variables to higher class

* Remove references to undeclared variables

relocated class variables here
delete references to undeclared variables

* Correct rotation direction for normal-to-Y faces

* Remove X oriented 180 degree rotation adjustment

Probable error in FreeCAD gcode renderer, producing incorrect B axis rotation

* Update 4th-axis integration

Address FC error with B axis rotation rendering: user input to override error for visual alignment with model.
Correct pocket depths with Final Depth input enforced.
Add Reverse Direction flag input for reversing direction of pocket: necessary in some use cases.
NOTE: 4th-axis throws errors with Extension Corners feature.  EC feature needs 4th-axis rotation integration when calculating extensions for a particular part feature/face.
General testing needed.

* PathSurface: Add StepDown support

Add StepDown support for PathSurface operation.
A low-level optimization algorithm is included.

* Update PageOpSurfaceEdit.ui

* PathSurface: Activate CompletionMode input

Update code to use CompletionMode selection from user.

* PathSurfaceGui: Add Completion Mode selection box

Add Completion Mode selection box for user input.

* PathSurface: Use depth_params() for step control

Implemented PathUtils.depth_params() for control of step downs to maintain consistency throughout PathWB.
Suggested by Sliptonic.

* PathSurface: Improve stability - Rev3

Organized code better, improved path optimization algorithm

* PathSurface: Add XY rotational surfacing

Add options to perform 3D surfacing by rotating object around X or Y axis.

* PathSurface: update setup function

Add properties to setup function

* PathSurface: Remove extraneous code

removed commented lines that consume processing time

* PathSurface: Correct nxt.z point assignment

Corrected error in nxt.z value assignment. Was assigning value to pnt.z instead of nxt.z

* PathSurface: Update 4th axis operation

Provided both parallel and perpendicular to axis  scans when performing rotational operation.

* PathSurface: Corrected Y-axis rotation to gcode

Inverted Y-axis scan values in gcode to produce correct result

* PathSurface: Adjust gcode feed rates

Adjust feed rates for axial rotations

* PathSurface: Implement waterline alternative

Used OCL dropcutter scan as data base for python algorithm to extract a waterline.  Waterline also incorporates step down feature.

* PathSurface: Update to 3m-Usable

stability improvements
fixed step on multi-pass 4th axis scans
initiate code to accommodate cut modes: zigzag, line
initiate code to accommodate offset cutter on 4th axis scans to simulate a tilted cutter for ball end mills

* PathSurface: Update 3m-Usable_r1

change instantiated static class attributes from value None, to 0.0

* PathSurface: Revert to 3i-Usable_r1

Further testing needed for 3m-Usable release

* PathSurface: Update to Rev. 3s Usable

fixed step over in rotational scans
start/stop indexes
tilt cutter adaptation for ball end mill
cut pattern: zigzag, line partially implemented
ignore waste option initiated for planar scans
cut mode partially implemented: conventional & climb

* PathSurface: Update to Rev. 3t Usable

Corrected rotational errors
corrected cutter tilt rotation
added "ignore waste" feature for planar surface operation

* Implement 4th-axis feature

Implement 4th-axis feature:
add gcode commands for rotation
re-compute operation heights, to consider rotation radii

* Deleted reference to undeclared variable

* Added missing class attributes/variables

* Added missing class variables/attributes

* Relocate class variables to higher class

* Remove references to undeclared variables

relocated class variables here
delete references to undeclared variables

* Remove X oriented 180 degree rotation adjustment

Probable error in FreeCAD gcode renderer, producing incorrect B axis rotation

* Correct rotation direction for normal-to-Y faces

* Update 4th-axis integration

Address FC error with B axis rotation rendering: user input to override error for visual alignment with model.
Correct pocket depths with Final Depth input enforced.
Add Reverse Direction flag input for reversing direction of pocket: necessary in some use cases.
NOTE: 4th-axis throws errors with Extension Corners feature.  EC feature needs 4th-axis rotation integration when calculating extensions for a particular part feature/face.
General testing needed.

* Apply XYZ Model translations to paths; Add rotation axis selection property

* Spelling correction

ln 110

* Geometry list box: shrink height

560 to 400 height

* Update 4th-axis integration

Clean up code
Add comments for visionary elements
Apply axis selection to opHeights rotational calculations

* Update 4th-axis integration

Prepare sorting of vertical faces per axis_angle grouping, just as horizontal faces are sorted, for analysis as connected shapes

* Reset to FreeCAD master current

* Reset to current FreeCAD master version

* Update PathPocketBase.py

* Reset to current FreeCAD master

* Corrected __created__ date

* Convert all print() to PathLog.debug()

* Convert print() to PathLog.debug(); Clean up code

Use PathLog.debug over print() for troubleshooting
Clean up large commented sections of code.

* Convert print() to PathLog.debug(); combine duplicate methods

* Update last modified stamp

* Update last mofified timestamp

Also, removed commented-out code

* Typo corrected: "selt." to "self."

Discovered in https://api.travis-ci.org/v3/job/526456071/log.txt
on 30 April 2019 while searching for errors related to failure of PR #2114

* Restore initialization of self.depthparams

PR is failing Travis CI build test. Previous deletion of this code appears to be the reason.
See report at: https://api.travis-ci.org/v3/job/526492709/log.txt

* Convert tuple sizes from other PathWB ops

* B-axis rotation: render correction

* Revert "rebase to FC master 2019-05-02"

* Correct depthparams opOnDocumentRestored() issue

* Relocate "UseRotation" property from PathAreaOp.py

* Improve meshFromShape() calculation per @sliptonic

faster mesh creation
helps smooth jagged lines in path results

* Part: Make 3rd party libraries into PCH

* PartDesign: 3rdParty to PCH

* Sketcher: PCH

* PartDesign: PCH GUI

* Sketcher: GUI PCH

* Travis windows build (#2110)

Travis windows build

* Travis: enable clcache debug

* disable travis clcache debug

* respect user settings for dialog used in merge-document command

* msbuild verbose and logo

* Travis force wait 60 minutes

* Travis: Use & between vars sourcing and msbuild

* Travis: Move building to external batch script (#2131)

* Travis: Move building to external batch script

* Travis: double quotes to escape route

* Travis: use cmd.exe to call batch file

* Crowdin: fix grammatical error + whitespace 

https://crowdin.com/translate/freecad/569/en-fi#6498705

* Crowdin: experiment to fix crowdin 'ghost' strings

The following translation strings still perpetuate after updating crowdin translations. This commit experiments with removing their source counterparts in the FC .ts files. I'm not sure why they are not rendered obsolete by the normal operations. 
  
* https://crowdin.com/translate/freecad/6766/en-en#6499472  
* https://crowdin.com/translate/freecad/6766/en-en#6573450

* fix for edit tracker draw styles

* deleted commented code

* Travis: filter out

* AddonManager: allow to add custom repositories

* Revert "rebase to FC master 2019-05-02"

* Draft: Fixed Draft text justification

* Arch: Fixed bug in arch windows creation

* Arch: Fixed export of windows colors to IFC

* Draft: Fixed 0.18.1 bug in DXF importer

* Arch: Fixed wrong exported objects in IFC export

* Arch: Fixed export of sites to IFC

* Start: Fixed bad default icon in start page

* Correct depthparams opOnDocumentRestored() issue

* Relocate "UseRotation" property from PathAreaOp.py

* Improve meshFromShape() calculation per @sliptonic

faster mesh creation
helps smooth jagged lines in path results

* Relocate "UseRotation" property in PathAreaOp.py

* Syntax correction

Travis CI python 3.7 build test fails regularly due to syntax error at this point

* Correct rebase issue: PR #2114

* Correct rebase issue: PR #2114

* Correct rebase issue: PR #2114

* Correct rebase issue: PR #2114

* Correct rebase issue: PR #2114

* Correct rebase issue: PR #2114

* path pep8 cleanup

* Multi-face geometry selection repaired

Previous version broke ability to select process multiple faces selected by user in geometry tab in operation task window.
Also performed some syntax cleaning per PEP8 linter

* Update script version info
2019-05-06 21:29:08 -05:00
JimStar
9d6580a22f Extended global marker size to be used for Path 2018-07-11 21:22:28 -03:00
Markus Lampert
8c4a838740 Fixed abs usage for doubles - thanks to clang warnings. 2018-05-15 21:45:58 +02:00
Markus Lampert
701a2589e3 Fixed rotation axis rendering for B and C. 2018-05-11 10:18:56 -03:00
Markus Lampert
4bc71f8c99 Add support for rotation center to ViewProviderPath. 2018-05-11 10:18:56 -03:00
Markus Lampert
18240a15ab Added g-code A parameter support to drilling cycle. 2018-05-11 10:18:56 -03:00
Markus Lampert
461934cd61 A g-code parameter support for G2/G3 2018-05-11 10:18:56 -03:00
Markus Lampert
4b3535266c PathViewProvider support for A parameter in G0 and G1. 2018-05-11 10:18:56 -03:00
wmayer
5ff6945577 fix compiler warnings with py3 and msvc 2018-04-16 18:24:53 +02:00
Zheng, Lei
a73d498588 ViewProviderPath: tweek StartIndex auto step size 2018-03-03 11:19:36 -03:00
Unknown
f92d63008e PATH: typo fixes 2017-12-23 14:27:25 +01:00
Unknown
8d9bd319bd Misc. Typos 2017-10-09 19:59:33 +02:00
wmayer
fde42545ba fix various coverity issues 2017-09-15 11:48:38 +02:00
Zheng, Lei
0c1110e874 PathGui: added selection style preference 2017-04-01 11:09:03 -03:00
Zheng, Lei
1e165abcdb PathGui: restore Path default color 2017-03-25 01:55:30 +08:00
wmayer
6c82b87e83 fix signed vs unsigned warning 2017-03-23 22:18:48 +01:00
Zheng, Lei
46e4902e37 PathGui: increase pre-select GCode display decimal 2017-03-22 09:23:57 +01:00
Zheng, Lei
45118b6860 PathGui: speed up path marker display
User SoPointSet instead of SoMarkerSet
2017-03-22 09:23:57 +01:00
Zheng, Lei
08cf906218 PathGui: fixed potential crash on Path object delete 2017-03-22 09:23:57 +01:00
Zheng, Lei
aad8ca4dd9 PathGui: ViewProviderPath default to bbox selection style
* Hide DisplayMode property
* Exclude initial position from bounding box
2017-03-22 09:23:57 +01:00
Zheng, Lei
808c4a8945 PathGui: show path marker in front of path wire 2017-03-22 09:23:57 +01:00
Zheng, Lei
5cdd1c171e PathGui: shorten preselect GCode display length 2017-03-19 10:26:27 +01:00
Zheng, Lei
b4fba60a0b PathGui: enable ViewProviderPath pre-select
Pre-select will show the corresponding GCode in the status bar, and also
the direction of the movement.
2017-03-19 10:26:27 +01:00
Zheng, Lei
a289bdb1b3 Path: support plane select command G17,18,19 2017-03-15 10:38:58 -03:00
Yorik van Havre
cdfb5dba77 Path: Fixed wrong display of non-displayable paths - fixes #2484 2017-02-15 15:40:25 -02:00
Markus Lampert
a029429b49 Setting a minimum # interpolations for displaying an arc. 2017-01-01 22:41:28 -08:00
sliptonic
2a8ce27ac2 PATH: Add support to visualize probe moves
G38.2/3/4/5
2016-12-07 19:24:54 -06:00
Markus Lampert
19d15d470b Fix for Path visualisatin of helixes. 2016-12-06 20:08:18 -02:00
Markus Lampert
a9bda71acb Fixed SoBrepEdgeSet error (thanks to wmayer). 2016-12-02 12:35:00 -08:00
Yorik van Havre
83d7655e73 Path: remove old dislay if path becomes empty - fixes #2484 2016-09-30 19:35:26 -03:00