Walls join problem

Walls join problem

adobris
Participant Participant
6,247 Views
9 Replies
Message 1 of 10

Walls join problem

adobris
Participant
Participant

For some reason I need to split some walls at point of T intersection of two walls, so at the end I have 3 separate walls that are creating T. Problem occurs when Revit automatically rejoin those wall and split wall is horizontal. 
It works like I want on vertical split walls.

adobris_0-1606235922137.png

But on horizontal walls, vertical wall splits T walls, and this behavior is unwanted. I would like that it seems that two T walls are one, like Revit is doing with vertical T walls.

adobris_1-1606236102323.png


My question is how can I control Revit behavior on joining or change it later?

0 Likes
Accepted solutions (1)
6,248 Views
9 Replies
Replies (9)
Message 2 of 10

jeremytammik
Autodesk
Autodesk

Try using the wall LocationCurve JoinType property:

 

https://www.revitapidocs.com/2020/00b7a1a8-0e12-d02e-7e25-4716baf6dcdc.htm

 



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 3 of 10

adobris
Participant
Participant

Thank you Jeremy,

I tried this before by changing the JoinType on both T walls and it didn't work, maybe I need to change JoinType for the third wall also.
I will probably need to commit my wall splitting changes before I do that. I will try further.

In the meantime I have found a workaround that is visually satisfying, but I still want to solve this properly. Workaround is making one of T walls little longer (0.001 feet) so in reality the join is made only between two angled walls.

0 Likes
Message 4 of 10

adobris
Participant
Participant

I did some additional experiments and I had some success with changing JoinType and only Miter gives acceptable results, but join is different from join that Revit automatically makes on "vertical" walls (looking at the floor plan). Problem with Miter join is that it makes the join line between T walls visible. Actually I need Butt join but in a different order than Revit makes it on "horizontal" walls.
I will document this with some additional pictures.

 

This is how Revit joins it automatically (Look at sweeps):

adobris_0-1606296933464.png

 

This is with JoinType changed to Miter:

adobris_1-1606297257761.png

 

 

This is my workaround:

adobris_2-1606297390569.png

 

0 Likes
Message 5 of 10

adobris
Participant
Participant
Accepted solution

After taking some time off from this problem, I decided to give ElementsAtJoin property(in my case method  set_ElementsAtJoin) a second chance, because I did try this before also. Now it worked by just changing order of the elements of this array.

So I can say that this is a path to pursue if someone has a similar problem.

0 Likes
Message 6 of 10

Anonymous
Not applicable

Hello @adobris,

could you share your code please?

 

greetings from germany

0 Likes
Message 7 of 10

whp.m.owens
Enthusiast
Enthusiast

This can also be done with Dynamo and the Zhukoven (spelling?) package.

 

It might be in some other packages as well...

0 Likes
Message 8 of 10

adobris
Participant
Participant

Sorry @Anonymous 
I missed your message. Here is a part of the code that I've used without complete logic:

            if (wall.Id == w[1].Id)
            {
                array = new ElementArray();

                array.Append(w[1]);
                array.Append(w[0]);
                array.Append(w[2]);
            }

            if (!WallUtils.IsWallJoinAllowedAtEnd(wall, end))
                WallUtils.AllowWallJoinAtEnd(wall, end);

                using (Transaction t = new Transaction(document))
                {
                    t.Start("Change join");

                    try
                    {
                        ((LocationCurve)wall.Location).set_ElementsAtJoin(end, array);
                    }
                    catch (Exception e) { }

                    t.Commit();
                }
0 Likes
Message 9 of 10

Anonymous
Not applicable

@adobris Thank you, i will try it later on.

0 Likes
Message 10 of 10

JulioPolo
Participant
Participant

Hello @adobris, could you share how are you finding the T instersections i nthe first place if possible?

0 Likes