Commit Graph

32 Commits

Author SHA1 Message Date
Roy-043
ba3961574b Draft: make Draft_Snap_Angle work in 3D
Draft_Snap_Angle only worked for circular edges on a plane parallel to the XY plane of the global coordinate system.
2022-01-06 16:57:55 +01:00
Roy-043
f89078c01f Draft: fix 3 snap issues
1. Draft_Snap_Parallel only worked beyond the endpoints of the edge.
2. It was very hard to select an edge for Draft_Snap_Parallel if no other snaps were active.
3. Only two snap objects were stored.
2021-11-25 15:21:11 +01:00
Roy-043
413fff7ea2 Draft: fix toggle grid issue. 2021-11-17 19:26:36 +01:00
carlopav
967a97e9a8 Draft: fix Snapper GridSnap not working over a face
ref. https://forum.freecadweb.org/viewtopic.php?f=23&t=62274&sid=4c9d07255e4f0db219b661c345768319

If the cursor is over a Face and no SnapCenter is active, the snapToObject method returns the current cursor point instead of None. Doing so the snap() method does not check for extension and grid snaps.
It seems this is a bug since the snap() already contains the deleted code.

One note: the no snaps case was moved before the lastObj setting, since if no snap point was found, it's not right to set it to a non snapped object.
2021-09-19 14:31:44 +02:00
marioalexis
b8dee20115 Draft: Fix snap to proxy WP and BuildingParts - fixes #0004278 2021-02-23 21:40:06 -03:00
Chris Hennes
a7522c384e [DRAFT] Catch only Exception, not BaseException 2021-02-11 11:52:45 +01:00
Roy-043
b6976b3b23 [Draft] Fix snap to center of faces of solids
The code would only find a center snap on the face with index=0 of solids.

In V0.19 Part.getShape was introduced (line 399). But not all consequences were not fully implemented.

In the '# we are snapping to an edge' section (line 411) the code could be cleaned up. There is no need to check if the index of the edge is correct for the parent object since we are no longer dealing with a parent object. That portion was effectively dead code.

The '# we are snapping to a face' section (line 429 in the revised code) has been modified accordingly, which fixes the bug.

Forum discussion:
https://forum.freecadweb.org/viewtopic.php?f=23&t=54747
2021-01-25 15:33:36 +01:00
Yorik van Havre
7b10771b7c Draft: Don't snap to ImagePlanes 2021-01-12 15:31:55 +01:00
Yorik van Havre
1cce61670c Draft: better checks for no active document 2020-11-16 13:25:12 +01:00
Yorik van Havre
583b59c29f Draft: Condensed the Draft toolbar style buttons into one with more options 2020-11-10 14:14:18 +01:00
luz paz
27fc4d6c7e Fix various typos [skip-ci] 2020-10-24 12:25:46 +02:00
John Yani
2cf6d093d6 Proper check for Qt version 2020-09-30 22:36:22 +02:00
John Yani
d5d5301144 Fix indentation 2020-09-30 12:31:15 +02:00
John Yani
826f6c1bf3 HiDPI cursors: Support Qt < 5
Forum thread: https://forum.freecadweb.org/viewtopic.php?p=433621#p433621
2020-09-30 12:31:15 +02:00
carlopav
41f81b2cff Draft: fixed obj.TypeId output after utils.get_type() change
.


