Create Block above door, how?

Hello,

PlaceGetSetCoreZone.dyn (27.4 KB)


Task is pretty far… i want just to place volums(generic modells)Sollbohrzone.rfa (764 KB)
above the doors, later it will be used for clashing. i get the origin of door and the height bretty well!
but 2 things are missing :
1.) width of door should be the widh of the box
2.) Box should have coordinatesystem of the familyinstance and not project location!

i get the width parameter but it drops values to NULL. I don`t know how to deal with InstanceCoordinateSystem…

KR

Andreas

The location Node you are using already has an Angle output, did you check the result from that? First test for me would be to use those values in a SetRotation Node with the Door elements.

I would also get rid of the custom Node to find the Type parameter, just use Element.ElementType and ask for the Width parameter. Get rid of an unknown factor in testing something basic like asking for the info in a Type parameter.

1 Like

PlaceGetSetCoreZone_V1.dyn (35.9 KB)


It almost worked! i think i need some kind of IfCondition…
…not all rotations works

Hi,

Try with the Element GetRotation and Element SetRotation nodes.
Rotation

1 Like

hahaha… better. I modeled the family more centric!
But one tries to escape.

KR

Andreas

Might want to start checking flipped/mirrored status of the doors and if they have an effect?

2 Likes

Hello,
The best practice to make lintels “the block above the door” is to use the door family template. Model the block in the door family template properly, so it can adjust the thickness as per hosting wall and orientation of the wall. There is a node that can place windows by point which will fit for your need perfectly
its not clear in what project do you work, but if its BIM level 2 project, where all scopes are divided between different teams. For example, some people moved the walls, what will happen with your lintels … and many more potential issues

3 Likes

your best practice…

Modelling Lintel Families in Door family templates for the purpose you describe would be a major No for me.
Adjusting the thickness on an instance basis instead of Type based properties, your naming, coding and other Type properties will be a mess.
Furthermore limiting the placement to Wall based for a structural element? Moving the lintels with the Walls if there is a scope-breakup? I want them to be left behind, so it’s 100% clear that structural still needs to take a look.

Have you ever seen a construction where lintels for blockwork had been placed by another contractor ?
if you do the lintels, it means that you do the blockwork. For Revit it means that the blockwork model is yours → you are the one who supposed to update it …
exactly this situation you often will see in a real project. That people forgot to adjust the lintels after they updated walls
image
and you can go farther even. You can use the door family as a wall opening family, insert a shared family with Lintel geometry in it and the job is done.
why do you need to think about lintels if any updates have happened, if you have wall based families.
what issues will you get with parameters ? I didnt get you

Hi Andreas…
I made some changes in your script and it seems to be working now.
Can you take a look at that. :slight_smile:
PlaceGetSetCoreZone_V2.dyn (48.6 KB)



1 Like


there is still random stuff happening! finaly each family finds his origin of the door

oh… when i test it in real…


every item get placed at one level :confused:


old script, looks better - but still rotation issue is there …

Hello @Draxl_Andreas . I reviewed it again and applied some changes. The family also changed some settings. It has studied well in my model. You can try again if you want.

Sollbohrzone.rfa (432 KB)
PlaceGetSetCoreZone_V3.dyn (50.7 KB)

1 Like



Thank you! When i have time i will look for a solution Level by Level!

Right now it drops everything to groundlevel… …or in the center of the door.

KR

Andreas