View Issue Details

IDProjectCategoryView StatusLast Update
0004399SketcherBugpublic2020-10-25 10:48
Reporterbluebaer Assigned Toabdullah  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformT440POSWin10(10)OS Version64bit
Summary0004399: sketcher behavior generating a lock constraint in reference mode
Descriptionodd behavoir of the sketcher when with "lock constraint" when toggling from/to reference mode.

Following setup:
- make 1st sketch on xy with fully constraint sqaure
- make 2nd sketch on xy and "external reference" on line on sketch 1.
- toggle to reference constraint mode
- lock on end point of sktech

Expected behavior: two blue reference constraint
Precieved behavior: two red constraints

When playing further things get more mixed up...
Steps To Reproduce
Reproducing and showing desired behaviour can be slightly simplified:
Reproduce:
- in second sketch create a reference to external geometry.
- select an endpoint of the reference geometry
- add lock constraint
-> normal (red) constraints are added and correctly a redundancy error is detected.

To show expected behaviour:
- in second sketch create a reference to external geometry.
- select an endpoint of the reference geometry
- add a vertical distance constraint -> is added as (blue) driven dimension
- add a horizontal distance constraint -> is added as (blue) driven dimension
Additional Informationsee forum link
Tagsconstraints, Sketch
FreeCAD InformationOS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21775 (Git)
Build type: Release
Branch: master
Hash: 1f741aa511e898849e46ed14515fce416fe32acb
Python version: 3.8.2
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: German/Germany (de_DE)

and


OS: macOS High Sierra (10.13)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21671 (Git)
Build type: Release
Branch: master
Hash: f05253f882b336f56aae32593faa5676fd5aafdd
Python version: 3.8.2
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: C/Default (C)

Activities

bluebaer

2020-07-05 11:51

reporter   ~0014616

Demo_Sktech_bug.gif (865,669 bytes)   
Demo_Sktech_bug.gif (865,669 bytes)   

Kunda1

2020-07-09 12:35

administrator   ~0014640

Confirmed via the forum thread

Related Changesets

FreeCAD: master bc2d3e9d

2020-10-24 14:23:43

Neinei0k


Committer: abdullahtahiriyo Details Diff
Sketcher: Fix ticket 0004399

The reason for this behaviour is that root point (origin) and axes are not treated as fixed geometry. Every external geometry has negative ID which is at most GeoEnum::RefExt defined as -3 in the file src/Mod/Sketcher/App/SketchObject.cpp. Ids of root point and axes are also defined in this file with id -1 for root point and horizontal axis, and -2 for vertical axis. To fix the problem, GeoEnum::RefExt id was replaced by root point id in the condition checking for the largest id of fixed geometry.
Affected Issues
0004399
mod - src/Mod/Sketcher/Gui/CommandConstraints.cpp Diff File

Issue History

Date Modified Username Field Change
2020-07-05 11:49 bluebaer New Issue
2020-07-05 11:49 bluebaer Tag Attached: constraints
2020-07-05 11:49 bluebaer Tag Attached: Sketch
2020-07-05 11:51 bluebaer Note Added: 0014616
2020-07-05 11:51 bluebaer File Added: Demo_Sktech_bug.gif
2020-07-05 11:51 bluebaer File Added: Test_File_sktech_bug.FCStd
2020-07-07 16:20 openBrain Status new => acknowledged
2020-07-09 12:35 Kunda1 Status acknowledged => confirmed
2020-07-09 12:35 Kunda1 Note Added: 0014640
2020-10-25 10:47 wmayer Changeset attached => FreeCAD master bc2d3e9d
2020-10-25 10:48 wmayer Assigned To => abdullah
2020-10-25 10:48 wmayer Status confirmed => closed
2020-10-25 10:48 wmayer Resolution open => fixed
2020-10-25 10:48 wmayer Fixed in Version => 0.19