Re: Value increase error: editing 3D Surface changes values all by itself
Posted: Fri Mar 27, 2020 11:56 pm
Good find!
The help and development forum of FreeCAD
http://forum.freecadweb.org:80/
dubstar-04 wrote: ↑Thu Mar 26, 2020 10:37 pmEvening All,
I have noticed the same issue when using the profile edges Op.
Watch the value of extra offset:
...
herbk wrote: ↑Sun Mar 22, 2020 3:35 pmHi Russ,
OK...here with some pics:
i set the values for BoundBox extra offset and Sample Interval to 1mm and close the UI by clicking OK
I reopen the UI by doubteclick the Operation and get this values shown. Closing the UI by OK shows the path calculetet by this values.
reopen the UI shows again increased values...
My number of decimals is only at 2 and also the precision of path calculations is only at 0.01mm
Code: Select all
self.form.extraOffset.setText(FreeCAD.Units.Quantity(obj.OffsetExtra.Value, FreeCAD.Units.Length).UserString)
Good work Russ.Each of the properties mentioned above are of the type `App::PropertyDistance`.
Code: Select all
export LANG="fr_FR.utf8"
locale
LANG=fr_FR.utf8
LC_CTYPE="fr_FR.utf8"
LC_NUMERIC="fr_FR.utf8"
LC_TIME="fr_FR.utf8"
LC_COLLATE="fr_FR.utf8"
LC_MONETARY="fr_FR.utf8"
LC_MESSAGES="fr_FR.utf8"
LC_PAPER="fr_FR.utf8"
LC_NAME="fr_FR.utf8"
LC_ADDRESS="fr_FR.utf8"
LC_TELEPHONE="fr_FR.utf8"
LC_MEASUREMENT="fr_FR.utf8"
LC_IDENTIFICATION="fr_FR.utf8"
LC_ALL=
./FreeCAD
Code: Select all
export LANG=en_GB.utf8
locale
LANG=en_GB.utf8
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=
./FreeCAD
Indeed looks like problem with decimal separator. According vocx's early message in this thread, I'd guess the UI isn't using the correct interfaces from the QuantitySpinBox. Spin boxes have valueFromText() and textFromValue() methods that maybe could fix that.
QuantityPy.cppThe `DepthOffset` and `SampleInterval` properties are handled identically in the getFields() method, but handled much differently in the setFields() method!
Code: Select all
try {
static_cast<QuantityPy*>(self)->setValue(Py::Float(PyNumber_Float(value),true));
return 0;
That's what I would have guessed, but it doesn't explain the factor 10 in the 3DSurface operation. Do you have changes there too?