Commit Graph

1979 Commits

Author SHA1 Message Date
wmayer
4de2ad46b2 Sketcher: replace or keyword with || as it's not supported by all compilers 2021-06-13 11:02:27 +02:00
0penBrain
1645cc0c28 [Sketcher] Radiam : add icons 2021-06-12 07:07:28 +02:00
0penBrain
2ef1516121 [Sketcher] Radiam : add specific management for Bspline poles 2021-06-12 07:07:28 +02:00
0penBrain
ea1e6595b5 [Sketcher] Radiam : make the command basically usable into Gui 2021-06-12 07:07:28 +02:00
0penBrain
74cfdb57af [Sketcher] Introduce 'Radiam' command that auto set radius or diameter constraint based on geom type
Radius is applied in arcs and BSpline poles
 Diameter is applied on complete circles that aren't BSpline poles
2021-06-12 07:07:28 +02:00
Yorik van Havre
4a9963a03f Merged crowdin translations 2021-06-10 12:24:24 +02:00
Yorik van Havre
5739d6eb7c Updated ts files 2021-06-10 11:48:18 +02:00
0penBrain
85f37a1dbc [Sketcher] Fix 'Reference' checkbox not working for diameter 2021-06-06 07:12:38 +02:00
Yorik van Havre
fb8b21ec43 Updated ts files 2021-06-04 18:30:30 +02:00
0penBrain
e02902cfa2 [Sketcher] Fix 'Reference' checkbox not working for radius/diameter ; fixes #4627
As a consequence :
Remove message box when several arcs/circles are selected ...
... and enforce creation of equality constraints in this case
Former existing option of adding a dimensional constraint ...
... to each circle encouraged improper constraining
2021-06-04 06:12:51 +02:00
Yorik van Havre
d0d637b2c6 merged crowdin translations 2021-06-03 15:43:34 +02:00
Yorik van Havre
4361893f24 updated ts files 2021-06-03 15:37:33 +02:00
donovaly
7436bbfa30 [Sketch] fix too long tooltips
- they were too long for smaller screens
- the other UI file changes were automatically make by Qt Designer
2021-06-01 08:12:52 +02:00
Yorik van Havre
b1d9a5607f Merged crowdin translations 2021-05-27 14:51:33 +02:00
Yorik van Havre
c6771853ae Updated translation files 2021-05-27 14:44:40 +02:00
0penBrain
03855f793f [Sketcher] Visibility automation : add option to force orthographic view when entering edit mode 2021-05-13 14:10:44 +02:00
Yorik van Havre
7b0a6358b1 Merged crwodin translations 2021-05-12 16:36:31 +02:00
Yorik van Havre
81a44fcccb Updated ts files 2021-05-11 13:05:20 +02:00
Yorik van Havre
131cdd1e4e Merge pull request #4557 from luzpaz/crowdin/whitespaces-substituted-into-code
Crowdin: represent whitespace in code instead of in string
2021-05-05 17:18:35 +02:00
wmayer
5a5b20df56 Sketcher: [skip ci] fix memory leak in GeometryFacade 2021-04-27 00:20:57 +02:00
wmayer
e51f5a8aa7 Sketcher: [skip ci] remove superfluous semicolons 2021-04-26 23:05:18 +02:00
wmayer
b35ae4fc81 Sketcher: [skip ci] fix memory leak in GeometryFacadePy 2021-04-26 12:30:02 +02:00
bitacovir
31b0f25b6d [UI] Replace SVG icon files for Plain SVG format 2021-04-25 22:04:17 +02:00
0penBrain
043dd45da0 [Sketcher] Visibility automation : add ability to open sketch in Section View mode 2021-04-24 16:22:46 +02:00
Abdullah Tahiri
18e751530a Sketcher: Changes to split edge functionality
=============================================

This commit is directed to external functionality of the split() function.

1. getAppliedConstraints renamed to getConstraintIndices

This is just for clarity being a general function

2. SwapInvolvedGeometry functionality moved to Constraint class

Why?
i. Because it is a specific operation on a constraint, it must not be
a public function, as it does not define interface of the Sketch.
ii. It could be a lambda or a private utility function, but them it would not be reusable.
iii. It could be part of a helper class, but then, it is would be less reusable.

3. renaming of the flag passed to transferConstraints function
2021-04-24 14:38:44 +02:00
Tomas Pavlicek
4d6b1f3eb8 Sketcher - Add new Split Edge action 2021-04-24 14:30:35 +02:00
luz paz
f64f0e7182 Sketcher: remove Py2 code from Sketcher wb 2021-04-22 14:11:04 +02:00
wmayer
c4f411af26 Gui: use public methods in Command sub-classes 2021-04-21 19:34:50 +02:00
Mateusz Skowroński
92683e1f63 Fix CMake warning: qt5_make_output_file is not part of the official API, and might be removed in Qt 6. 2021-04-19 15:10:53 +02:00
luz paz
5cef2ce379 Crowdin: remove obsolete translation manually [skip ci]
For some reason updatets.py is not successfully removing obsolete translations. This is a long standing issue. The workaround is to manually remove them from the .ts file.

ref: https://forum.freecadweb.org/viewtopic.php?f=21&t=51825&p=483474#p482519  
crowdin: https://crowdin.com/translate/freecad/7254/en-pl?filter=basic&value=0#6572886
2021-04-19 06:23:07 -04:00
luz paz
f2b93a7af3 Crowdin: represent whitespace in code instead of in string [skip ci]
Removing possible whitespace from strings lead to more accurate translations
2021-04-19 06:16:09 -04:00
Abdullah Tahiri
a855033f21 Sketcher: Adapt fillet to moving addConstraint 2021-04-07 08:05:04 +02:00
Chris Hennes
6227a711c3 [Sketcher] Remove deprecated Qt < 5.9 code 2021-04-01 19:38:23 +02:00
Abdullah Tahiri
ebfaa6ac95 Sketcher: No vertex color update (selection/preselection) after box selection
=============================================================================

