Commit Graph

134 Commits

Author SHA1 Message Date
Uwe
36add10c86 [TD] App: remove some superfluous nullptr checks 2022-07-19 02:03:50 +02:00
Wanderer Fan
60b79e0d72 [TD]fix Dimension export to DXF 2022-06-30 08:50:07 -04:00
wmayer
e8f9c8a1d3 TD: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
Uwe
904bf8fcfe [TD] fix compilation error 2022-03-14 01:13:56 +01:00
Wanderer Fan
37014eb586 [TD]fix unit display to standards 2022-03-13 19:04:42 -04:00
Wanderer Fan
7bef267503 [TD]fix 2 edge angle Dim special case 2022-03-12 08:55:35 -05:00
Wanderer Fan
53a105c397 [TD]fix Dim text on wrong side 2022-03-11 08:10:58 -05:00
Wanderer Fan
58d1ef260b [TD]move format spec to dimension tab
- also make %.2w default format
2022-03-04 09:28:16 -05:00
Wanderer Fan
1f1012f7a9 [TD]correct retrieval of dim text for DXF export 2022-02-11 16:24:35 -05:00
Wanderer Fan
959061720f [TD]Allow override of dimension line angles 2022-01-27 09:42:49 -05:00
Aapo
9266c34498 [TD] Add new non-standard format specifier '%w' that truncates trailing zeros. 2022-01-21 11:24:44 -05:00
Wanderer Fan
28c5890bc9 [TD] avoid memory leaks by using shared_ptr
TD geometry objects are sometimes double deleted.  This
change uses shared_ptr instead of raw pointers to manage
deletions.
2022-01-07 13:34:20 -05:00
wmayer
3fa4a321d3 TD: replace usage of raw pointers of Vertex and Face with shared pointers.
This fixes issue 4741: Broken File After Using Landmark Dimension in TechDraw
2021-12-10 14:25:24 +01:00
Chris Hennes
bd86b4dcfe [TD] Remove deprecated Qt < 5.9 code 2021-04-02 12:02:54 +02:00
Benjamin Nauck
bb5ac30e24 TechDraw: [skip ci] convert source files from iso-8859 to utf-8
All other source files are either plain ascii or utf-8, this converts
the last few to utf-8.
2021-03-25 18:02:12 +01:00
Aapo
e39ef22c1b [TD] Hotfix for Dimension label Arbitrary value regression in DrawViewDimension.cpp 2021-02-25 10:28:42 +01:00
Aapo
9f49b122f4 [TD] Dimensions: donovaly's minor fixes for TheoreticalExact dimensions. 2021-01-31 15:17:46 +01:00
Aapo
f362930664 [TD] Improve arbitrary tolerance and unit handling for Equal Tolerances. 2021-01-31 15:17:46 +01:00
Aapo
dbef970697 [TD] Add under- and overtolerances for Dimension Task layout, fixes for Dimension tolerance refresh and behavior. 2021-01-31 15:17:46 +01:00
Aapo
5350a2c3d0 [TD] Fix degree sign processing for equilateral angular plusminus dimensions. 2021-01-31 15:17:46 +01:00
Aapo
e6ef62e711 [TD] Fix regression in Dimensions: Setting arbitrary under tolerance was somehow lost. 2021-01-31 15:17:46 +01:00
Aapo
691051e1df [TD] Fix Dimension unit printing problem for US building units and other multivalueschema. 2021-01-18 21:52:35 +02:00
donovaly
1a296a4006 [TD] add dialog to modify some dimension settings
also fix issue that tolerance could be set despite theoretically exact is true under some circumstances

also some wording improvements

also a minor fix to use 0.0 instead of DBL_MIN
2021-01-15 05:21:49 +01:00
donovaly
81ff5a422f [TD] don't allow tolerances for exact values
as discussed here: https://forum.freecadweb.org/viewtopic.php?f=35&t=54218
when a value is theoretically exact it must not have a tolerance

This PR
* fixes this
* also fixes the bug that OverTolerance must not be negative if the tolerances are equal
2021-01-13 04:05:31 +01:00
donovaly
96eaff8e4e [TD] some fixes
- the setting "Standard and Style" only affects new dimensions, thus it must be italic

- fix bug that the Property 'LockPosition' appears for dimensions -> this is an option for views and thus must be hidden for dimensions

- since tolerances are in the vast majority fractions of a millimeter/inch, set its stepsize to 0.1
(I hope I did it right in handleChangedPropertyType.)

- fix inconsistent newlines in TaskBalloon.h

- improve wording for a heading
2021-01-10 00:29:34 +01:00
donovaly
2232b1d48e [TD] handle equal tolerances correctly
the common rule is that if a dimension has equal over- and undertolerance, they are output on the same line as the dimension concatenated using the ± character.

