Commit Graph

1595 Commits

Author SHA1 Message Date
donovaly
f0655f7c3f [PD] fix primitives issues
- to avoid invalid results:
 - don't allow to set equal radii for cones
 - don't allow to set equal wedge parameters
 - don't allow zero quantities like e.g. the box width

- use full internal precision because it must be possible to create an e.g. 23.5 um wide box and using the default 2 displayed digits

- take spinbox limits from App

- add missing tooltips

- remove disturbing commented out line from Workbench.cpp

- some coding style issues fixed automatically by the MSVC IDE
2021-04-20 19:03:40 +02:00
Mateusz Skowroński
9ade68e9bf Fix CMake warning: qt5_make_output_file is not part of the official API, and might be removed in Qt 6. 2021-04-19 15:10:53 +02:00
donovaly
89e101403f [PD] [skip ci] fix sprocket icon
in the Wiki it is displayed wrong because e.g. Firefox cannot handle the strange code inside the SVG
2021-04-14 15:20:49 +02:00
wmayer
2fd0bb6859 PD: [skip ci] fixes -Wreturn-std-move 2021-04-13 18:55:18 +02:00
donovaly
e8668e9e45 fix bug that property "SprocketReference" is not an enum 2021-04-07 17:07:01 +02:00
donovaly
62a86deff0 [PD] sort entries in sprocket feature
as the title says.

