View Issue Details

IDProjectCategoryView StatusLast Update
0001940DraftBugpublic2015-12-15 13:18
ReporterticctechAssigned Toyorik 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
PlatformLinuxOSGentooOS VersionStable
Product Version0.14 
Target VersionFixed in Version0.16 
Summary0001940: Scale of draft clones ignored when 0.5 < scale < 1.5
DescriptionWhen numerically changing the scale of a draft clone of a DWire in the xy plane, the clone remains the same size as the original unless at least one of the x and y scale factors is >= 1.5 or <= 0.5.
Steps To Reproduce* New
* Draft workbench
* Draw a closed DWire, select it.
* Clone
* In data > Draft > Scale, set x to 0.51, y to 0.75.
* Note that size of clone does *not* change
* Change x scale to 0.50
* Note that size of clone *does* change, in both x and y.

similar steps switching X and Y, or with 1.49 vs 1.50.
Additional InformationAlso reproduces on Kubuntu 14.04, and on

OS: "NAME=Gentoo"
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.15.4532 (Git)
Branch: master
Hash: dc623f264660b9a671d73d17dee824e002796a0d
Python version: 2.7.9
Qt version: 4.8.5
Coin version: 3.1.3
OCC version: 6.7.1
TagsNo tags attached.

Activities

shoogen

2015-01-29 13:19

developer   ~0005745

I can't reproduce the problem. After a recompute the clone is valid.
If a recompute is done depends on the method you use to change the scale property (which you did not mention)
OS: Debian GNU/Linux 7.8 (wheezy)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.15.4532 +255 (Git)
Branch: danfalck/path-module,balazs-bamer-surface-module-ta1-rebase1,DeepSOIC/sketcher-FixReversedGeoms-emulation-squashed2,dev-skiprecompute,splineapprox
Hash: cec2d95f2085fb45836019bb25cd7924b57d945e
Python version: 2.7.3
Qt version: 4.8.2
Coin version: 4.0.0a
OCC version: 6.8.1.dev-27a6612

ticctech

2015-01-29 21:33

reporter   ~0005746

Apologies for not being sufficiently clear.
I'm changing the scale property by typing values in either the properties view or the combo view.

The symptom is that the visual representation of the clone, in either orthographic or perspective view, stays the same size as the visual representation of the original when the requested scale change is small.

This reproduces for me on two different Linux distros (specified in the original bug report), and in both FreeCAD 0.14 and a Git checkout of yesterday. If there's a workaround, I'd love to hear it -- so far I have found no way to successfully scale an object by a factor of 1.1.

ticctech

2015-01-30 07:50

reporter   ~0005747

OK, I think I've got a much better idea of what's going on.
There *is* a missing step from my reproduction scenario: Deleting (or moving aside) your ~/.FreeCad directory, so you get brand-new preferences.


If you've *ever* saved *any* change (AFAICT) to your Draft workbench preferences, the bug no longer reproduces. So it looks like this may actually be a problem with under-initialized preferences.

The scaling code only scales when the scale vector is not "equal" to (1,1,1) (see Draft.py line 5012). With fresh preferences, the initial value of the comparison tolerance appears to be much larger than it should be (possibly 1), so one component of the scale vector must round to something other than 1 or no scale is applied.

Issue History

Date Modified Username Field Change
2015-01-29 07:00 ticctech New Issue
2015-01-29 13:19 shoogen Note Added: 0005745
2015-01-29 21:33 ticctech Note Added: 0005746
2015-01-30 07:50 ticctech Note Added: 0005747
2015-09-04 15:43 yorik Changeset attached => FreeCAD Master master 989a5fa9
2015-09-04 15:43 yorik Assigned To => yorik
2015-09-04 15:43 yorik Status new => closed
2015-09-04 15:43 yorik Resolution open => fixed
2015-12-15 13:18 yorik Fixed in Version => 0.16