This PR does this.

Note that this is not just cosmetics, it is even standardized in the GD&T norms.

also:
* use one format specifier for tolerances since the norms don't allow a different format for the over- and the undertolerance
* some code optimizations like a self-explaining function name, remove unnecessary/outdated comments
2021-01-08 15:14:37 +01:00
Aapo
e20a21a97d [TD] DrawViewDimension Tolerances, print zero tolerances without plus sign and decimals. 2020-12-30 18:49:59 +01:00
donovaly
665a1106f7 [TD] fix bug with angular and small values
* angular as reported here: https://forum.freecadweb.org/viewtopic.php?f=35&t=53473&start=10#p461507
* small values: since we convert to e.g. mm, we must then not output e.g. 'µm'
* also a code optimization, fix a typo, removal of a meanwhile misleading comment
2020-12-30 16:20:27 +01:00
donovaly
9213dace6b [TD] fix unit conversion for dimensions
as reported here: https://forum.freecadweb.org/viewtopic.php?f=35&t=53473
my commit 957ce2f38787 introduced a regression because now units are no longer converted when the unit is displayed.

This PR fixes this.
2020-12-21 01:27:41 +01:00
Aapo
2077709329 [TD] Make Dimension Tolerances respect the Prefs formatSpec when creating a Dimension. 2020-12-17 17:30:29 +01:00
donovaly
36686f78b1 [TD] treat dimensions the same way, no matter if with unit or not
fixes the issue reported here: https://forum.freecadweb.org/viewtopic.php?f=35&t=52545&start=40#p454483
2020-12-05 03:58:39 +01:00
Mark O'Donovan
e88dff8902 Remove unused variable in DrawViewDimension.cpp 2020-12-04 17:13:56 +01:00
donovaly
7f856a251f tolerances can be negative, thus the decimal precision check must be adapted 2020-12-03 15:50:06 +01:00
donovaly
a2b523fb39 [TD] fix unit mismatch bug
- also make global decimal option italic since it only affects new dimensions
- also fix a typo in UnitsApi.h
2020-12-03 15:50:06 +01:00
wmayer
d284a343a8 [TD] add an enum to avoid to work with plain numbers 2020-12-02 16:42:21 +01:00
wmayer
2c599495a9 [TD] use PropertyQuantity for OverTolerance and UnderTolerance and add backward compatibility 2020-12-02 16:42:10 +01:00
aapo-aapo
3935ef8b8f @aapo-aapo @chennes [TD] Suggested minor improvements for DrawViewDimension.cpp and QGIViewDimension.cpp in Pull request review.
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2020-12-02 16:38:21 +01:00
Aapo
40bd4b806f [TD] Add tolerance format specifiers and arbitrary tolerances. 2020-12-02 16:38:21 +01:00
Aapo
eb22a14a3b [TD] Make tolerance labels use the same formatValue() conversion as dimension labels. Support MultiValueSchemas for tolerances, too. 2020-12-02 16:38:21 +01:00
Aapo
e7b4d9ed99 [TD] Refactor DrawViewDimension getFormatedValue() into two functions. 2020-12-02 16:38:21 +01:00
Aapo
5ed116283c Refactor code in DrawViewDimension::getRefType() shorter and simpler. No functional change except subelement sizes > 3 are supported, even though they are not supposed to happen. 2020-11-19 13:40:42 +01:00
Aapo
deab8fc965 [TD]fix V2E DistanceX,Y to always use the closest point of edge to the vertex. 2020-11-18 14:54:44 +01:00
wandererfan
247a74d73d [TD]fix V2E DistanceX,Y 2020-08-30 18:59:11 -04:00
wmayer
8ceac9cf55 PVS: V523 The 'then' statement is equivalent to the 'else' statement 2020-07-18 10:59:27 +02:00
wandererfan
de93a81768 [TD]Treat Imperial1/USCustomary as single value schema 2020-06-15 13:57:55 -04:00
wandererfan
0e4d893651 [TD]missing prefix/suffix for compound schema 2020-06-15 13:57:55 -04:00
wandererfan
a3029fec74 [TD]Centralize preference getters 2020-04-24 11:13:49 -04:00
wandererfan
7100eb4ba3 [TD]synchronize defaults in code and prefs 2020-03-16 08:57:08 -04:00
Tobias Ellinghaus
ccabe852b3 TD: Fix decimal separator of dimensions
When the system separator isn't '.' we want to make sure to use it.
2020-03-14 08:04:49 -04:00
wandererfan
fd9183727e [TD]fix crash on RenderMode = NONE 2020-03-11 18:17:46 -04:00