Revit API Forum
Welcome to Autodesk’s Revit API Forums. Share your knowledge, ask questions, and explore popular Revit API topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Curtain wall host

14 REPLIES 14
Reply
Message 1 of 15
R.van.den.Bor
2394 Views, 14 Replies

Curtain wall host

hello Reviteers,

 

When I ask a window what it's host is, I can find it because it has a instance builtinparameter HOST_ID_Param.

 

Now I want to know in what Wall a curtain wall is inserterd. Unfortenately a curtain wal doesn't have this builtinparameter HOST_ID_Param..

 

So my question is, how can I find out in which wall a curtain wal is placed. I can't find the parameter with Snoop or the Bipchecker 😞

 

 

Kind regards,
Remy van den Bor
ICN Solutions B.V.
Liked this post or found it usefull, don't forget the Kudo It won't hurt (at least not me).
14 REPLIES 14
Message 2 of 15
mjohnson
in reply to: R.van.den.Bor

You dont place curtain walls on a wall type, it doesnt have a HOST_ID_param, because it is a host.  When placing a wall type you select to place a curtain system instead, on the type drop down on your properties tab.  Think of a curtain wall as just a wall, they're non-editable families that host objects.  You can create windows that are specifically hosted to curtain walls.  If you're trying to create a partial curtain system in a wall you'll still have to start by creating a curtain wall first, add a curtain grid sectioning out the part of the wall you want as windows. Then highlight over the panels on that grid system that you'd like shown as a wall not window, press the tab key to select that specific panel, then on your properties tab select a wall type you'd like to apply to that panel.  (view attached image)  Let me know if that answered your question

 

Something to note:

Once you turn a panel from a curtain system into a wall type, you wont be able to use the tab key and select it as a panel again.

Message 3 of 15
R.van.den.Bor
in reply to: mjohnson

Okay, thanks for clearing this up. But let me rephrase my question. I havea wall and place a curtain wall in it. How can I get the wall it is in? How can I get the ID of the wall surrounding the curtain wall ?

 

Ultemately I want to be able to replace the curtain wall by a window, and therefor I need the hostID.

 

doc.Create.NewFamilyInstance(location, symbol, host, host.Level, _non_rst);

 

Or am I using the wrong code and is there another way to place a window without having to know it's host ??

Kind regards,
Remy van den Bor
ICN Solutions B.V.
Liked this post or found it usefull, don't forget the Kudo It won't hurt (at least not me).
Message 4 of 15
Ning_Zhou
in reply to: R.van.den.Bor

perhaps use good old delete / rollback trick, i mean deleting that "host" wall to see if curtain wall is in the list of deleted ids
Message 5 of 15
R.van.den.Bor
in reply to: Ning_Zhou

That's a good idea, except it doesn't work in this case. When deleting the 'surrounding" wall, the curtain wall isn't deleted and still there 😞
Kind regards,
Remy van den Bor
ICN Solutions B.V.
Liked this post or found it usefull, don't forget the Kudo It won't hurt (at least not me).
Message 6 of 15
Joe.Ye
in reply to: R.van.den.Bor

 

Hi Remy,

 

Since deleting the "host" wall doesn't affect the curtain wall, that means they don't have logical relationship. The curtain just looks like in the "host" wall. 

In this situation, you can use the geometry and their position relationship to judge if the curtain wall is in the wall. for example get the curtain wall's bounding box, and also the "host" wall's bounding box. Then check if the curtain wall's bounding box is in the host wall's bounding box.



Joe Ye
Contractor
Developer Technical Services
Autodesk Developer Network
Message 7 of 15

Hello Remy, i know this is a very old post but please i would like to ask you how do you finally solved this specifically problem as i'm facing exactly the same.

 

Thanks in advance, 

Armel

Message 8 of 15

Hi,

 

wall.FindInserts can be used to find the relation between wall and embedded wall.

 

Revitalizer




Rudolf Honke
Software Developer
Mensch und Maschine





Message 9 of 15

Thanks for your answer!!!...just last night I found that this (FindInserts) could be a good option and now you confirm it!..I’m new to revit coding but I feel very enthusiast, let’s see if I can get a good solution soon with your advise.

Thanks again!
Message 10 of 15

I can nt remember if that function was available at the time. I solved it with the ElementIntersectsElementFilter option in the FilteredElementCollector.

Kind regards,
Remy van den Bor
ICN Solutions B.V.
Liked this post or found it usefull, don't forget the Kudo It won't hurt (at least not me).
Message 11 of 15
Revitalizer
in reply to: R.van.den.Bor

Hi Remy,

 

I found this method also in a RevitAPI.chm shipped with a 2013 SDK.

Hidden gems...

 

Rudi




Rudolf Honke
Software Developer
Mensch und Maschine





Message 12 of 15

Thanks for your answer Remy, finally i got it to work through wall.FindInserts...please see my post below in the answer to Revitalizer.

Message 13 of 15

Hi Revitalizer, well as you can read in my answer to Remy, I finally "partially" obtain what i was looking for with wall.FindInserts as you suggest me. Now i have another "little" problem to solve to make it totally functional, and it is relative to coordinates when creating new openings on walls. As they are gonna be created in different walls randomly located in the 3D space, and I took the coordinates I need for their creation from the Curve of CurtainWalls "inserted" in "host" walls, it seems that when passing these coordinates they get affected by the project "origin" and then as a result i'm getting just randomly projections of those "absolute" coordinates on the different walls surfaces. As i'm coming from CAD my experience led me to think that i have like an "UCS issue" to solve for each case when creating new openings...Or maybe I need to "normalize" or in some way "make relative to the host wall" the coordinates i'm trying to pass as parameters for new openings. After a little research i'found that XYZ class have a Normal or Normalize parameter/method that could be used...well, that's the point right now, please if you have any idea respect to this let me know and, again, thank you very much guys, your help its been very useful for me.

 

Armel 

Message 14 of 15

Hi @armel.aguilera,

 

I would suggest to open a new thread, so your problem will get more attention.

It is related to this thread's topic but in fact, I consider it as a different question.

 

What about a picture describing the UCS issue?

 

Revitalizer




Rudolf Honke
Software Developer
Mensch und Maschine





Message 15 of 15

Understand, you are right, I will do it. But anyway I would like to finish this thread, just for clarifying, by saying that at least in this case there was no such "UCS issue" as i though before, it was only a incorrect use in getting element's bounding box (window) coordinates for posterior use. I'm sorry if could create some confusion.

 

Thanks,

 

Armel

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Rail Community