Commit Graph

2267 Commits

Author SHA1 Message Date
wmayer
aa1a4c2acb PD: don't use a static variable as otherwise it won't be translated after changing the language 2023-04-21 12:08:20 +02:00
Chris Hennes
a338b53624 PD: Helix parameters status translation 2023-04-20 16:11:54 -05:00
Yorik van Havre
faf98925f6 Merged crowdin translations 2023-04-20 14:04:19 +02:00
Yorik van Havre
0fd764454d Updated ts files 2023-04-20 13:53:35 +02:00
Ronny Standtke
ff324c9df7 fixed typo 2023-04-18 12:24:21 +02:00
Ronny Standtke
726e786493 added i18n for new body labels 2023-04-18 12:23:37 +02:00
Chris Hennes
7568c885f3 PD/ShaftWizard: Correct some translation issues 2023-04-17 23:48:08 -05:00
wmayer
4c9d881cb6 PD: fix crash on Windows when loading PD workbench 2023-04-14 16:34:00 +02:00
wmayer
2fd01076ba PD: fix tab order of dialogs 2023-04-05 22:36:29 +02:00
Pesc0
99e13d9529 Remove all PyQt references 2023-03-31 10:36:04 +02:00
Jolbas
53aa302d8b PartDesign: Return directly if occurrences is 1
In LinearPattern and PolarPattern. Skip all checks if occurrences is 1. Allows Expressions on Length/Angle that evaluates to 0 if Occurrences is 1.

Co-Authored-By: 0penBrain <48731257+0penBrain@users.noreply.github.com>
2023-03-30 23:02:03 +02:00
Paddle
f116e83d9d PartDesign: Chamfer/fillet/draft/thickness small fixes. 2023-03-28 13:30:13 +02:00
Paddle
ea463a6a53 PartDesign: Fillet/chamger/draft/thickness: change the button strings to 'Preview' and 'Select' 2023-03-28 12:52:42 +02:00
Paddle
d56842fd92 PartDesign: Fix placement issue with thickness tool when the feature was empty. 2023-03-28 12:52:42 +02:00
Paddle
27481a68eb PartDesign: Fillet Draft Chamfer Thickness : Add warning message on empty feature creation 2023-03-28 12:52:42 +02:00
Paddle
bc22bf9c0d PartDesign: Fillet, Chamfer, Draft, Thickness : Enable tool to start with no selection. 2023-03-28 12:52:42 +02:00
Paddle
1689c99930 PartDesign: Fillet/chamfer/draft/thickness: Merge Add & Remove buttons. 2023-03-28 12:52:42 +02:00
Uwe
1b6e97066c [PD] FeaturePipe.cpp formatting fixes
- remove commented includes (once mistakenly added by me)
- also fix too long lines
2023-03-28 01:56:30 +02:00
wmayer
7c2b91cfdc PD: do not record Gui command as Doc command 2023-03-26 18:41:56 +02:00
Uwe
b74425b441 [PD] revolve: remove unused code
- also come code style unification
2023-03-22 17:46:03 +01:00
luzpaz
f1bbcd9e13 Fix typos and whitespace 2023-03-22 17:10:38 +01:00
Jonas Bähr
e05231aa7f PD: Implement Profile Shift for InvoluteGear
This commit adds the ability to shift the involute profile inside or
outside. Profile shift is implemented as coefficient, i.e. normalized by
the module, so that it the whole profile scales with the module without
chaning shape.
To verify the profile, the tests implement an "over pins measurement"
using formulae found in literature.
Backward compatibility with FreeCAD-v0.20 is garanteed by already
existing tests, not touched by this commit.

