Commit Graph

59 Commits

Author SHA1 Message Date
Uwe
960ace8034 [Path] improve PreCompiled.h handling 2022-12-07 19:51:19 +01:00
Uwe
423c330534 [Path] improve PreCompiled.h handling 2022-12-07 19:51:19 +01:00
Uwe
feeb479641 [Path] Gui: remove unused includes
- also some sorting
2022-12-04 19:35:52 +01:00
berniev
ddafb98813 Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
berniev
da9ebc572f Mod: redundant void 2 2022-08-08 10:27:50 +02:00
berniev
b796a0d376 Mod: use empty 2022-08-06 19:30:13 +02:00
berniev
2d4c5a4cfb Mod: use emplace_back 2022-08-05 10:36:16 +02:00
Uwe
c35579227b [Path] remove superfluous nullptr checks 2022-07-18 02:52:48 +02:00
sliptonic
f4f37ecdd1 G38 fixes for probe visualization per mlampert 2022-07-12 12:22:36 -05:00
Chris Hennes
5f31fb74f6 Path: PR6497 move return statement to new line 2022-03-29 12:37:49 -05:00
wmayer
7b591da9f5 Path: modernize C++11
* use nullptr
2022-03-23 19:26:15 +01:00
Uwe
f23fa31f42 [Path] remove Python.h and Xerces
they are not needed anymore
2022-03-21 13:18:42 +01:00
luz paz
fe547195bf 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
b75cd3dd52 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
6fc8a3cae7 check if pcLineCoords is empty 2020-06-28 19:52:59 -05:00
Eric Trombly
2035e0cfbc fix null reference 2020-06-28 19:52:59 -05:00
Gabriel Wicke
cc84287515 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
39959f9500 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
66e9cf900a 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
d93259e238 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
aaae829704 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
dc15e8f077 Extended global marker size to be used for Path 2018-07-11 21:22:28 -03:00
Markus Lampert
7f965554b8 Fixed abs usage for doubles - thanks to clang warnings. 2018-05-15 21:45:58 +02:00
Markus Lampert
1bdda1c472 Fixed rotation axis rendering for B and C. 2018-05-11 10:18:56 -03:00
Markus Lampert
d720ef1d12 Add support for rotation center to ViewProviderPath. 2018-05-11 10:18:56 -03:00
Markus Lampert
17cca2a1fd Added g-code A parameter support to drilling cycle. 2018-05-11 10:18:56 -03:00
Markus Lampert
2ff14529af A g-code parameter support for G2/G3 2018-05-11 10:18:56 -03:00
Markus Lampert
f425a8a28e PathViewProvider support for A parameter in G0 and G1. 2018-05-11 10:18:56 -03:00
wmayer
c582b069ba fix compiler warnings with py3 and msvc 2018-04-16 18:24:53 +02:00
Zheng, Lei
286b252f44 ViewProviderPath: tweek StartIndex auto step size 2018-03-03 11:19:36 -03:00
Unknown
3df389f5f2 PATH: typo fixes 2017-12-23 14:27:25 +01:00
Unknown
ad457ba96b Misc. Typos 2017-10-09 19:59:33 +02:00
wmayer
770c9ce095 fix various coverity issues 2017-09-15 11:48:38 +02:00
Zheng, Lei
38d41f935c PathGui: added selection style preference 2017-04-01 11:09:03 -03:00
Zheng, Lei
244492f629 PathGui: restore Path default color 2017-03-25 01:55:30 +08:00
wmayer
abe15bbd83 fix signed vs unsigned warning 2017-03-23 22:18:48 +01:00
Zheng, Lei
44a9ecd25f PathGui: increase pre-select GCode display decimal 2017-03-22 09:23:57 +01:00
Zheng, Lei
b091acd877 PathGui: speed up path marker display
User SoPointSet instead of SoMarkerSet
2017-03-22 09:23:57 +01:00
Zheng, Lei
3f7c4bc042 PathGui: fixed potential crash on Path object delete 2017-03-22 09:23:57 +01:00
Zheng, Lei
9e5f6b212e 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
0c68b691c5 PathGui: show path marker in front of path wire 2017-03-22 09:23:57 +01:00
Zheng, Lei
b6b678b4fd PathGui: shorten preselect GCode display length 2017-03-19 10:26:27 +01:00
Zheng, Lei
2f1880cf7b 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
78ad6b9986 Path: support plane select command G17,18,19 2017-03-15 10:38:58 -03:00
Yorik van Havre
c1dad1bdf4 Path: Fixed wrong display of non-displayable paths - fixes #2484 2017-02-15 15:40:25 -02:00
Markus Lampert
d51188bd07 Setting a minimum # interpolations for displaying an arc. 2017-01-01 22:41:28 -08:00
sliptonic
7d1a58e593 PATH: Add support to visualize probe moves
G38.2/3/4/5
2016-12-07 19:24:54 -06:00
Markus Lampert
26e1a24060 Fix for Path visualisatin of helixes. 2016-12-06 20:08:18 -02:00
Markus Lampert
e597771c5f Fixed SoBrepEdgeSet error (thanks to wmayer). 2016-12-02 12:35:00 -08:00
Yorik van Havre
40b00e556a Path: remove old dislay if path becomes empty - fixes #2484 2016-09-30 19:35:26 -03:00