Commit Graph

2689 Commits

Author SHA1 Message Date
wmayer
c4d8de3992 Part: don't restrict width of group boxes in section cutting dialog 2023-02-22 21:06:12 +01:00
Syres916
8215af8906 [Part] Fix Geometric Primitives task panel bug
See discussion https://forum.freecad.org/viewtopic.php?t=76218
2023-02-22 14:27:58 +01:00
wmayer
643a71ae6e Part: add integration tests 2023-02-14 22:56:42 +01:00
wmayer
454c580457 Part: creating a NURBS of a circle or ellipse doesn't respect any transformation
Example:

mat = App.Matrix()
mat.rotateX(1)
mat.rotateY(1)
mat.rotateZ(1)

circle = Part.Circle()
circle.Radius = 5
circle.transform(mat)

circle.transform(mat)
Part.show(circle.toShape())

nurbs = circle.toNurbs()
Part.show(nurbs.toShape())

arc = circle.trim(0, 2)
nurbs = arc.toNurbs()
Part.show(nurbs.toShape())

spline = circle.toBSpline()
Part.show(spline.toShape())

#-------------------------

ellipse = Part.Ellipse()
ellipse.MajorRadius = 5
ellipse.MinorRadius = 3
ellipse.transform(mat)

ellipse.transform(mat)
Part.show(ellipse.toShape())

nurbs = ellipse.toNurbs()
Part.show(nurbs.toShape())

arc = ellipse.trim(0, 2)
nurbs = arc.toNurbs()
Part.show(nurbs.toShape())

spline = ellipse.toBSpline()
Part.show(spline.toShape())
2023-02-14 22:56:42 +01:00
Yorik van Havre
0566d90cc5 merged crowdin translations 2023-02-13 15:45:26 +01:00
Yorik van Havre
63e4a36000 updated ts files 2023-02-13 15:45:26 +01:00
Uwe
f7df219b7b [Part] extend SectionCutting feature for intersecting objects
- it is a well-known and often feed-backed missing feature that SectionCuttings fails for intersecting objects.
To resolve this, the objects must be put int a BooleanFragments object.
- this PR adds this functionality as option.
- since a BooleanFragments objects has a specific color, the different colors of the objects cannot be preserved. Because of this disadvantage, the BooleanFragments option will not be the default.

- this PR also modernize all for loops
2023-02-13 00:46:37 +01:00
wmayer
d6208d9b9a Part: fixes to create a NURBS for the arc of a conic
See forum: https://forum.freecad.org/viewtopic.php?t=75846
2023-02-12 19:45:00 +01:00
Yorik van Havre
d8b0e64e14 Merged crowdin translations 2023-02-07 15:55:31 +01:00
Yorik van Havre
94cd431eb2 updated ts files 2023-02-07 15:55:31 +01:00
Uwe
06e0f477a6 [Part] [skip ci] update a tooltip
- since FC 0.20 we require OCC 7.4
2023-02-03 12:15:28 -06:00
Pascal de Bruijn
c767880908 Increase mesh generation output quality 2023-02-03 12:08:10 -06:00
Pascal de Bruijn
3ecff9588e Tools: tweak mesh generation
Mesh generation parameters are taken from PrusaSlicer's STEP importer,
which does a just-in-time STEP->STL conversion in memory.

Resulting meshes have better geometry, but are a little larger as a result.
2023-02-03 12:08:10 -06:00
wmayer
083da6cf03 Part: replace slots with member function pointers 2023-02-03 00:21:38 +01:00
wmayer
28df3265cc Part: put instantiation of BRepAdaptor_Surface into try/catch block as for some broken faces it may fail 2023-01-31 11:04:38 -06:00
Yorik van Havre
80c68fa4df Merged crowdin translations 2023-01-30 10:04:15 +01:00
Yorik van Havre
81552acdeb update ts files 2023-01-30 09:55:26 +01:00
wmayer
7553c87cc9 Part: add integration test for SectionCut command 2023-01-28 19:51:20 +01:00
wandererfan
80da187cd7 [Part][Draft]fix #8271 temporary files on windows 2023-01-28 07:13:05 -08:00
wmayer
756bbe9085 Part: fix crash in SectionCutting dialog
It segfauls when executing the script below:
doc = App.ActiveDocument
box = doc.addObject("Part::Box", "SectionCutBoxX")
comp = doc.addObject("Part::Compound", "SectionCutCompound")
comp.Links = box
grp = doc.addObject("App::DocumentObjectGroup", "SectionCutX")
grp.addObject(comp)
doc.recompute()
2023-01-26 09:29:01 -07:00
Uwe
a19980ba31 modernize a for loop 2023-01-25 17:48:08 -07:00
Uwe
050708e564 [Part] SectionCutting: avoid to recompute all cuts on color change
- it is not necessary and speeds up the workflow for large assemblies
2023-01-25 17:48:08 -07:00
Uwe
ce8aea5dd2 [Part] fixes for the section cutting feature
- a typical use-case is to open a document with an existing cut and only this cut is visible. When now opening the section cutting tool, the user got the fault message that there were no visible objects to be cut.
- the transparency for the cut was not explicitly set. Therefore the default transparency for new objects was used instead of the transparency of the objects to be cut.
- workaround for a graphics issue: when cutting objects intersection each other (only then), the transparency setting might be ignored. The fix is simply to change the default color slightly (By the way, this issue is independent on the color that is set in the Part preferences as color for new objects, seems to be a graphics driver or OCC issue.)

