« Object Relationships | Main | Dynamically Load and Debug Plug-ins »

March 10, 2010

Comments

as discussed w/ Jeremy just recently, i'll add some comments here:
1) the first loop is NOT always the outer one, guess that's the case for floor/roof too(?)
2) i used solid/face/edge method (from Jeremy's sample code) to get wall profile (include all openings) in my previous code, but now i switched to much easy one which will temporarily set original walls to bearing wall, then you can access all needed edges (wall and opening edges only) directly
3) in some cases, you still cannot create new wall using already sorted CurveArray, this bring out the following questions to Autodesk:
question 1) in which special cases that CurveArray CAN or CANNOT be used to create new wall?
question 2) can wall join be accessible in API? if can, then there's no need to get opening profile at all, just join new wall w/ original wall will do the trick.
question 3) in general term, can we use API to do element join at project? to my knowledge, you can join element at family only (?)
question 4) seems Revit's wall "autojoin" may cause some issues, can we enable/disable "autojoin" in API?

Dear Ning,

Sorry I was so slow in answering...

1) True, we did actually mention the fact that one may have to calculate the polygon areas to determine which one is the outer loop:

http://thebuildingcoder.typepad.com/blog/2008/12/2d-polygon-areas-and-outer-loop.html

http://thebuildingcoder.typepad.com/blog/2008/12/3d-polygon-areas.html

2) That sounds very interesting! I saw from your email that you are setting the built-in parameters WALL_STRUCTURAL_USAGE_PARAM and STRUCTURAL_ANALYTICAL_MODEL to one before querying the geometry, and then resetting them back to zero afterwards, but I do not actually know what the effect of this is or what you mean when you say that this makes it easier to access the edges. Let us discuss this off-line and maybe write a complete new post on it, please.

3) I have passed on this issue to the development team. Let's see what they say.

I am also discussing your questions with them and will let you know what we come up with.

Thank you!

Cheers, Jeremy.

Dear Ning,

Although I may be slow in answering, my colleagues in the development team are not, so here are the answers to your questions already:

q1) We need to look deeper into this.

q2) No, it is not, unfortunately. We have an open wish list item for this.

q3) Just like you say: in general, not in a project, although there are exceptions such as the Mullion.JoinMullion method, and we have registered this wish. Yes in the family editor: Document.CombineElements.

q4) No.

Sorry for the many negatives here.

Cheers, Jeremy.

Dear Jeremy,

In your BuildingCoder sample, there is a function GetWallProfilePolygons() available to get the outer most face points of a wall. That is fine.

When a multiple layer wall connects to another wall each layer geometry is varies. Is it possible to get the polygon points of each layer of a wall? Any idea please.

Thanks and Regards,
Rajeswara Rao

Dear Rajeswara,

Code that determines and displays the exact geometric location of the individual wall layers is provided in

http://thebuildingcoder.typepad.com/blog/2008/11/wall-compound-layers.html

Cheers, Jeremy.

Thanks. Great post. Was very helpful to me.

Dear Martin,

Thank you for your appreciation.

I am very glad to hear you find it useful.

Cheers, Jeremy.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Your Information

(Name and email address are required. Email address will not be displayed with the comment.)

Jeremy Tammik

AboutTopicsIndexSource