Commit Graph

169 Commits

Author SHA1 Message Date
marcuspollio
b543993a1b BIM: update Views Panel and Status Bar icons and some more (#23561)
* BIM: update View Panel and Status Bar icons and some more

* BIM: update icons - address review

* Update src/Mod/BIM/bimcommands/BimViews.py

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>

* Update src/Mod/BIM/bimcommands/BimViews.py

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>

---------

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2025-09-04 19:37:45 +02:00
luzpaz
8f53b5164a BIM: fix trailing whitespace and refine source comment grammar (#23496)
* BIM: fix trailing whitespace and refine source comment grammar

* BIM: remove unnecessary newline
2025-08-31 23:22:39 -05:00
Max Wilfinger
04e9baf533 Fix UI strings reported on Crowdin (#23297)
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-08-25 06:10:53 +00:00
Max Wilfinger
9fc40b33de Fix source string mistakes reported on Crowdin (#23157)
* Fix source string mistakes reported on Crowdin

* Update src/Mod/Draft/Resources/ui/TaskPanel_CircularArray.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/Resources/ui/TaskPanel_CircularArray.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftfunctions/upgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftfunctions/upgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftguitools/gui_downgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/Resources/ui/TaskPanel_SetStyle.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

---------

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>
2025-08-24 20:51:32 -05:00
Roy-043
34147736e2 BIM: change shortcut for Arch_Space 2025-08-24 22:30:14 +02:00
Vincenzo Calligaro
b3e11ecd11 [Feature Request] [Draft] [UI/UX] Allow to turn dimension arrows on/off individually (#11941)
* Update additional files

* The LineColor and LineWidth properties are removed from Text objects.
* Arrow properties are added by the ViewProviderDraftAnnotation class only. This avoids code duplication.

* gui_annotationstyleeditor.py fix except

* view_draft_annotation.py fix except

---------

Co-authored-by: Roy-043 <info@b-k-g.nl>
Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>
2025-08-14 10:44:49 +02:00
Max Wilfinger
70f4221993 Fix missed strings for UI consistency
Fix ellipsis rendering
2025-08-08 06:37:59 -05:00
Ryan Kembrey
627a89d8db BIM: Update UI string for consistency
Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>

Closes: #22328
2025-08-04 20:14:15 +02:00
luzpaz
f73e863a02 Fix various typos (#22836)
* Fix various typos
Found via codespell

* [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-08-04 11:14:15 -05:00
Luz Paz
9efd70ffa4 Fix various source comment typos
Found via codespell
2025-07-25 10:25:54 -05:00
Yorik van Havre
fd9f93f841 BIM: Prevent opening several Layer Managers - issue #17983 2025-07-21 11:01:39 -05:00
Roy-043
ff03f3f182 BIM: BimBox: improve length, width and height inputs
PR to make the handling of the mentioned inputs consistent with that of the X, Y and Z inputs: check for in-command shortcuts. and select only the numerical portion of the text on focus change.
2025-07-21 15:41:37 +02:00
Roy-043
2e4e661594 BIM: store Classification prefix setting 2025-07-12 13:25:23 +02:00
Roy-043
ff5a25784c BIM: fix autojoin behavior (#22303)
* BIM: fix autojoin behavior

* Use new deletebase argument of joinWalls

* Remove colon from task bar title
2025-07-08 15:19:19 +02:00
Roy-043
680be1548c BIM: fix profile selection (#22223)
* Update params.py

* Update ArchStructure.py

* Update BimProfile.py
2025-07-07 14:39:55 +02:00
Syres916
4f167b828b [BIM][Draft] QCheckBox fix regressions introduced by PR #21939 (#22199)
* [BIM][Draft] QCheckBox fix regressions introduced by PR #21939

* [BIM] Remove unwanted index values - CodeQL feedback
2025-06-27 11:25:36 +02:00
Roy-043
b9b600ae42 Update BimTDPage.py 2025-06-23 14:24:03 +02:00
Roy-043
b0f6375c5f Update BimProjectManager.py 2025-06-23 14:13:19 +02:00
Syres916
f674589fbe [BIM] Fix Runtime Error when creating Wall (#21862)
* [BIM] Fix Runtime Error when creating Wall

* [BIM] Fix continueMode functionality for Wall, Panel and Structure
2025-06-23 13:59:13 +02:00
Syres916
cd5d0980b4 [BIM][Draft][CAM] preparation for deprecation of QCheckBox… (#21939)
* [BIM][Draft]{CAM] preparation for deprecation of QCheckBox stateChanged -> checkStateChanged
2025-06-18 11:24:21 +02:00
Syres916
fec8d924fe [BIM] Fix Attribute Error when user moves and then deletes the BimViewArea dock widget (#21830)
* [BIM] Fix attribute error when user deletes the BimViewArea dock widget

* [BIM] Fix Attribute Error for both Qt5 and Qt6

* Update src/Mod/BIM/bimcommands/BimViews.py

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-06-09 17:36:04 +00:00
paul
f6bba5d58e [ArchWindow] Bug-fix Changing Sill _&_ SketchArch Support Sill Property (#21726)
* [ArchWindow] Bug-fix Changing Sill _&_ SketchArch Support Sill Property

1.  Bug found in https://github.com/FreeCAD/FreeCAD/pull/21005 (Allow changing Sill parameter)

self.baseSill
self.basePos :
- need to be restored as 'initial' settings in onDocumentRestored() as corresponding codes in onChanged() does upon object creation

2.  ArchWindow with SketchArch add-on to support above 'Allow changing Sill paramemeter' feature
- Update to ArchWindow following groundworks in https://github.com/FreeCAD/FreeCAD/pull/21568/

* [ArchWindow] Bug-fix Changing Sill _&_ SketchArch Support Sill Property (rev)
2025-06-05 14:01:06 +02:00
paul
93b53af0d1 [BimWindow] ArchWindow/MakeWindow Normal Default Auto & SketchArch Support Sill Property (#21568)
https://github.com/FreeCAD/FreeCAD/pull/21261
Historically, the normal of a Window object was deduced by the orientation of the Base Sketch and hardcoded in the Normal property.
Now with the new AutoNormalReversed property/flag (above PR), set True as default, the auto Normal previously in opposite direction to is now consistent with that previously hardcoded.
With the normal set to 'auto', window object would not suffer weird shape if the Base Sketch is rotated by some reason.
The Normal property is set to  'auto' (0,0,0) default following the above PR.

https://github.com/FreeCAD/FreeCAD/pull/21005
BIM: Allow changing Sill parameter in Properties for Window #21005
Ground work is added to support Window augmented by SketchArch Parametric Placement feature (PR to ArchWindow.py to be submitted separately)
2025-06-03 11:15:18 +02:00
Roy-043
e4adfc63d7 Draft/BIM: change BezCurve, BSpline and Wire to Part::FeaturePython
Fixes: #7387.

See comment: https://github.com/FreeCAD/FreeCAD/issues/7387#issuecomment-2915599566

PR to change the base object of BezCurve, BSpline and Wire to `Part::FeaturePython`. This will only affect new objects. So code will have to also keep handling the old object type (`Part::Part2DObjectPython`).

The modification of BimPreflight.py needs to be verified. The steps in the old code lacked logic IMO. But I may have misunderstood.
2025-06-02 17:27:20 +02:00
tetektoza
8ec6605fc4 BIM: Add support for deactivation active object to BIM Views Tree (#21570)
* BIM: Use checkbox in model tree for Activation/Deactivation of WP

* BIM: Set active object after deactivating current object if it exists

Currently we can get into a scenario where user can activate two working
planes, one after another. For example, Level, and  then Level001. If
they activate both, and then deactivate Level001, working plane switches
back to Level. But, we didn't set the object as the active one, so user
didn't have clear information that they can deactivate it, only the
working plane was switching it.

So this patch sets the object as the active one, if it exists.

* BIM: Add support for deactivation active object to BIM Views Tree

As the title says - it adds the checkbox that's similarly done in Part
workbench, so user can select/deselect the item and if they had previous
active object, it will also fall back to the previous object.

Also, moved out part of the common logic from ArchBuildingPart and
BimViews to utils.

* BIM: Handle correct context on activating WP for NativeIFC/BIM

* BIM: Remove redundant logic from BIM Views upon double click

As all of the logic is being handled now in `activate` function in
BimViews, this logic is redundant

* BIM: Rename button for taskbar and BIM Views from Activate to Active
2025-05-28 11:27:11 +02:00
tetektoza
bcb8932930 BIM: Additional improvements for Activate button in BIM Views
This patch introduces a few things:
- changes Activate button to be first in the list
- puts it in bold text, also adding (Default) to point it is default
  action
- removes all of the hiding logic upon double click and leaving Activate
by default to be called after double-clicking a BuildingPart
2025-05-23 12:06:55 +02:00
tetektoza
41dad48e5c BIM/Help: Access DockWidgetArea QFlag enum correctly
Currently, for both Help and BIM Views panels we can get a traceback
about incorrect casting if we move the panel.

This is because the QFlag of DockWidgetArea that is being passed, as it is not
able to be parsed down to an int. Most probably some historical change
either in Qt or FC.

This error also caused to not write current BIM Views/Help panel setup
to config, resulting in the position being resetted every run.
2025-05-23 11:47:10 +02:00
tetektoza
bba139985a BIM: Make a correct mapping to weight during IFC Quantities assignment
Currently we can assign quantities to a BIM object, but upon exporting
quantities are not visible in the IFC file.

This was because we didn't have a correct mapping to weight property.
`App::PropertyWeight" basically doesn't exist, so this patch changes it
to `App::PropertyMass`, as it is the same. The incorrect mapping
resulted in a traceback, which in turn resulted in missing a big part of
additional processing for the properties, which resulted in
`writeQuantities` checking for non-existent IfcData in the object.
2025-05-19 18:10:37 +02:00
Benjamin Nauck
02e1bbe1ae Merge pull request #21042 from furgo16/add-taskpanel-walloffset
BIM: add Offset input to wall creation task panel
2025-05-19 17:45:46 +02:00
tetektoza
ca9041ce50 BIM: Avoid traceback if there is no Classification selected
As the title says, if user selects `OK` button and has no Classification
selected (which can happen only if the list is empty I think), then they
get a traceback since we're trying to access list of selections
directly.

So this patch adds a small patch to close the form if user has pressed
`OK` button and did not select anything.
2025-05-19 17:41:24 +02:00
Paul Lee
7b078e2c96 [BimWindow] Interactive Creation Tool: Check if SketchArch is Enabled (ArchSketchLock)
Improvement to User Interactive Experience:
- The Window Interactive Tool would check if SketchArch-addon is enabled by user, i.e. if ArchSketckLock is checked.
- If not, the conventional creation behaviour is used, SketchArch properties would not be added to Window object.
- It also check if Base of Wall is ArchSketch or not.

Github Discussion:
- https://github.com/paullee0/FreeCAD_SketchArch/issues/27#issuecomment-2837652351
2025-05-13 11:29:09 +02:00
tetektoza
2c9c80fefa BIM: Allow changing Sill parameter in Properties for Window
User has no possibility to change Sill parameter upon adding Window, it
is only possible while creating Window for the first time.

So this patch adds this parameter, and changing it moves the *BASE*
coordinate of the object in Z direction.
2025-05-13 11:25:31 +02:00
tetektoza
1de7024a43 BIM: Switch Visibility of ViewObj on/off to restore it in all objs 2025-05-13 11:03:05 +02:00
tetektoza
0da05071a5 BIM: Do not hide children of Building if Building has been isolated 2025-05-13 11:03:05 +02:00
tetektoza
8fd7c94d8f BIM: Remove additional recompute at the end of isolate 2025-05-13 11:03:05 +02:00
tetektoza
2cd492424c BIM: Exclude viewtree from cached items and add a sanity check 2025-05-13 11:03:05 +02:00
tetektoza
ccd40ed03b BIM: Cache the tree elements beforehand and hide only necessary ones 2025-05-13 11:03:05 +02:00
tetektoza
d24dabbdc2 BIM: Hide all objects that aren't selected during Isolate
Currently if user selects an item and does `Isolate` operation on it in
BIM, everything is being hidden if the item was inside another container
(like Building).

This is because we are prioritizing on hiding parents of current object
if they are not the selected ones, which is causing the child of the
parent to be hidden as well (duh).

So, this patch fixes isolate method to hide all other parents and their
childs. If they are not a parent of our child under selection -> hide
them and proceed further. If we are processing parent of our selection,
just hide anything on current level that is not our selection while
leaving parent intact.
2025-05-13 11:03:05 +02:00
tetektoza
b0599f0cde BIM: Update tooltip for Activate button 2025-05-12 18:00:52 +02:00
tetektoza
464e7d5144 BIM: Introduce Activate for BIM Views
Currently there's no option for selecting active working plane other
than selecting `DoubleClickActivates` property on a BIM Level.

So, this patch adds an additional button for the submenu that BIM Views
provides - to activate working plane of the selected item.
2025-05-12 18:00:52 +02:00
Roy-043
ca0630aa50 BIM: close BIM_Library task panel on doc close
Fixes #21179.

This PR uses the built-in solution to close the task panel.

I was not aware of this feature before. My 2 previous PRs related to the closing of task panels, #20719 and #21073, will (largely) have to be reverted/redone in favor of this solution.
2025-05-12 17:48:39 +02:00
marcuspollio
67f1b41bc2 BIM: fix some imports and cleanup miscellaneous (#20914) 2025-05-12 17:40:12 +02:00
Furgo
87768e4c79 Merge branch 'main' into add-taskpanel-walloffset 2025-05-12 05:08:04 +02:00
tetektoza
7f6b3dcf70 Draft: Preserve direction vector upon Continue Mode for Dimension (#20974)
So, currently, if we use Vertical/Horizontal Dimension which is
constrained in one direction vector, upon `Continue`, the direction
vector is not being preserved.

The cause of that is that everytime we recall the command in Continue
Mode, we also call base class' `Activated` method, which in turn calls
`finish()` if we have already initialized an active Draft command. This
doesn't happen during first usage of the command, because this variable
is not yet populated, but upon second (and next) runs it is. In turn,
this causes to call `finish()`, and clean up the direction vector. So,
in essence, we are specifying the vector and cleaning it every
"Continue" run.

So, as a solution, just move the direction vector as an argument to
populate super class with it, and do that after super class' `Activated()`
call, so it won't get cleaned up in `finish()`.

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2025-05-05 17:58:54 +02:00
Roy-043
57da6ac140 BIM: close task panels on doc close
Fixes #17952.

This PR is a continuation of #20719.

It mainly involves adding `self.doc`. This new attribute is then also used in the rest of the modified classes. In some cases code was slightly reordered for consistency.

The `_finish_command_on_doc_close` function has been modifief to also handle `Gui.Snapper.ui.escape` and the code in gui_arcs.py has been updated accordingly.

Additionally:
Removed the `done` and `spacedone` variables in BimWall.py by tweaking the code.
2025-05-05 17:52:37 +02:00
marcuspollio
953063ca09 BIM: add missing license (#20906)
* BIM: add missing license

* BIM: add SPDX License id to init.py

* Revert Dice3DS license
2025-05-05 17:45:38 +02:00
Furgo
24bf79665e BIM: create wall upon pressing Enter with focused Offset input 2025-05-05 12:31:03 +02:00
Furgo
288a04deba BIM: add Offset input to wall creation task panel 2025-05-05 12:31:03 +02:00
Furgo
9c1e3d8bc5 BIM: BIM_TDView, add tooltip info on how to insert the view on a particular page (#20932)
* 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>
2025-04-28 17:46:09 +02:00
Roy-043
0d6a07728a BIM: Update working plane related code
Some code stemming from the old BIM external workbench still used `FreeCAD.DraftWorkingPlane`.
2025-04-28 10:01:35 +02:00