Hello,
I am working on a script to create wall finishes for rooms associating their “wall finish” parameter to the “type mark” parameter of the wall.
I found around some examples but generally are driven by the name of the wall (instead of its typemark).
I choose this way in order to gain flexibility in schedules and drawing, being though able to respect the naming protocol estabilished for (walls) families and report by a code the type of finishing I have in every room (Room:Wall Finish = Wall:Type Mark).
Disclaimer: since I am not a programmer and quite clumsy with Phyton I’ve been setting it all out through nodes (probably in an unnecessarily redundant fashion), and I’d like to keep it like that (with nodes, not necessarily redundant) in order to be able to handle future maintenance on the script. This for saying that to a pro user it will obviously seems like a terrible mess.
So for me it would be great to:
1- Having it working
2- Avoid any Python code line
I am writing though even if everything seems fine with the input data (you can easily check via the fields in the “Check-out” group of the script attached) the walls I get in the model are not going to be created as expected.
The issues are mainly related to:
-Location line
-Wall type
and on a
ROOMS FINISH III.dyn (73.6 KB)
more complex project I would also get walls duplicating in the same place, I don’t know why.
Could please somebody take a look to it? That would be greatly appreciated.
Script+Project test attached (v.2024)
Thanks!
TEST WALL FINISH.7z (7.4 MB)
ROOMS FINISH III.dyn (73.6 KB)
1 Like
This is unlikely to work as you are attempting to set the value of a Type parameter (Type Mark) at an instance based level
There are several ways you could solve this
- Have a wall type for each finish where the Type Mark is pre-filled and then create instances based on the room wall finish and boundary sketch
- Use an instance based shared parameter that can be updated as per the wall finish
I also see that the finish wall will have to be joined to the core wall to honour penetrations such as doors and which wall will services and fixtures be associated with?
What happens when you do skirting or tiling?
Hello Mike, thanks for answering.
The intention was precisely to have several wall types, associating them to the different rooms “wall finish” parameter possible value (depending on the project).
More in detail:
- get room instances in the project (and related information/geometry as a reference)
- get wall types in the project
- check for “Type Mark” value of the walls against the “Wall Finish” value of the rooms. If any match is encountered, then create the wall
I know some details are still missing (ex. Room separator,… ) but that is still ok-I may tune that up later if necessary.
For the wall joining I generally use synthesize routines <3
For skirting and tiling I don’t need to reach that detailing degree in the model
For the plumbing fixtures and others I would host them on the main wall, with offset to host (if possible) but that’s not a major issue
I intend to follow this modeling process because parts tool is still problematic I think, and since we’re on an exec. phase of the project I need to reach a good detailing level for construction/QTO.
Can you please explain me better what you pointed to in your reply, and how to handle it (possibly without python, for the reason I exposed in the original text)
Thank you