Commit Graph

47 Commits

Author SHA1 Message Date
pre-commit-ci[bot]
25c3ba7338 All: Reformat according to new standard 2025-11-11 13:49:01 +01:00
captain0xff
6e896b1248 PartDesign: add interactive gizmos 2025-08-30 17:02:52 +02:00
theo-vt
7481a5d8dd PartDesign: Hole: get direction from cylindrical surface rather than normal (#22393)
* PartDesign: Hole: Find direction of cylindrical face in Hole::execute instead of FeatureSketchBased::getProfileNormal

* PartDesign: Minor cleanups in guessNormalDirection

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-07-28 02:06:50 +00:00
David Tanana
e17a83fa1f PartDesign: Added 1 3/16 16 threaded drill hole diameter (#22000)
* Adding UNf 1 3/16  16 to this list
* Updating type and test params
2025-06-17 08:59:00 -05:00
Alfredo Monclus
07e7918baf PD: hole calculate counterbore and countersink if no standards are available 2025-05-23 20:51:35 -06:00
theo-vt
774ec2cc93 PartDesign: Center holes on sketch points as well as circles and arcs (#20583)
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-04-21 23:30:57 +02:00
Alfredo Monclus
70007a28c1 refactor: add disambiguation to clearance hole names and use names from the standard (#19869)
* PD: refactor: threadFit use standard naming and add disambiguation

* PD: fix: do not use variables for tr
2025-04-21 09:54:23 -05:00
Chris Hennes
c962dbbeb6 Merge pull request #19167 from alfrix/hole_new_taskpanel
feat(PD): hole taskpanel: new image based cut panel
2025-02-11 17:22:16 -06:00
Alfredo Monclus
be3ce13a7c PD(hole taskpanel): Add image-based hole cut panel
* feat(PD): hole taskpanel: new image based cut panel
* fix(PD): hole taskpanel fix dynamic cut types
* refactor(PD): hole taskpanel: renames and vlayouts to keep labels closer
* fix(PD): hole diagram tweaks
2025-02-11 11:31:17 -06:00
Alfredo Monclus
dc53d3dba2 feat(PD): guess closest thread designation
fixes metric to metric-fine not working when switching threadtype from cli and property panel and the cases when changing from metric to inch based types and vice-versa
2025-02-10 10:32:52 -06:00
Alfredo Monclus
932c8d6476 refactor(PD): change threadDescription into a vector 2025-01-18 10:07:19 -03:00
Alfredo Monclus
3f58f83f2d refactor(PD): dynamically set threadSize enums 2024-12-22 17:21:36 -03:00
Alfredo Monclus
58344a5904 refactor(PD): rename CoreHole to TapDrill
using a drill and cutting tap is not the only method to create a thread, and this sizes should be optional. i would prefer using the minor diameter of threads, leaving full thread depth and let the user adjust according to their needs using the custom clearance
2024-12-20 07:51:34 -03:00
Alfredo Monclus
003e239daf feat(PD): set the proper angle for threads and countersinks
apply the recommended thread angle only if the user hasn't set an angle
2024-12-20 07:51:34 -03:00
Alfredo Monclus
ce91285e4d feat(PD): BSF threads 2024-12-20 07:51:34 -03:00
Alfredo Monclus
edb565046d feat(PD): BSW threads 2024-12-20 07:51:34 -03:00
Alfredo Monclus
588f4c3b00 feat(PD): ANSI pipe threads 2024-12-20 07:51:33 -03:00
Alfredo Monclus
acf04c7f1e feat(PD): BSP - British standard pipe threads 2024-12-20 07:51:33 -03:00
Alfredo Monclus
db1b0c56bf fix(PD): complete ISO-273 2024-12-20 07:51:33 -03:00
Zheng, Lei
b2d6787571 Transfer FeatureHole code 2024-09-21 14:53:33 -04:00
wmayer
ca1cb21498 PD: modernize C++: use equals default 2023-08-22 13:31:17 +02:00
wmayer
89d529ab7b modernize C++: use using 2023-08-06 23:17:10 +02:00
wmayer
2062f9ce87 clang: fix warnings [-Winconsistent-missing-override] 2022-08-09 17:36:25 +02:00
berniev
ddafb98813 Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
berniev
da9ebc572f Mod: redundant void 2 2022-08-08 10:27:50 +02:00
wmayer
02bd57ac82 PD: Fix several coverity issues:
* CID 350622: Negative array index read
* CID 350613: Negative array index read
* CID 166163: Negative array index read
* refactor Hole::updateDiameterParam()
2022-03-13 12:10:01 +01:00
wmayer
b05fb73196 PD: [skip ci] refactor Hole feature 2022-02-26 17:06:38 +01:00
wmayer
3ce87cb2fa PD: [skip ci] refactor Hole feature 2022-02-26 16:48:37 +01:00
wmayer
9ddfcb89a5 PD: [skip ci] fix const correctness in Hole feature 2022-02-26 16:34:44 +01:00
wmayer
df0fac1de8 PD: [skip ci] refactor Hole feature 2022-02-26 16:18:20 +01:00
wmayer
4753b0232d PD: fix error 'gp_Dir::Crossed() - result vector has zero norm'
As reported here: https://forum.freecadweb.org/viewtopic.php?f=3&t=65826
2022-02-26 16:07:35 +01:00
donovaly
c0de42335b [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
David Osterberg
d3ddbe8549 PartDesign: Add true threads to Hole
- Thread runout according to DIN 76-1
- Through all length updated to be calculated based on bounding box
- New properties: ModelThread, ThreadDepthType, ThreadDepth,
                  UseCustomThreadClearance, CustomThreadClearance
- Rename Old but unused parameters related to thread modeling.
- Functionality exposed in UI
2021-02-28 20:13:14 +01:00
Chris Hennes
ea67e77e81 [PD] Add missing ctor variable init (Coverity)
The "angle" variable was not being initialized in any of the
constructors for the CutDimensionSet, and nothing was being initialized
by the default constructor. This commit adds angle as an optional final
argument to the parameterized constructors, defaulting to 0.0, and adds
default values to the default constructor using the first of each enum
and 0.0 for the angle. The default constructor is required elsewhere in
the code so cannot be trivially removed. Issue identified by Coverity.
2021-02-09 20:19:38 +01:00
donovaly
1c58c3b677 [PD] hole fix custom cut handling
This PR is based on PR #4344 and a spin-off of PR #4337. It fixes:

We have normed screw head cuts. These values can be overridden but we must store the info about the overriding. Why? - because when you have e.g. made a custom change to a normed countersink and then change to another countersink norm, you would either not get the values defined in the norm or you get these values but loose e.g. your depth settings
2021-02-03 16:23:28 +01:00
donovaly
c676c07316 [PD] fix UTS clearance holes
This PR is based on PR #4343 and a spin-off of PR #4337. It fixes:

- the bug that we did not use the normed clearance hole diameters for UTS holes
- missing recompute when changing existing hole from Metric to UTS type
2021-02-03 16:19:24 +01:00
donovaly
7306ed28b0 [PD] fix blind hole depth handling
as reported in https://tracker.freecadweb.org/view.php?id=3818
we treat the blind hole depth not according to the conventions. The size of the drill point due to the angle is normally not taken into account but FC does this in any case.

This PR adds therefore an option, that is by default off, to take the drill point size into account.
Without the option, (the new default) the depth is calculated according to the conventions.

The PR also removes unused widgets and restored the tab order in the .ui file. The thread parameters were never used. In case we made in future the decision to carve into holes real (modeled) threads, we need a special UI for that solution anyway so having the dead code in is not helpful at all.
2021-01-25 01:10:23 +01:00
donovaly
5637c6a7a5 [PD] make threaded holes norm-conform
- the diameters of holes for threaded holes were only norm-conform for metric fine
- add missing UNC/F/EF sizes
- add a clearance diameter
2020-12-01 15:17:31 +01:00
donovaly
371c23a584 [PD] more hole fixes
- there is the ISO 273 describing clearance holes, so we need to take these values. Only if we have a size not defined in the norm, we calculate
- add the coarse (wide) type for clearance holes from ISO 273
- add all screw thread sizes defined in DIN 13/ISO 261
- rearrange thread dialog to make it more compact
- change name "fit" to "clearance" as discussed
- add tooltips to the dialog
- fix issue with TaperedAngle dialog field
- change a size name because the norms define "M1" not "M1.0"
2020-11-18 14:45:14 +01:00
M G Berberich
04be99a2aa cut-profiles with identical names for different threads
Allow cut-profiles with identical names for different threads.
see:
https://forum.freecadweb.org/viewtopic.php?f=19&t=51491&start=60#p446854
https://forum.freecadweb.org/viewtopic.php?f=19&t=51491&start=60#p446902
2020-11-12 17:38:18 +01:00
wmayer
9eb080488d PartDesign: [skip ci] minor cosmetic changes 2020-10-31 13:32:18 +01:00
M G Berberich
6d1b292280 [PartDesign] Dynamic hole cut-types
‣ Make countersink and counterbore on metric holes freely definable by user.

‣ Fixed the Naming of M1.6, M2, M2.5 and M3.5

‣ Added constructor for custom enums from Enums to PropertyEnumeration

‣ Put definitions of cut-types (counterbore/countersink) for
  screwtypes into json-files for easy modification.

‣ Allow users to put its own definitions in json-files in
  [UserDir]/Mod/PartDesign/Resources/Hole

‣ Contains several examples of cut-type definition json-files that are
  propably not production-ready.

This uses a local copy of nlohmann::json¹ to read json-files.

__________
¹ This is a very nice,header-only C++ library under the MIT License
  (https://github.com/nlohmann/json). I copied the single-file-version
  and the forward-declaration-header into …/PartDesign/App/ so no new
  dependencies arise.
2020-10-31 12:49:00 +01:00
Eivind Kvedalen
04b176ebfb PartDesign Hole Feature implemented.
Minor contributions from Mateusz Skowroński <skowri@gmail.com>
2017-07-26 23:39:00 +02:00
Stefan Tröger
f712f5e4ac PartDesign: Modeling features work with faces
-Rename Sketchbased to ProfileBased to show new behavior
-Adopt ProfileBased to make the relevant helper functions work with faces too
-Adopt features for unified use of helper functions
-Adopt commands to allow face selection
2016-04-12 18:12:22 +02:00
Stefan Tröger
9a2f5eea65 allow non-sketch based additive and subtractive features 2016-04-12 18:12:06 +02:00
logari81
53c07cf744 Add missing dllexport keyword to PartDesign classes 2012-09-06 14:21:55 +02:00
wmayer
120ca87015 + unify DLL export defines to namespace names
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5000 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-10-10 13:44:52 +00:00