Commit Graph

31830 Commits

Author SHA1 Message Date
Roy-043
41b001e046 Draft: fix axis calculation in make_sketch
Fixes #18713.

The code follows the suggestion by imm/webmite:
https://forum.freecad.org/viewtopic.php?p=799014#p799014

@webmite Thank you.
2025-01-09 09:40:33 +01:00
Roy-043
161e8ed6ba Draft (and Pref Packs): fix snapcolor
Fixes #17978.
2025-01-08 18:11:42 +01:00
Roy-043
86a7cdd94c Draft: fix selection for FacebinderTaskPanel
See:
https://forum.freecad.org/viewtopic.php?t=93682
2025-01-08 14:36:07 +01:00
je-cook
a48688286d BIM: Speedup and refactor WebGL exporting (#18843)
* Stylistic changes and slight refactor

* speed up compression algorithm
2025-01-07 10:43:50 +01:00
Yorik van Havre
6e7a45f192 BIM: Added classifications support to nativeifc (#18444)
* BIM: Added classifications support to nativeifc

* BIM: Fixed lint warnings
2025-01-07 10:35:37 +01:00
Roy-043
9a7786edd8 Draft: Closed corners for extruded Facebinders (#18901)
* Draft: props_changed_placement_only should ignore material props

The new material related properties (Density, Volume and Mass) must be ignored by the `props_changed_placement_only` function.

Without this moving a Draft_Point will fail for example.

* Draft: Closed corners for extruded Facebinders

Fixes #13816.

The `makeOffsetShape` method that creates the extruded shape is quite picky. For example, it will work for a pyramidal shell (4 triangles) with a square floorplan, but not if the floorplan is slightly rectangular. To get closed corners the `Sew` property of the Facebinder must be set to `True`. If extruding does not work properly, the code will retry with `Sew` disabled.

There is also some code that tries to convert flat B-spline faces created between the main offset faces into planar faces. In some cases that code will fail (the results of `makeOffsetShape` can already contain errors). If that is the case the original shape created by `makeOffsetShape` is used.

* Rebase to restore base.py
2025-01-07 10:23:33 +01:00
JULIEN MASNADA
92bd91ea43 SH3DImporter: Fix walls Length attribute (#18854)
* Make IFC project optional

* make sure wall.Length is properly set

---------

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2025-01-07 10:03:02 +01:00
Roy-043
8157cfc054 Merge pull request #18899 from Roy-043/Draft-props_changed_placement_only-should-ignore-material-props
Draft: props_changed_placement_only should ignore material props
2025-01-06 20:33:41 +01:00
Roy-043
76c6f2df3a Part: Rename new datum commands
Fixes #18853.
2025-01-06 20:28:00 +01:00
Syres916
942402e92f [Techdraw] Import SVG files with UTF-8 encoding (#18816)
* [Techdraw] Fix importing SVG files with UTF-8 encoding

* [Techdraw] fix Lint feedback
2025-01-06 18:32:56 +01:00
FEA-eng
a823882dd3 FEM: Add accuracy parameter for CalculiX buckling analysis (#18790)
* FEM: Update solver.py

* FEM: Update write_step_equation.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-06 18:24:56 +01:00
FEA-eng
eca3dabcc9 FEM: Update magnetodynamic_writer.py 2025-01-06 18:24:05 +01:00
Roy-043
2a83c0f1ef Part: copy_visual_attributes did not handle Draft Link arrays
Fixes #16541.
Fixes #18760.
2025-01-06 18:16:46 +01:00
Benjamin Nauck
b9a8730145 Spreadsheet: Center text (v+h) vertical headers 2025-01-06 18:15:30 +01:00
WandererFan
91d7c875a5 [TD]Fix RichText parent in scene (fix #18283) (#18768)
* [TD]allow DrawViewAnno to be attached to another view

* [TD]allow image and spreadsheet attach to view

* [TD]ensure correct parent in scene

* [TD]refactor command helpers to separate file

- gathering the helpers in one place
- helper redundancy to be address in another change

* [TD]create symbol, spreadsheet, image with parent

* [TD]fix claimChildren for some views

- also includes many lint fixes
2025-01-06 18:11:25 +01:00
David Carter
738237ee22 Materials: Physical properties reversion
Reverts PR #17438

The PR experienced sever performance issues when the file contained
objects with errors. This PR removes the physical properties attributes
and its associated calculations.

It retains changes to the material filter funtions which were not
affected by the errors.
2025-01-06 18:07:59 +01:00
mosfet80
1d41253d1c Clean OpenSCAD2Dgeom.py 2025-01-06 18:04:07 +01:00
wmayer
b46e6dd1ce Part: Fix doc string of TopoShape.inTolerance 2025-01-06 18:03:10 +01:00
WandererFan
cfa4021cfc [TD]Symbol scaling (fix #14400) (#18757)
* [TD]add legacy/new svg scaling pref

* [TD]Change Svg scaling logic (fix 14400)
2025-01-06 18:02:37 +01:00
marioalexis
71f115fa31 Fem: Add suppressible extension to mesh element objects 2025-01-06 17:56:30 +01:00
marioalexis
4d5424e422 Fem: Add suppressible extension to objects - fixes #12115 2025-01-06 17:56:30 +01:00
Yorik van Havre
f7a39fc313 BIM: Quantities support for nativeIFC objects (#18689)
* BIM: Quantities support for nativeIFC objects

* BIM: Added nativeIFC support for schedules
2025-01-06 11:55:50 -05:00
wmayer
5402fcb3e3 Sketcher: Add an option to always add ext. geometry as reference 2025-01-06 17:48:00 +01:00
wmayer
d32bda7a0d Fix German translation
until the next download from crowdin
2025-01-06 17:25:44 +01:00
Roy-043
55f923b863 Draft: props_changed_placement_only should ignore material props
The new material related properties (Density, Volume and Mass) must be ignored by the `props_changed_placement_only` function.

Without this moving a Draft_Point will fail for example.
2025-01-06 17:23:37 +01:00
Roy-043
75700b2229 Draft: make_sketch.py: Use sketcher methods to add constraints (#18805)
* Draft: make_sketch.py: Use sketcher methods to add constraints

A sketch object has its own methods to add coincident, horizontal and vertical constraints. Using those methods allows to simplify the make_sketch.py code. The new code applies the mentioned constraints to the whole sketch,  instead of per object. The old code would not add coincident constraints between seperate, but connected, objects. the new code does.

Note that the code for point objects (not changed in this PR) does not work properly.

* Fix 2 issues

* The Sketcher detect functions need a tolerance argument.
* obj.Shape.copy() does not work properly for a Draft_Point. As a workaround a Part Vertex is created instead.
2025-01-06 14:56:53 +01:00
Yorik van Havre
df2869b0a5 BIM: Fixed nativeIFC license - issue #18622 2025-01-06 14:36:34 +01:00
Paul Lee
5e99383934 [ArchWall] Fix Regression - EnsureBase prevent creation without Base
Refer to discussion at -
https://github.com/FreeCAD/FreeCAD/pull/18651
https://github.com/FreeCAD/FreeCAD/issues/16409

Wall should do without Base. Base validity tested in execute() prevented the desired and documented behaviour.

EnsureBase() is remarked out in execute() and to be run in getExtrusionData().  With this fix, if there is no Base, or Base is not valid, Wall would be created as declared.
2025-01-06 11:49:50 +01:00
Paul Lee
9e42d21618 [ArchStairs] Improve Stairs Creation and ensureBase
Refer to discussion at -
https://github.com/FreeCAD/FreeCAD/pull/18864
https://github.com/FreeCAD/FreeCAD/pull/18651
https://github.com/FreeCAD/FreeCAD/issues/16409

Like Wall, Stairs should do without Base. Base validity tested in execute() prevented the desired and documented behaviour.

With this improvement, EnsureBase() is now only to be run when there is Base. If there is no Base, or Base is not valid, Stairs would be created as declared.
2025-01-06 11:46:10 +01:00
SurajDadral
d26f5cac4b BIM: fixes stirrups placement in ifc export
Fixes: https://github.com/amrit3701/FreeCAD-Reinforcement/issues/223
2025-01-06 10:32:23 +01:00
Roy-043
6505a2eb41 BIM: getDefaultColor: change transparency to alpha 2025-01-06 10:03:44 +01:00
Kacper Donat
6b4bc34214 Part: Extract methods from AttachEngine::readLinks 2025-01-04 16:32:52 +01:00
Kacper Donat
d7aa1bb2ef PD: Forward transform requests to Body 2025-01-04 16:32:52 +01:00
Kacper Donat
f9efd69040 Gui: Make ViewProviderLink based on ViewProviderDragger 2025-01-04 16:32:52 +01:00
Kacper Donat
4702c72fb8 Gui: Rework TaskCSysDragger into new Transform Dialog
This commit refactor ViewProviderDragger and TaskCSysDragger to be more
modern and to support selecting TransformOrigin.
2025-01-04 16:32:52 +01:00
Kacper Donat
e12bdfc29c Part: Add midpoint attachement mode
This adds midpoint attachement mode to Attacher. It works just like
method for finding placement of JCS in Assembly.
2025-01-04 16:32:52 +01:00
Kacper Donat
a71a67408b Part: Use TopoShape instead of TopoDS_Shape
This changes Attacher to use more our own TopoShape class which is more
information rich.
2025-01-04 16:32:52 +01:00
Roy-043
88804819c0 Draft: comment out 3 test files with only dummy tests
Some Draft test files contain only dummy tests (`aux.fake_function`). Running them will just open a new file and then immediately close it. This can result in issues with code that is called with a delay. See #18679. Disabling these tests by commenting them out avoids this.
2025-01-04 12:20:33 +01:00
Roy-043
14d5f6bb3c Draft: Minor cosmetic changes to test files 2025-01-03 22:11:05 +01:00
Roy-043
de5eca6627 Add another missing import 2025-01-03 20:32:17 +01:00
Roy-043
af2b7dde06 Add missing import 2025-01-03 20:10:47 +01:00
Roy-043
f46e37c2f0 Update CMakeLists.txt 2025-01-03 19:56:20 +01:00
Roy-043
5b720ea762 Draft: Introduce base classes for Draft tests
To avoid code duplication.
2025-01-03 16:51:42 +01:00
Zheng, Lei
2addda9126 Toponaming: import code related to ElementMapVersion from LS3
*Imported original code
2025-01-03 14:15:19 +01:00
Roy-043
98adfc09ec Draft: Make test_modification tests independent of fillmode
Fixes #18315.

In the issue discussion the more obvious solution (change the MakeFace property of the Draft_Wires) was missed.
2025-01-03 11:38:51 +01:00
wmayer
385f21a26e Core: Fixes #18717
Neither in #18332 nor in any of the referenced issues a reason is given why the placement of the coordinate axes must be changed.
Only doing it to make the client code look more consistent is not a valid reason.

This change breaks forward and backward compatibility and with #18717 we already have a hard to solve issue. Furthermore, at this
point of time it's not even clear what other collateral damage the change may cause.

So, this commit hides all the implementation details of the DatumElement and restores the original placement for the axes.
This commit makes the line migration code obsolete
2025-01-02 13:27:54 +01:00
wmayer
d15fd988a4 App: Add methods to get base and direction of datum element
Add the methods DatumElement::getBasePoint() and DatumElement::getDirection() to hide implementation details and guarantee consistent behaviour.

Using the methods fixes several regressions in:
* Constraint::getDirection
* PolarPattern::getTransformations
2025-01-02 13:24:57 +01:00
marioalexis
51bf119fe6 Fem: Use property constraints on mesh netgen object 2025-01-01 11:21:44 -03:00
wmayer
e56b85f6e1 Gui: Use bitmask instead of three booleans in setTemporaryVisibility to improve readability 2024-12-31 13:29:01 +01:00
PaddleStroke
4892fcaaf1 Core datums: Rework to improve new sketch 2024-12-30 09:05:44 +01:00