Commit Graph

392 Commits

Author SHA1 Message Date
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
donovaly
f2c83ac46b remove program-specific SVG namespaces
while fixing a SVG export issue for techDraw I noticed that some SVG files have program-dependent (and thus not clean) code in it. These are traces of the programs Sodipodi and Inkscape, like e.g. this line:
inkscape:export-filename="/home/yorik/PartDesign_Groove.png

This is unnecessary and FC should not use program-dependent code in the SVG but use instead plain SVG strictly following the SVG specification.

This PR transforms the few affected SVGs to a plain version.
2020-02-07 07:34:49 -05:00
wmayer
9270322d25 Mod: [skip ci] implementation classes don't inherit from UI classes any more 2020-01-10 16:19:35 +01:00
mlampert
ee937d52b1 Merge branch 'master' into feature/tool-bit-poc 2019-12-03 18:56:16 -08:00
luz.paz
379d041664 Fix typos and some trailing whitespace
Found via:  
```
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,currenty,dof,doubleclick,dum,eiter,elemente,feld,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
```
2019-12-03 12:22:59 +01:00
Markus Lampert
3b1aa48c11 Added support for relative/absolute path mgmt for stored files. 2019-11-28 17:31:37 -08:00
Markus Lampert
54dd726f5c Added preference to choose between legacy tools and new tool bits. 2019-11-28 17:31:37 -08:00
Markus Lampert
cdff8a42a5 Added tooltips to dialogs 2019-11-28 17:31:37 -08:00
Markus Lampert
012732e446 Renamed BitTemplate to BitShape for clarity 2019-11-28 17:31:36 -08:00
Markus Lampert
7bfb0fde68 Added arbitrary attributes to ToolBit - currently re-creating the existing ones. 2019-11-28 17:31:36 -08:00
Markus Lampert
fd629dfc0d Added library commands and drag&drop for rearranging and copying of tools 2019-11-28 17:31:36 -08:00
Markus Lampert
26eabc04d1 Basic ToolBitLibrary edit dialog 2019-11-28 17:31:36 -08:00
Markus Lampert
a6ce76c586 Basic ToolBitSelector dialog 2019-11-28 17:31:35 -08:00
Markus Lampert
7a46335211 Added command to create a ToolBit 2019-11-28 17:31:35 -08:00
Markus Lampert
cf8c0fadd1 Basic editor and shape update. 2019-11-28 17:31:35 -08:00
Markus Lampert
1572519067 Added PathBoundary task panel tool tips and tab order. 2019-11-05 19:18:39 -08:00
Markus Lampert
421e50ae87 PathBoundary editor filled with life. 2019-11-05 19:18:39 -08:00
Markus Lampert
a27a00064a Added boundary dressup to restrict path to another shape. 2019-11-05 19:18:39 -08:00
Markus Lampert
453f80f71a Added support for copying holding tags from another holding tags dressup. 2019-10-15 23:44:37 -07: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
Markus Lampert
450cc894be Fixed first screen on job creation 2019-09-27 14:29:15 +02:00
wmayer
f7c3cba415 fix possible vulnerability 2019-09-18 11:06:41 +02:00
sliptonic
fb5d7fa076 Merge pull request #2499 from dubstar-04/feature/tooltable
[Path] Enable Tool Duplication and Moving
2019-09-08 13:50:02 -05:00
Daniel Wood
692b615348 Enable tool duplication and moving
Adds tool duplication and drag and drop for moving tools to other tool tables
2019-09-05 21:01:58 +01:00
Daniel Wood
ac3240248e Allow editing and duplication of tools 2019-09-05 21:01:58 +01:00
Daniel Wood
df477ff18f Add the coolant dropdown to the 3D Surface Op 2019-09-05 18:12:41 +01:00
sliptonic
dccf8484cc Merge branch 'master' into feature/coolant-management 2019-08-29 09:46:32 -05:00
Daniel Wood
4e5b0bc5d8 Change the coolant label on the setupsheet
... to be consistent with the rest of the forms.
2019-08-28 20:00:37 +01:00
Daniel Wood
0002090aa1 Handle setting the coolant mode on the job ui 2019-08-28 19:40:09 +01:00
Daniel Wood
3f5836254b Add a coolant mode combobox to the op ui 2019-08-28 19:40:09 +01:00
Daniel Wood
5c0fbe75e4 Merge branch 'master' into feature/tooltable 2019-08-26 21:30:16 +01:00
sliptonic
48e91bdc79 Merge pull request #2386 from IMbackK/DrillRetractHight
[Path] Drill Ui cleanup
2019-08-26 15:08:11 -05:00
Dubstar_04
51f96a40fc Allow multiple Tool Tables
Allow path to hold multiple tool tables
2019-08-26 07:59:09 +01: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
IMback
c8fda889a2 Peck retract height default changed from 10mm to opStartDepth+1
Peck depth default changed to tool dia*0.75
Fields changed to QuanitiySpinBoxes
Insure travel between regions is always performed at safe height
Make Peck and Dwell exclusive in GUI
Restore name of RetractHeight
Use SetupSheet for all numerical properties
2019-08-08 10:38:30 +02:00
IMback
0795b6633d Make Deburr Pannel rasonably sized 2019-07-28 23:25:26 +02:00
Markus Lampert
32ce6cc764 Added tooltips to depths transfer buttons. 2019-07-09 19:04:36 -07:00
Yorik van Havre
236f890864 Merged translations from crowdin 2019-06-17 20:06:59 -03:00
Yorik van Havre
d890b4ec17 Updated master ts files 2019-06-17 17:28:12 -03:00
Russell Johnson
8f50b057df Increase tool count limit to 99999 2019-05-27 14:39:13 -05:00
wmayer
8b477e6053 fix Path build failure 2019-05-16 12:46:02 +02:00
Abdullah Tahiri
604f8296e4 PCH: Path GUI PCH Enable 2019-05-16 12:46:02 +02:00
Yorik van Havre
bfba3a6b93 Updated master translation files (minor changes) 2019-05-10 23:14:36 -03:00
Yorik van Havre
ed386410bc Merged latest translations from crowdin 2019-05-10 19:19:37 -03:00
Yorik van Havre
c65bf365a1 Updated master translation files 2019-05-10 19:15:33 -03: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
Abdullah Tahiri
1bb08559d4 PCH: Path GUI 2019-05-03 23:15:09 +02:00
luz.paz
0238906d38 Misc. typo and whitespace fixes
Found via `codespell`
2019-04-30 10:15:59 -03:00
Markus Lampert
8e457a6694 Adding tool tips to pocket extension dialog 2019-04-07 12:20:45 +02:00
Markus Lampert
01b3f57084 Fixed colour for visibility and changed selection model to extended. 2019-04-07 12:20:45 +02:00