Commit Graph

42 Commits

Author SHA1 Message Date
Furgo
53587a246d BIM: Arch.makeWindow, expand docstring, add examples 2025-09-25 18:51:33 +02:00
Furgo
fec92e568d BIM: Arch.makeWindow, add type hinting 2025-09-25 18:51:33 +02:00
Roy-043
daba1fc8a5 BIM: fix issues with T-slot profile (#23813)
* BIM: fix issue with T-slot profile

* BIM: fix issue with T-slot profile

* BIM: fix issue with T-slot profile

* Update ArchProfile.py: remove temp print
2025-09-15 15:28:16 +02:00
Paul Lee
eb4db5466a [Arch] Fix makeStairs Move & Addition Behaviour Consistency
Consistent Addition

1. Additions are hidden by onChanged()
2. makeStairs() previously made 1st segment of a Complex Stairs went to Base and the rest segments went to Additions
3. For consistency in grouping and visibility, all segments in go to Additions with this commit

Consistent Move With Host

1. A Complex Stairs has multiple segment (in Additions) and railings (in RailingLeft/Right), they should move togther.
2. All segments and Railing set MoveWithHost to True upon creation, and thus move together, regardless system setting default with this commit

Other Associated Inconsistency

    Other visibility default behaviour as discussed in https://forum.freecad.org/viewtopic.php?p=844965#p844920 would be added in subsequent PR

Last associated PR/commits :
2025-09-15 15:19:49 +02:00
Edgar Robles
196ada07e2 BIM: Add T slot profile option (#23334)
* feat(profiles): Add square metric t-slot profiles

Request also allows to use profiles in quetzal workbench

* fix(ProfileTaskPanel): fix class name on proxy & sufix

* refactor(ArchProfile, Arch): Modify T-s to TSLOT

and also fix hole_diameter not assigned

* fix(ArchProfile,profiles): Change t slot profile class Name
2025-09-01 17:54:20 +02:00
Yorik van Havre
5b241b1a1f BIM: Hide stairs base object on creation - Fixes #22436 2025-07-21 11:01:05 -05:00
Roy-043
360241c8bf BIM: improve Arch_MergeWalls (#22262)
* BIM: improve Arch_MergeWalls

* Improve delete behavior

Keep hosted objects*, additions and subtractions if delete is False. 

* For hosted objects with a Host property this is not possible.

* Make deletion of base objects optional
2025-07-07 14:51:27 +02:00
Roy-043
af71c26687 BIM: fix default radius for rectangular pipe connector
Fixes #22364.

The default radius of a connector between rectangular pipes should depend on the Height or Width of the pipe (the max. of the two is used), not on the hidden (and unused) Diameter property.
2025-07-07 13:46:38 +02:00
tetektoza
acac7ac51b BIM: Fix Arch_SectionPlane having incorrect display style upon init
Regressed from previous behavior - there was Arch's refactor and the
base element that `SectionPlane` was inheriting from was
`App::FeaturePython`, not `Part::FeaturePython`. This changes a lot, since
`Part::FeaturePython` has predefined color (black in this case), which
later on - during property set of `SectionPlane` in properties caused
skipping of preferred setup of color.
2025-06-16 18:15:53 +02:00
Furgo
c9a3397bc7 BIM: fix ArchPipe's view provider initialization 2025-06-16 17:37:28 +02:00
Furgo
5c6f2516c9 BIM: Arch, docstring and linter fixes (#21763)
- Fix docstring markup, improve types
- Fix max length to 100 chars on comments
- Wrap all code to 100 chars max
- Add deprecation notice
2025-06-05 14:02:25 +02:00
paul
d435e31174 [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
Furgo
b7008de12a BIM: fix ArchRebar default name (#21681)
* BIM: ArchRebar, only import GUI modules if the GUI is up

* BIM: ArchRebar, add tests

* BIM: Arch.makeRebar, fix rebar default name

* BIM: Arch.makeRebar, add type hints

* BIM: Arch.makeRebar, add code comments

* BIM: Arch.makeRebar, expand docstring
2025-06-02 18:31:50 +02:00
Roy-043
66cf7b4c36 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
luzpaz
269ed4537f BIM: fix typo in Arch.py (#21696) 2025-06-01 18:36:10 +02:00
Furgo
e9d0f287f2 BIM: refactor to reduce code duplication and improved readability 2025-05-26 10:23:24 +02:00
Furgo
ffd797ed7e Merge branch 'main' into add-taskpanel-walloffset 2025-05-12 05:08:04 +02:00
Furgo
ae6bd1b107 BIM: add docstrings to all Arch module functions 2025-05-07 17:51:57 +02:00
Furgo
8710648480 BIM: refactor whitespace between parameters and operators for improved
readability
2025-05-07 17:51:57 +02:00
Furgo
7f9e88b1e5 BIM: add Offset input to wall creation task panel 2025-05-05 12:31:03 +02:00
Florian Foinant-Willig
8a4c61ec5a BIM: prevent user to remove core properties 2025-04-22 23:52:17 +02:00
Florian Foinant-Willig
ef0ca1cff3 Core: Part::PartFeature should be Part::Feature 2025-04-21 10:51:15 -05:00
marcuspollio
679f582714 Merge branch 'main' into bim-cleanup-license 2025-04-11 15:13:45 +02:00
marcuspollio
5344969e95 BIM: use FreeCAD Dev Handbook license block 2025-04-05 17:55:51 +02:00
marcuspollio
0a8cae5c83 BIM: add FreeCAD notice in license 2025-04-04 18:15:43 +02:00
marcuspollio
4c2a0be22f BIM: cleanup license and add SPDX 2025-04-04 17:46:58 +02:00
marcuspollio
61b4506e40 BIM: cleanup imports at module root 2025-03-23 23:32:16 +01:00
Furgo
de4f61b07e BIM: move add/removeSpace boundaries implementation to Arch module (#20222)
* BIM: move add/removeSpaceBoundaries definitions to the Arch module

* BIM: make add/removeSpaceBoundaries implementation consistent

* BIM: update and expand docstrings
2025-03-20 11:47:03 +01:00
Furgo
e8c4d7ea2f BIM: allow boundaries to be defined from a single object (e.g. wall) (#20158)
* BIM: Add test for space from single wall boundaries

* BIM: Arch_Space, enable creation of spaces from single objects with
boundaries

* BIM: update and expand docstring
2025-03-19 10:45:26 +01:00
Furgo
e0389c308d BIM: Arch imports ArchSpace methods 2025-03-10 14:42:49 +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
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
luzpaz
e53dbf1a97 BIM: add docstrings to Arch.py
Closes #18560
2024-12-17 14:26:48 +01:00
Yorik van Havre
16c8e02229 BIM: BimViews upgrade 2024-12-11 09:23:59 +01:00
Roy-043
aaf54262c4 BIM: import ToDo from correct file (#18221)
* BIM: import ToDo from correct file

* Oops, forgot to save some files.
2024-12-03 15:18:06 +01:00
hoshengwei
4a7d96af0c Fix Ifc Spatial Element Default Composition Type should be 'Element' 2024-11-04 14:41:30 +01:00
Furgo
3310a20d55 [BIM] Separate profile name from label number (#16304)
* [BIM] Separate profile name from label number

Fixes: #16286

* Make internal name generic
2024-09-09 17:45:34 +02:00
Yorik van Havre
e556bccf52 BIM: Added square and rectangular profiles to pipes 2024-06-20 14:09:06 +02:00
paul
391e17bedc [Arch] Fix bug at Arch.py : makeStairs & makeRailing (#14271)
Bug reported at:
https://github.com/FreeCAD/FreeCAD/issues/14262
2024-05-25 21:50:08 +02:00
Yorik van Havre
ef08efcd00 BIM: misc tool adjustments
- Level offest can now be negative
- Auto wall grouping is now off by default
- Shape2DView (BIM version) now sets InPlace to False
- The Axis tool starts with only one axis by default
- Sketches initiated with the BIM Sketch command take Draft colors
- Snapping WP shortcuts were changed to avoid conflicts
2024-05-16 17:23:10 +02:00
Yorik van Havre
f9ceb7d35d BIM: Fixed leftover bugs 2024-05-16 17:23:10 +02:00
Yorik van Havre
f21a3b3ec9 BIM: Renamed Arch to BIM 2024-05-16 17:23:10 +02:00