This addresses issue #5618.
2023-03-17 22:22:34 +01:00
Jonas Bähr
503c878810 PD: Harmonize ExternalInvoluteGear and InternalInvoluteGear
There has been lots of duplicated code between those two, and the recent
changed introduced even more copy/paste code. This commit consolidates
both implementations. The two "public" entry points, `CreateExternalGear`
and `CreateInternalGear` have been kept and now call a shared helper.
2023-03-13 22:10:41 +01:00
Jonas Bähr
24578466bc PD: some cleanup of InvoluteGear
This commit removes obsolete files, gets rid of py2 habits like `xrange`
and fixes some comments and blank lines.
2023-03-13 22:10:41 +01:00
wmayer
82ac24de5c clang: fix -Wunused-parameter, -Wunused-variable, -Wswitch 2023-03-12 15:05:21 +01:00
wmayer
2a0e52e71e clang: fix -Wunused-but-set-variable 2023-03-12 15:05:21 +01:00
mosfet80
0505449776 Update json (#8830)
* Update json from 3.9.1 to 3.11.2
2023-03-11 13:30:27 +01:00
wmayer
243088a8c3 PD: add unit test for PR #8763 2023-03-10 19:23:03 +01:00
wmayer
f93122e12c PD: add unit test for issue #6156 or PR #8748 2023-03-10 19:05:50 +01:00
luzpaz
01e8bbc2bf Fix various typos and whitespace 2023-03-10 14:40:46 +01:00
Uwe
31fa8187d5 [PD] add tooltip for Hole feature
- tooltip makes clear what the depth means for countersinks
- add comment why a calculation cannot be performed
- shorten some long lines
2023-03-10 05:14:24 +01:00
Zheng, Lei
99c9d9b468 PartDesign: do not include transform for sub-object in Feature 2023-03-10 02:06:24 +01:00
Alexander Golubev
bc4eaff234 PD: Fix Loft's Closed option
Closes: https://github.com/FreeCAD/FreeCAD/issues/6156
2023-03-09 01:48:32 +01:00
Jonas Bähr
0397618094 PD: Retranslate InvoluteGear's Task Panel on language change
This makes use of the recent additions to `TaskPanelPython` and
`UiLoader`, cf. #8602, to retranslate the UI without having to close and
reopen it again.
Retranslation of the part from the UI file is now handled by FreeCAD
internally, but the tool tips from the property descriptions still need
to be reassigned with the translated versions.
2023-03-06 00:19:04 +01:00
Yorik van Havre
be6a654b3e merged crowdin translations 2023-02-27 16:01:15 +01:00
Yorik van Havre
2cd27ce328 updated ts files 2023-02-27 15:35:51 +01:00
Jonas Bähr
d5e341b044 PD: Fix exception from InvoluteGear with zero fillets
While gears without a root fillet may have limited real-live use cases,
during number-input it happens regulary to have a zero fillet radius as
intermediate state. With this commit such a situation is now handled
gracefully.
2023-02-26 23:28:33 +01:00
0penBrain
0d577a8789 Base: introduce 'getSafeUserUnit' that fallbacks to full precision and internal unit ...
... in case unit schema would zero a non-zero quantity

 For example, using '1 mil' with UnitsSchemaImperialDecimal schema
2023-02-23 15:22:07 +01:00
0penBrain
65f8321e27 PartDesign: better quantity values handling for primitives 2023-02-23 15:22:07 +01:00
Jonas Bähr
ecd660ed7e PD: Fix the internal InvoluteGear's root/tip arc directions
The arcs on the tip (around the addendum) and the root (between the
fillets) used to have their bulge in the wrong direction for the internal
gear profile: their center points has been on the outside.
Since this error existed since the very first introcution of the internal
gear I assume this was done by accident: Instead of only the fillets, all
arcs have been inverted when the external profile was copied.
This commit now inverts the tip and root arcs again, to be concentric
with the pitch circle -- same as for the external profile.
2023-02-23 12:49:10 +01:00
Jonas Bähr
3e50af581b PD: Make InvoluteGear's property docs translatable
As the property descriptions are translated at a central place in the
GUI, we have to use the generic "App::Property" category.
For details see https://tracker.freecadweb.org/view.php?id=0002524

As the property docs are also used as tool tips in the InvoluteGear's
task panel, this is also needed to achive a fully translatable GUI.
2023-02-21 23:21:56 -06:00
Jonas Bähr
0887950f64 PD: Enhance InvoluteGear's Task Panel with Tool Tips
In order to not maintain the same information in two places, the property
docs are reused as tool tips for their input fields. And for user
convenience, the same tool tip is assigned to the respective label as
well.
2023-02-21 23:21:56 -06:00
Yorik van Havre
0566d90cc5 merged crowdin translations 2023-02-13 15:45:26 +01:00
Jonas Bähr
dc1130bf28 PD: Improve InvoluteGear's fillet generatrion
Previously, the fillet started at a fixed value, tailored at 20° pressure
angle, a fillet radius of 0.375 and a dedendum of 1.25. With PR #8184
those values became user-adjustable and thus the assumptions of the
original code are not fullfilled any more. This resulted in significant
artefacts, especially for higher pressure angles or smaller dedendums as
commonly found in splines.

This commit actually calculates the junction between fillet and involute
so that the tangents of the both curves match.
The mathematical approach is described in source code comments.

The change in the fillet calculation also affects compatibility with
files generated by earlier versions of FreeCAD. Those changes are way
below 0.1% per tooth, however the earlier test required absolute equality
down to the micron. This was relaxed and also changed to a relative, per
tooth, tolerance.

There is one particular case where the new algorithm performs slightly
worse, though. That is when the fillet radius is too large to the
dedendum, i.e. resulting in a single arc instead of two fillets, and
effectively cannibalizes some of the clearance. This happens with internal
gears having less than 25 teeth. At about 15 teeth it becomes visible
that the fillet is not 100% tanget any more. However, as such a low
number of teeth is highly unusual for internal gears and the effect,
although noticeable, is minor, the overall benefits of the new algorithm
outweighs the drawbacks. And now with the fillet radius being adjustable
it is easy to fix, too.
The technical reason is that the tangency is calculated correctly, but
the fillet circle is displaced aferwards to avoid an overlap of the two
fillets. For the new fillet position, the tangents do not align any more.
2023-02-13 02:31:28 +01:00
Jonas Bähr
b053c58308 PD: Expose new gear properties to the SVG generator
This little script has proven to be a vauable debugging aid, so it got
some love. All the new properties from #8184 can now be set, together
with the option to generate internal gears.
2023-02-13 02:31:28 +01:00
Yorik van Havre
d8b0e64e14 Merged crowdin translations 2023-02-07 15:55:31 +01:00
wmayer
a0548860d2 PD: replace slots with member function pointers 2023-02-03 00:21:38 +01:00
Yorik van Havre
80c68fa4df Merged crowdin translations 2023-01-30 10:04:15 +01:00
luzpaz
216f4c1f45 PartDesign: convert indentations to spaces 2023-01-23 15:47:22 +01:00
Yorik van Havre
433b17b829 Merged crowdin translations 2023-01-23 11:25:49 +01:00