- besides this, avoid code duplication by using a lambda function
2023-01-25 17:48:08 -07:00
Yorik van Havre
433b17b829 Merged crowdin translations 2023-01-23 11:25:49 +01:00
Yorik van Havre
5033f64ce9 Merged crowdin translations 2023-01-17 09:40:31 +01:00
Yorik van Havre
12239f7f99 Updated ts files 2023-01-17 09:24:46 +01:00
Ajinkya Dahale
11eb9e754f [Part] Limit periodic B-spline degree to number of poles
This leads to issues down the line in Sketcher. If there is a reason this should
be permitted within Part, then Sketcher needs to be adjusted.
2023-01-16 16:45:17 +01:00
wmayer
0680121bd1 Part: move to new style connect() 2023-01-13 17:14:07 +01:00
Abdullah Tahiri
152dda172c Part/Sketcher: Geometry/Geometry facade pass by const-reference instead of by value 2023-01-09 17:13:26 +01:00
Yorik van Havre
ec6b14bbee Merged crowdin translations 2023-01-09 14:06:28 +01:00
Yorik van Havre
c1160c598a Updated ts files 2023-01-09 13:24:16 +01:00
wmayer
be9634b23c Part: move to new-style connect of DlgPrimitives dialog 2023-01-04 13:06:26 +01:00
wmayer
6eac8fe8b2 Part: move to new-style connect of DlgPrimitives dialog to make it also working with Qt6 2023-01-03 17:09:49 +01:00
wmayer
f1481b1f0c Part: refactor DlgPrimitives dialog 2023-01-03 15:53:12 +01:00
Uwe
df8cd6009f [Part] ViewProvider.cpp: add include needed for Qt 6
- as reported in #8053, QObject has to be included to be able to compile with Qt 6
2022-12-23 01:54:36 +01:00
Yorik van Havre
89147ef8de Regenerated ts files using lupdate6.6 2022-12-22 15:39:42 +01:00
Abdullah Tahiri
f49fc46051 Part: Geometry
==============

End parameter must be strictly higher to require a wrap.

Settling discussion:
https://github.com/FreeCAD/FreeCAD/pull/6971#discussion_r917295684
2022-12-21 16:01:23 +01:00
Ajinkya Dahale
2ca96161ed [Part] Fix periodic b-spline trim
When `v == u` we want to "break" the b-spline at `u` (also OCC will raise an
exception if same parameter is provided).

The range of parameter can in general be different than 1.0, so use a general term.
2022-12-21 16:01:23 +01:00
Yorik van Havre
3376e387da Merged crowdin translations 2022-12-20 10:01:00 +01:00
Yorik van Havre
d206d5cd1f Updated ts files 2022-12-20 09:31:25 +01:00
wmayer
b358407e3b Base: refactor InventorBuilder 2022-12-13 17:48:51 +01:00
Uwe
2b9a28e0ec remove some unnecessary Boolean checks
- checks for true/false and nullptr
2022-12-12 21:17:49 -06:00
wmayer
bc33b44f3e Mod: use new API of InventorBuilder 2022-12-12 20:50:32 +01:00
Uwe
3b0f96098e [Surface] enable precompiled headers
- also remove double code
2022-12-08 03:26:59 +01:00
Uwe
b4bb7c42b3 [Sketch] App: improve PreCompiled.h handling 2022-12-08 01:33:24 +01:00
Uwe
101ac1175d [Surface] App:: remove unused includes
- also some sorting
2022-12-08 00:34:08 +01:00
Uwe
5e4296bca8 [Part] improve PreCompiled.h handling 2022-12-07 23:20:46 +01:00
Uwe
0424ddc598 [PD] improve PreCompiled.h handling 2022-12-07 21:31:16 +01:00
wmayer
d21f9791b5 Part: add method TopoShape::isPlanar() 2022-12-07 15:18:04 +01:00
Ajinkya Dahale
06b30e1ec1 [Part] Add/change some methods in GeomBSplineCurve
Add `setPeriodic` to turn a b-spline periodic.
Allow `join` to join any bounded curve not just b-spline.
2022-12-04 08:17:20 +01:00