[BIM] Problem with floors

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
Post Reply
blasVuwi
Posts: 10
Joined: Thu Sep 12, 2019 8:39 am

[BIM] Problem with floors

Post by blasVuwi »

Hello ;)

Code: Select all

OS: Arch Linux
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18229 (Git)
Build type: Release
Branch: master
Hash: 1bfe0f3bea9596b28264cd9c0634c1d440ea6517
Python version: 3.7.4
Qt version: 5.13.0
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United Kingdom (en_GB)
I create two floors in an empty file (BIM Workbench).
I set the level offset of the second to 3m. I look at them from the side.
Both are shown at the same level, even though one says +3m, in the 3D view. In the level view (lower left corner), both stay at 0, whatever I do with level offset.
Also, any object I put *into* the levels is not automatically relative to that level's height.
Am I using floors incorrectly? How are they supposed to work? I thought I'd just put objects into the floor, and they would automatically calculate their z-axis relative to that floor's z-axis height?
Thanks for any help with this.
maim.png
maim.png (148.8 KiB) Viewed 741 times
User avatar
papyblaise
Veteran
Posts: 7872
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: [BIM] Problem with floors

Post by papyblaise »

you can use 2 method :
-1)draw the 1st level at Z = 0
the 2nd at Z =0 too but in a different sketch
and now change "placement " from 0 to 3000mm

-2) when you define the level , change 0 to 3000 and draw the 2nd sketch on it
Attachments
niveau of floor.PNG
niveau of floor.PNG (19.77 KiB) Viewed 734 times
User avatar
Roy_043
Veteran
Posts: 8450
Joined: Thu Dec 27, 2018 12:28 pm

Re: [BIM] Problem with floors

Post by Roy_043 »

To change the floor level: change the Position property (expand the Placement node).
Not sure about the 'Level offset' property. But when creating floors with the BIM_Project tool this property is left at 0.

There has been a previous discussion about the level of nested objects inside a floor. I'll try to find it.
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: [BIM] Problem with floors

Post by vocx »

blasVuwi wrote: Sat Sep 21, 2019 7:49 am ...
Am I using floors incorrectly? How are they supposed to work? I thought I'd just put objects into the floor, and they would automatically calculate their z-axis relative to that floor's z-axis height?
The documentation for Arch BuildingPart surely could be better. The Level Offset property is a fake displacement; it is just added to the value of the Placement property to simulate the offset from the ground. In Python code, for the BuildingPart object, this is

Code: Select all

obj.LevelOffset + obj.Placement.Base.z
That is, the real displacement in your model is controlled with the Placement.

I think this makes sense. If you are considering real units above sea level, it's annoying to displace your model 1000 m up or so. Instead, you just add a "Level Offset" of 1000 m, and then start modelling at the Z=0 plane. Your second floor would have a Placement.Base.z = 3000 (millimeters), and then the label would appear as Offset + Placement = 1003 m.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
blasVuwi
Posts: 10
Joined: Thu Sep 12, 2019 8:39 am

Re: [BIM] Problem with floors

Post by blasVuwi »

vocx wrote: Sat Sep 21, 2019 8:25 am
blasVuwi wrote: Sat Sep 21, 2019 7:49 am ...
Am I using floors incorrectly? How are they supposed to work? I thought I'd just put objects into the floor, and they would automatically calculate their z-axis relative to that floor's z-axis height?
The documentation for Arch BuildingPart surely could be better. The Level Offset property is a fake displacement; it is just added to the value of the Placement property to simulate the offset from the ground. In Python code, for the BuildingPart object, this is

Code: Select all

obj.LevelOffset + obj.Placement.Base.z
That is, the real displacement in your model is controlled with the Placement.

I think this makes sense. If you are considering real units above sea level, it's annoying to displace your model 1000 m up or so. Instead, you just add a "Level Offset" of 1000 m, and then start modelling at the Z=0 plane. Your second floor would have a Placement.Base.z = 3000 (millimeters), and then the label would appear as Offset + Placement = 1003 m.
Thanks for explaining this. So I can disregard this for the moment ;)
Now my only remaining question is, how can I make objects that are inside a floor *automatically* move to that floor? a wall/slab's position in a floor with placement z=3m should automatically be shown at z=3m when it's own z=0m, or am I misunderstanding something here?
User avatar
Roy_043
Veteran
Posts: 8450
Joined: Thu Dec 27, 2018 12:28 pm

Re: [BIM] Problem with floors

Post by Roy_043 »

This is the discussion I referred to:
https://forum.freecadweb.org/viewtopic.php?f=23&t=38411
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: [BIM] Problem with floors

Post by vocx »

blasVuwi wrote: Sat Sep 21, 2019 8:30 am Now my only remaining question is, how can I make objects that are inside a floor *automatically* move to that floor?...
Did you try? I did it, and it worked.

Arch Walls and other Arch Components have a property called "Move with Host" which is supposed to make the object move when the container moves. I actually did this, and it worked. However, it only worked fine once. After changing the placement again, the walls no longer move with the ArchBuilding Part. This is probably a bug.

I think all this "Move with Host" functionality was implemented some months ago, in this 0.19 development version. It's probably not implemented perfectly at the moment. The Report view does show a message "moving child" but it seems it is not performing the action. So we have to wait for the Arch developer to see how it can be improved.

https://github.com/FreeCAD/FreeCAD/blob ... rt.py#L397
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
Post Reply