.
2020-09-09 14:13:29 +02:00
Roy-043
a620ddc0bc Update gui_snapper.py 2020-09-08 16:13:02 +02:00
Vanuan
0e7e44e97e High DPI support: Scale Draft cursor to device pixel ratio 2020-08-19 19:59:13 +02:00
Vanuan
187cf585ce Fix a typo in draft snapping 2020-08-11 11:59:52 +02:00
vocx-fc
f4611f0a31 Draft: add modules of draftguitools to the proper Doxygen group
This includes `gui_annotationstyleeditor`, `gui_arcs`, `gui_array_simple`,
`gui_arrays`, `gui_base`, `gui_base_original`, `gui_beziers`,
`gui_circles`, `gui_circulararray`, `gui_clone`, `gui_circulararray`,
`gui_clone`, `gui_dimension_ops`, `gui_dimensions`, `gui_downgrade`,
`gui_draft2sketch`, `gui_drawing`, `gui_edit`, `gui_edit_arch_objects`,
`gui_edit_draft_objects`, `gui_edit_part_objects`, `gui_edit_sketcher_objects`,
`gui_ellipses`, `gui_facebinders`, `gui_fillets`, `gui_grid`,
`gui_groups`, `gui_heal`, `gui_join`, `gui_labels`, `gui_line_add_delete`,
`gui_lineops`, `gui_lines`, `gui_lineslope`, `gui_mirror`,
`gui_move`, `gui_offset`, `gui_orthoarray`, `gui_patharray`,
`gui_planeproxy`, `gui_pointarray`, `gui_points`, `gui_polararray`,
`gui_polygons`, `gui_rectangles`, `gui_rotate`, `gui_scale`,
`gui_selectplane`, `gui_shape2dview`, `gui_shapestrings`, `gui_snapper`,
`gui_snaps`, `gui_splines`, `gui_split`, `gui_stretch`, `gui_styles`,
`gui_subeleemnts`, `gui_texts`, `gui_togglemodes`, `gui_tools_utils`,
`gui_trackers`, `gui_trimex`, `gui_upgrade`, `gui_wire2spline`.

These are added to the `draftguitools` Doxygen group
so that the functions and classes contained in each module
are listed appropriately in the automatically generated
documentation.
2020-07-17 13:01:45 +02:00
Yorik van Havre
29d4859633 Draft: snapper.getPoint() does not return object anymore if no snapped object 2020-06-17 14:03:29 +02:00
carlopav
aa572290b7 Draft: bugfix in Snapper 2020-05-12 10:03:52 +02:00
luz.paz
cb9379225a [skip-ci] Fix typos
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-04-27 11:29:32 +02:00
Yorik van Havre
e496f356f2 Draft: fixed regression in snapper 2020-04-23 12:05:59 +02:00
carlopav
ff4ac3a3b4 Draft: reintroduced grid button in snap toolbar 2020-04-22 12:14:23 +02:00
carlopav
e68bf521f6 [Draft] Snapper cleanup
Cleanup after @vocx-fc review
2020-04-20 12:38:06 +02:00
carlopav
113c699ada [Draft] Snap improvement and statusbar cleanup after rebase
[Draft] Attempt to make base classes compatible with super on py2


[Draft] Refactored imports of snapper and snaps gui tools


.


.
2020-04-20 12:38:06 +02:00
carlopav
78a5036048 [Draft] Improved Snapper Toolbar Behaviour
Changed snap toolbar behaviour:
- create a list of available snaps (Gui.Snapper.snaps)
- make it consistent with Snap Gui Commands (in gui_snaps module)
- create a list of active snaps (Gui.Snapper.active_snaps)
- refactor the isEnabled() method to allow it to check if the given snap is in Gui.Snapper.active_snaps and not if the snap toolbar button isChecked()
- updated and reordered the new list of gui snap commands in draftutils.init_tools and used it as a base to refactor the creation of draft toolbar
- updated all the draft snap gui tools to make them control the toolbar buttons directly
.


.


.
2020-04-20 12:38:06 +02:00
vocx-fc
b206106df5 Draft: gui_snapper clean up docstrings and spaces (2) 2020-04-07 18:12:06 +02:00
vocx-fc
3838ee0302 Draft: gui_snapper clean up docstrings and spaces 2020-04-07 18:12:06 +02:00
vocx-fc
09cc7e0264 Draft: gui_snapper.py clean up imports and spaces
Small spacing fixes like imports in separate lines
for more clarity.
Also use the `OrderedDict` prefixed with the `collections` module.
2020-04-07 18:12:06 +02:00
vocx-fc
478510d20e Draft: Snapper class with new gui_trackers module
Also change the imports in `DraftFillet.py`
and `DraftEdit.py` so the trackers are found.
2020-03-23 12:14:33 +01:00
vocx-fc
580270ce4a Draft: move DraftSnap to another module
And do not load the `Snapper` in `DraftGui`.
The Snapper should be initialized by the module
that imports `DraftGui`, most probably `DraftTools`
or even by the `InitGui` of the workbench.
2020-03-20 08:11:04 -03:00