Currently user has no possibility to insert Window to the host, if the
host is a Curtain Wall.
Solution is simple - just populate the array of acceptable hosts that
haven't been extended.
NOTE: Although this feels wrong, I've noted to change it as having some
kind of an internal flag allowing for add/remove for the host, since
extending this array looks like a really bad approach.
This PR adds the Global mode option to the ShapeString task panel.
Additionally:
* Rounding of coordinates caused by reading values from the task panel is avoided.
* Improved task panel layout: Height input above String input.
* Some code reformatting.
* Core: Fixed a bug where an empty document disappears
Created a flag named autoCreated to distinguish an autoCreated
document created in the startup from a manually document.
Implemented a setter and a getter for this new flag.
Added a codition that verifies if a document is autoCreated
when opening another document to close it in the correct case.
Implemented unit tests for theses cases. Fixes#19868.
Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>
* Tests: Fix failing auto-created document tests
Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>
* Tests: moved created tests to the existing Document test framework.
Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>
---------
Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>
* BIM: add tooltip info on how to insert the view on a particular page
* Fix typo
* BIM: split tooltip comment for better code readability
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
---------
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
* Gui: Gesture and MayaGesture style disable H key in editing mode
* Gui: MayaGesture style go back to IDLE after dragging/panning/zooming
* Gui: MayaGesture more Maya like zoom behavior
* Update helix.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>
* Materials: Model Manager External Interface
Implement the ModelManagerExternal class for the external Materials
interface.
This is part of the ongoing merges of code to support external material
interfaces. In this PR the ModelManagerExternal class is implemented,
along with changes to supporting classes required for this class.
* Apply reviewer feedback
* [ArchStairs] ArchSketch Support and Refactoring Phase 2
Phase 2 Subsequent to https://github.com/FreeCAD/FreeCAD/pull/20069
FC Forum Discussion:-
https://forum.freecad.org/viewtopic.php?p=814274#p814274
ArchSketch Support, PropertySet, and Refactoring to enable more complex Stairs shape.
* [ArchStairs] ArchSketch Support and Refactoring Phase 2 - Typo fix
* [ArchStairs] ArchSketch Support and Refactoring Phase 2 - Clean up Tab
* Core: Introduce PDF Import-Export dialog
Currently, we only have hardcoded exporting to one pdf version, which
leads to (as in one of the below issues) to problems, such as
non-transparent layers, which are by default not supported in PDF/A-1b.
So, this patch adds an option to the user to select their preferred PDF
version by introducing new dialog under Import-Export in Preferences,
and allowing to update that version before exporting.
* Core: Add informational messages regarding selected PDF format
* Gui: Handle Qt < 6.8 unsupported PDF format
* Gui: Switch PDF export prefs dialog to use tr()
* Gui: Remove center alignment of PDF version description
---------
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
* add precision Parameter for importSVG to preferences
* rewrite svgpath import
reorganize the existing svg interpretation code snippets by dividing the responsibilities for data provision and actual shape generation.
That bears the opportunity to optimize the resulting construction data regarding consistency and precision.
* create cuts from inner paths
organize paths in a tree structure where completely contained paths are children of their sorrounding paths
In a second step the even depth paths are cut with their respective (uneven depth) children.
* move svg path import logic into its own module
* Restructure how the import result is controlled by preferences.
* reintroduce alternative transform function
Using transformGeometry() on shapes results in degenerations like lines mutating to bsplines of 1st order. For non-orthogonal Transformations this can't be avoided. But for orthogonal transformations (the majority) we can apply those transformations without degeneration.
The necessary function including fallback to transformGeometry() is already in the code but was disabled due to a regression.
See: https://tracker.freecad.org/view.php?id=2062
Associated commits: f045df1e2509e59bd4f3cb72
I reactivate the code since the degeneration of paths seems a bigger issue to me than misformed svg files producing incorrect measurements. Degenrated paths are often the culprit for later arising 3D-calculation errors.
* avoid path degeneration by keeping scale transformations uniform
* repair style application on shapes
the style should be based on the configured svgstyle mode in the svgimport preferences.
* improve logging of face generation.
* refactor: rename _precision_step to _tolerance
naming according to example set in draft utils.
* fix: indentation
* spelling