(The other UI file changes were made by Qt's designer.)
2021-04-07 17:07:01 +02:00
Syres916
c2c2058c9f [0.20][PartDesign] Sprocket - Correct camelCase 2021-04-06 16:40:44 +02:00
Syres916
3295ec035a [0.20][PartDesign] Sprocket UI - Allow multiple...
... standard reference sprockets rather than just ANSI as well as capturing the thickness as stated in the particular standard. The user is not bound by this but it saves them looking it up manually.
See recent posts in discussion : https://forum.freecadweb.org/viewtopic.php?f=22&t=44525
2021-04-06 16:40:44 +02:00
Syres916
aee3e86e61 [0.20][PartDesign] Sprocket - Allow multiple...
... standard reference sprockets rather than just ANSI as well as capturing the thickness as stated in the particular standard. The user is not bound by this but it saves them looking it up manually.
See recent posts in discussion : https://forum.freecadweb.org/viewtopic.php?f=22&t=44525
2021-04-06 16:40:44 +02:00
donovaly
f1ab972234 [PD] UI file fixes
the rotation angle settings of primitives had a different layout than the other parameters, this things like shown in the image below happened.

- The PR uniforms all layouts to grid and for the PD layout
- it sets for the cylinder page a minimum width
- the PD UI file is now also sorted using David's file sorter
- fix the mess with stdset="0"> I accidentally introduced with the merges from yesterday (I simply forgot to install to Qt designer the FreeCAD widgets and then designer pollutes the file with these tags for all FC-specific widgets since it doesn't know them
2021-04-06 13:17:43 +02:00
donovaly
0369bc0853 [PartDesign] add direction to cylinder primitive
We already have the possibility to create skewed prisms. I recently stumbled upon that I would need this feature for cylinders too.

This PR takes the existing prism extrude direction feature and use it for cylinders too
2021-04-05 14:35:50 +02:00
wmayer
021f42f828 PartDesign: for Prism feature use PrismExtension 2021-04-05 13:25:36 +02:00
wmayer
4b2a30312e PD: [skip ci] fixes #0004139: Macro - SubtractivePipe attached path object issues after macro executed 2021-03-29 10:43:08 +02:00
wmayer
2565ef5f69 PD: in setEdit() helper function make sure that recorded macro is handled as Gui command 2021-03-28 18:39:44 +02:00
wmayer
27049b3e54 PD: remove superfluous code block from Helix::execute 2021-03-28 13:38:53 +02:00
wmayer
2df88592ec PD: replace error-prone strings with enum to handle different helix modes 2021-03-28 13:37:13 +02:00
tomate44
1a8b840709 PartDesign Helix: update NbTurns in Pitch-Height-Angle mode 2021-03-28 13:13:10 +02:00
Chris Hennes
dd8447445a [PD] Misc. small LGTM fixes 2021-03-28 11:39:04 +02:00
Yorik van Havre
511df2fa5d Merge pull request #4630 from luzpaz/typos
Fixed misc. typos [skip ci]
2021-03-26 11:29:34 +01:00
donovaly
00a7221a95 [PD] some fixes for the new pad length feature
- disable 2 properties when no custom direction is used
- rename a property because its name is the opposite of what it is doing
2021-03-25 17:44:30 +01:00
wmayer
09f93b2e8d PD: fix several issues in pad:
* pass boolean instead of int to setValue of PropertyBool
* support of symmetric option for two-length mode
* fix bug in TaskPadParameters::updateUI()
* remove strange acronyms from method names
2021-03-22 16:40:15 +01:00
donovaly
2d447d2560 [PD] add along length option for pad
- as discussed here: https://forum.freecadweb.org/viewtopic.php?f=17&t=50466&start=10#p433327
this PR is the first step for new Pad features.
It implements 3 features requested by users:
1. an option to measure the pad length along its direction if there is a custom direction
2. when there are two lengths, the reverse feature should be active
3. the pad dialog shows now always the used pad direction, no matter if it is a custom one or the sketch's normal

- Furthermore there are some code improvements (avoid rounding and blocking signals)

- Also adapt TestPad.py because its test used the case two lengths + reversed but this was not possible before this PR - the reverse option was not take into account for two lengths in FeatureSketchBased.cpp)
Now it is and therefore the test must be updated:
In the test the second sketch has the normal vector 0, -1, 0. As the reverse option is set the pad direction is 0, 1, 0. So in y direction is the length (1mm) and in -y direction is length2 (2mm). This gives together with the other pad of volume 1, a total volume of 4.

- fix UI issue: either reversed or midplane
As noticed by @chennes, when the pad uses symmetric, reversed is not sensible and vice versa.
This commit fixes the missing Gui side for the case midplane is checked and the App side.

- the PR also fix two typos
2021-03-22 16:36:04 +01:00
luz paz
9a3724c11b Fixed misc. typos [skip ci]
Found via
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./build/doc/SourceDocu
```
2021-03-21 07:38:41 -04:00
wmayer
cb41286beb PD: adjust unit test for mirrored offset that doesn't fail any more 2021-03-13 14:48:16 +01:00
wmayer
5e71f945c4 PD: remove empty try/catch block 2021-03-13 14:48:16 +01:00
David Osterberg
482129c5a4 PartDesign: Transformed. Fix regression in preview 2021-03-13 14:48:16 +01:00
David Osterberg
b7ac48aef7 PartDesign: Transformed. Fix regression for Mirrored, and multiple features 2021-03-13 14:48:16 +01:00
David Osterberg
79facc579e PartDesign: Transformed: Allow explict selection of overlap mode 2021-03-13 14:48:16 +01:00
David Osterberg
34fbe57485 PartDesign: Performance improvements in Transformed (pattern)
- Use fuzzy fuse/cut method with tolerance Precision::Confusion()
- Use parallel computation feature
- Allow that individual patterned item fail to intersect the baseobject.
	Issue warning instead of error. This was done for performance reasons
	but it can also be considered a feature.
- Simplify the code a bit
- Distinguish between overlapping mode and non-overlapping mode. In non-overlapping mode
  the tool shapes are compounded instead of fused. For huge benefit in performance.
2021-03-13 14:48:16 +01:00
David Osterberg
f824603614 PartDesign: New input mode, and allow spirals to be created 2021-03-10 15:36:40 +01:00
David Osterberg
b185dacdde PartDesign: Hole performance: Compound holes and cut once
- Remove unused code
- BooleanOperation trick

For some reason doing the cut in a boolean operation is
20% faster than doing it directly. Unclear why.
2021-03-08 15:30:24 +01:00
wmayer
215eeb0afa PD: [skip ci] in the helix dialog use step size of 5 degree for the angle 2021-03-04 11:09:54 +01:00
donovaly
feabd1af30 [PD] use same helix angle step as for other features
All other PD features use a step size of 1.0 for angles.

(Personally also for me a step of 5 is not convenient)
2021-03-04 11:08:41 +01:00
donovaly
21d4a37e1f [PD] set App constraints for their Gui counterparts
based on Werner's work yesterday, this PR takes care of the missing PD features to use the constraints already defined in App
2021-03-04 11:03:24 +01:00
wmayer
cffe8d19fd PD: [skip ci] in the helix task dialog use the value range defined in the helix feature 2021-03-03 17:40:11 +01:00
donovaly
fc36ab6c64 [PD] set constraints for helix properties
at the moment it is possible by a click to set e.g. -1 turn which would cause an error
2021-03-03 17:25:40 +01:00
David Osterberg
34a44073c1 PartDesign: Allow customization of Helix preview modes 2021-03-03 17:15:08 +01:00
M G Berberich
ba5c438ec2 [PD] fixes problem with the path for user-defined hole-cut-types
https://forum.freecadweb.org/viewtopic.php?f=19&t=51403&start=20#p482574
2021-03-03 16:02:17 +01:00
donovaly
1376931758 [PD] make constraints static class member
the MSVC IDE warned me about different floatAngle definitions in PD
2021-03-03 15:58:22 +01:00
donovaly
ab29cf5740 [PD] attempt to use more reasonable angle limit for drafts
using e.g. 89.999 as angle works. It might not be useful in real life, but the 89.99 seem arbitrary.
2021-03-03 15:56:21 +01:00
wmayer
3afe40d8ce PD: AddressSanitizer: heap-use-after-free
Fix crash inside TaskDlgSketchBasedParameters::reject()
2021-03-03 15:53:12 +01:00
wmayer
70ca3580a1 PD: improve task panel for revolution/groove:
* set range Angle property to spin box
* connect signals after initializing widgets to avoid superfluous recomputes
2021-03-03 15:42:48 +01:00
wmayer
6364a4cb7d PD: [skip ci] set value range to angle spin box 2021-03-03 15:22:53 +01:00
wmayer
ea0f95739b PD: [skip ci] fix angle checks for groove and revolution 2021-03-03 14:56:16 +01:00
wmayer
86751fd944 PD: [skip ci] set angle constraints for groove 2021-03-03 14:55:19 +01:00
donovaly
2caa07c291 [PD] disallow angles <=0 for holes and revolution
neither the taper, drill or countersink angle can be zero or negative for a valid hole, thus set a constraint
2021-03-03 14:33:01 +01:00
wmayer
07a59e242d PD: [skip ci] fix angle check in PolarPattern::getTransformations() 2021-03-03 10:39:41 +01:00
wmayer
dd31be3b19 PD: improve task panel for polar patterns:
* set range of Occurrences property to spin box
* connect signals after initializing widgets to avoid superfluous recomputes and possible inconsistencies
2021-03-03 10:32:46 +01:00
wmayer
7b43f7e996 PD: improve task panel for linear patterns:
* set range of Occurrences property to spin box
* connect signals after initializing widgets to avoid superfluous recomputes and possible inconsistencies
2021-03-03 10:32:02 +01:00
donovaly
20024707a9 [PD] disallow invalid polar and linear pattern settings
as discussed in 423d41da19 we should disallow invalid property settings
2021-03-03 07:45:08 +01:00