The issue:
https://forum.freecadweb.org/viewtopic.php?f=10&t=56550#p486554

The fix:
Setting the render type to Image causes the issue, but neither do I know why it is
necessary to set it to Image, nor do I understand why this is causing the issue. I
only know it solves the issue.
2021-03-29 16:23:18 +02:00
Abdullah Tahiri
5c4f9df447 Sketcher: add subnodes to the right separator 2021-03-29 16:23:18 +02:00
donovaly
26750530f0 [Sketch] fix a typo in preferences dialog
- all other option text use consequently lowercase letters
- also set dialog to a more sensible sensible size
- the other changes were automagically done by QT Creator
2021-03-28 11:32:22 +02:00
luz paz
15c16610c8 fix source comment typos [skip ci]
Found via  codespell v2.1.dev0
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,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,parms,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,./build/doc/SourceDocu
```
2021-03-28 10:57:24 +02:00
Syres916
a25061870c [Sketcher] Settings checkBox for..
...setting Diameter as default constraint for Arcs and Circles
See discussion : https://forum.freecadweb.org/viewtopic.php?f=3&t=57054
2021-03-27 06:13:09 +01:00
Syres916
7a8792f64b [Sketcher] Constraints Allow User to...
...set Diameter as default constraint for Arcs and Circles
See discussion : https://forum.freecadweb.org/viewtopic.php?f=3&t=57054
2021-03-27 06:13:09 +01:00
bitacovir
a026c9d3d4 [UI] Replace SVG icons for Sketcher commands 2021-03-25 18:00:55 +01:00
Abdullah Tahiri
28e40ffbee Sketcher:: Trim creator UI
==========================

* Enable to select any GeomTrimmedCurve (any arc supported by the Sketcher), as well as B-Splines.
* Use Edit Markers to provide visualisation of the cutting position and cut segment end point before trimming.
* Reject trimming Internal aligned geometry (internals of complex geometries such as ellipses or hyperbolas)
2021-03-21 06:56:23 +01:00
Abdullah Tahiri
2d817128d0 Sketcher: SketchObject - Trim refactor
======================================

* Refactor the code for all GeomTrimmedCurve and non-periodic BSplines in a single block, adding
support for arcs of hyperbola, parabola and B-Splines.

* Refactor the code for periodic curves (circle, ellipse) in a single block, adding support for
periodic B-Splines.

* Add support for trimming limited by external geometry

* Trim deletes a geometry if intersections are detected and nothing would be left after trimming

* Trim deletes a geometry if no intersection are detected

Bonus:
* Function addConstraint moving the constraint instead of cloning it again
* SketchObject::seekTrimPoints as a wrapper of Part2DObject::seekTrimPoints providing
a correct handling of GeoId indices.
* Helper functions addConstraint/createconstraint to create new constraints and move them
into the Constraint property
* New getGeometry with templated return type defaulting to Part::Geometry.
2021-03-21 06:56:23 +01:00
Abdullah Tahiri
8be50486af Sketcher: reset Marker Edit layer when exiting DrawSketchHandler 2021-03-21 06:56:23 +01:00
Abdullah Tahiri
010a2cbd41 Sketcher: ViewProvider - add marker information layer
=====================================================

New Coin Marker layer intended to temporarely highlight sections of the 3D View for information purposes.
Independent from the actual redrawing of the geometry and constraints.
2021-03-21 06:56:23 +01:00
Abdullah Tahiri
3a656d8597 Sketcher: UI Constraint Creation - PointOnObject + Tangency on edge constraint substitution
============================================================================================

On creation of a constraint from the UI (toolbar/menu):

1. if a PointOnObject constraint preexisted the addition of an
edge-to-edge tangency, substitute it with a point-to-edge tangency.

2. if an edge-to-edge tangency preexisted, addition of a PointOnObject
results in a substitution of the edge-to-edge tangency with an edge-to-curve
tangency.

Bonus:
- Refactor of this with preexisting coincident+tangent substitution.
- Activate both substitutions in continuous constraint addition mode.
2021-03-20 18:12:54 +01:00
Abdullah Tahiri
c08a19626f Sketcher: Use old NotifyConstraintSubstitution parameter in DlgCheackableMessageBox 2021-03-20 15:59:15 +01:00
David Osterberg
d759a8e43d Sketcher: Change constraint-conversion MessageBox to DlgCheckableMessageBox 2021-03-20 15:59:15 +01:00
grggnzlz
89b8e81d5c Sketcher: Constraint svg caching
================================

Calls to:
Gui::BitmapFactory().pixmapFromSvg(type.toLatin1().data(),QSizeF(edit->constraintIconSize,edit->constraintIconSize));

are expensive and the scaled pixmap is heavily reused.

Solution is to cache the icon.
2021-03-13 06:43:10 +01:00
Abdullah Tahiri
a8cb3d5dfb Sketcher: allow icon/color update in STATUS_SKETCH_UseHandler mode
==================================================================

Updating color and constraint icons does not seem necessary in other modes:
https://forum.freecadweb.org/viewtopic.php?f=3&t=56064&start=10#p486578
2021-03-13 06:43:10 +01:00
grggnzlz
011e19060a Sketcher: fix performance issue with drawing svg icons 2021-03-13 06:43:10 +01:00