* Update spec file
use custom macro to package the source file
reformat freecad.spec
add script for build from source archive
use bcond macro
use standard builddir and don't delete it to fast local rebuild
configure cmake correctly to avoid moving file later
add tests
remove python bytecompile is default
build in RelWithDebInfo to generate correctly the debuginfo package (debug info will be stripped from standard package and a debuginfo package will be generated
export dev package for ondselsolver
export libondselsolver
use new macro for filtering requires provides
simplify regexp.
remove delete unused source
enable gui tests
other fix
Disabile gui test to avoid timeout
add timeout to tests
remove rpkg macro for archive extraction
refactor prepare for packit
small fix
Update package/fedora/freecad.spec
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
small fix
change packit configuration
fix format
fix packit
/packit build
authomatic build on commit
remove libkdtree++-devel missing in rawhide
* add packit configuration
escape changelog for spec file
add new build on release
simplify configuration to use only packit
remove script used to have only a spec file and build with 3 system
rpkg
custom bash script
packit
* add tests in test-farm
add test that read build time tests result
use default build type for pr build and always print buiild time tests result
fix and disable option without bundled_gtest
Update package/fedora/freecad.spec
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
Update package/fedora/freecad.spec
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
* add github action
Update fedora-daily.yml
Potential fix for code scanning alert no. 203: Workflow does not contain permissions
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* Update spec file
use custom macro to package the source file
reformat freecad.spec
add script for build from source archive
use bcond macro
use standard builddir and don't delete it to fast local rebuild
configure cmake correctly to avoid moving file later
add tests
remove python bytecompile is default
build in RelWithDebInfo to generate correctly the debuginfo package (debug info will be stripped from standard package and a debuginfo package will be generated
export dev package for ondselsolver
export libondselsolver
use new macro for filtering requires provides
simplify regexp.
remove delete unused source
enable gui tests
other fix
Disabile gui test to avoid timeout
add timeout to tests
remove rpkg macro for archive extraction
refactor prepare for packit
small fix
Update package/fedora/freecad.spec
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
small fix
change packit configuration
fix format
fix packit
/packit build
authomatic build on commit
remove libkdtree++-devel missing in rawhide
* add packit configuration
escape changelog for spec file
add new build on release
simplify configuration to use only packit
remove script used to have only a spec file and build with 3 system
rpkg
custom bash script
packit
* add tests in test-farm
add test that read build time tests result
use default build type for pr build and always print buiild time tests result
fix and disable option without bundled_gtest
Update package/fedora/freecad.spec
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
Update package/fedora/freecad.spec
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
* add github action
Update fedora-daily.yml
Potential fix for code scanning alert no. 203: Workflow does not contain permissions
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* tentative fix test
* add verbose failed tests
* fix ctest
* Remove error file if 2 time is successful
* Update plan.fmf add IfcOpenShell-python3
* Update .packit.yaml
Update freecad.spec
Update plan.fmf
Update .packit.yaml
Update plan.fmf
* Update freecad.spec
* restore version
* add rpm cmake preset
* update tests
* add qt6-assistant deps
* use xvfb-run for QuantitySpinBox test
* fix ctest command
* clean
* restore Addon Manager: Add defusedxml dependency
---------
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* [ArchStairs] Fix Wrong Height when toSlabThickness & Landings AtCenter are set
Fix#24408
This fix both Stairs Flight set as Straight and HalfTurnLeft/Right
* [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>
As the title says. Currently when user exports to DXF, centerlines and
cosmetic edges appeared offset below their correct positions. The offset
was visible when opening exported DXF file in CAD software - centerlines
were displaced downward where they should be.
The issue was that cosmetic edges are already stored with the correct Y
orientation and should not be mirrored during export, so this caused
centerlines to be mirrored when they shouldn't be, resulting in
incorrect Y position.
So this is just a small modification to cosmetic edge export to skip the
Y-axis mirroring step.
When importing DXF files using the C++ importer, TEXT and MTEXT entities
had incorrect heights. For example:
- text with height 100mm in the DXF file was imported as 35.28mm in FC.
The scaling factor was consistent to be 0.3528.
The issue was that we were applying a point-to-millimeter conversion to
the text height , but that seems to be incorrect since according to DXF
spec, TEXT and MTEXT entity heights are always specified in drawing
units, not in points, so just remove that code.
Similar case to the previous commit related to closed polylines having
coincident vertices, but this time for import. Basically if importing
DXF files containing closed polylines, FC would throw an exception.
This was because `BuildWireFromPolyline()` function in the DXF importer
attempted to create a closing edge for closed polylines by connecting
the last vertex back to first vertex.
So, this patch adds a skip for the closing edge if the vertices are
coincident.
AS the title says - when exporting closed curves (ellipses for example)
as polylines with the "Treat ellipses and splines as polylines" option,
the generated DXF file contained duplicate vertices. For example, an
ellipse polyline would have vertex1 and vertex40 which are identical in
terms of coordinates. This has caused exception upon importing.
Cause of that was that discretizer was blindly iterating through all
discretized points without checking if the first and last points are
coincident.
So, this patch adds a check for that to detect and skip the last
coincident point if it is in fact coincident during Export.
Currently if users enabled the "Treat ellipses and splines as polylines"
option in DXF export preferences and exported them, they were still
being exported as native primitives.
This was because we were reading from a wrong preferences location, UI
stored it in `BaseApp/Preferences/Mod/Draft`, but it was read from
`BaseApp/Preferences/Mod/Import`. Since the pref didn't exist, we were
taking default value which was set to `false`.
So the solution is obvious - just set it to the correct path.
When a profile-based beam had its Base property cleared and the model
was recomputed, the beam would rotate 90 degrees, changing its direction
completely.
Profile objects are always created in the XY plane with Width along X,
height along Y and normal along Z. However, if Base is cleared, fallback
code always used YZ plane orientation for beams. This resulted in a
different orientation during cleaned Base property.
Fix is to check if we are profile-based or not and if yes, use XY plane
orientation, while we don't have this property then just use YZ plane
orientation (preserving traditional horizontal behavior).
* Assembly: Fix Iisolate issue when obj and link both in assembly
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update src/Mod/Assembly/Gui/ViewProviderAssembly.cpp
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
* [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>
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
* Sketcher: Do not open command if one is pending in doSetVisible
* [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>
Currently `removeSplitter()` function attempts to merge coplanar faces
by using `ModelRefine::FaceUniter`, which internally uses
`BRepBuilderAPI_Sewing`. This can fail in several scenarios, like
inability to produce a valid shell, failing in face unification due
to geometry incompatibilities, or when we have tolerance issue in the
reconstructed geometry from glTF triangulation that prevent us from face
merging.
That leads to the exception, which we are not handling correctly where
it's being handled the same way as this patch introduces in other parts
of FreeCAD.
So, this patch adds a try-catch block around `removeSplitter()` to
gracefully handle `Standard_Failure` exception and return the sewn shape
instead of crashing. Imported model will contain more individual faces
than necessary (since coplanar won't be merged), resulting in a more
complex topology in the places of those fails, but geometry and visual
appearance will be preserved.
* BIM: Implement double-click event for materials group
Add double-click handling for materials group in Tree View.
Fixes: https://github.com/FreeCAD/FreeCAD/issues/24766
* [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>
This patch adds handling for different contexts that Clarify Selection's
long press may occur in. For example, different navigation styles,
transform tool, or dragger presence.
This way we are sure that the context menu for Clarify Selection won't
be popping up for the user when using one of the above-mentioned
contexts.
Also, this adds handling for different navigation styles, to accept
CTRL+LMB as the long press mouse-key combos, instead of just
long-pressing LMB, as in those navigation styles LMB is mostly used as
rotation.
As the title says. Two preferences, that reflect what has been added previously
- now the users can disable LMB at all, or increase the timeout through prefs.