Join between 3 beams

dayanand_rakte
Explorer
Explorer

Join between 3 beams

dayanand_rakte
Explorer
Explorer

Hi everyone , I am struggling with join/connection between  3 beams .As per attachment ,point highlighted with orange color is endpoint location of Beam2 and Beam1 and same point is start point location for Beam3. I want to connect these beams as per Expected Outcome image. It will be ok if there is no join between these three beams but they should place as per expected outcome image.
First approach I tried : I have not used JoinGeometry API and directly placed beams as per their location. In this approach I am getting random results, any of the the beam is extending which I don't have control.
Second approach I tried : I used join geometry API .Below is the code for that and Current condition image is the output of this approach. Kindly please suggest how to get the required results.

private void JoinGeometryBeam1ToBeam2Beam3(Document activeDoc, FamilyInstance Beam1)
{

XYZ minPt = primaryBeam.get_BoundingBox(activeDoc.ActiveView).Min;
XYZ maxPt = primaryBeam.get_BoundingBox(activeDoc.ActiveView).Max;

Outline outLine = new Outline(minPt, maxPt);
outLine.Scale(1.5);
BoundingBoxIntersectsFilter filter = new BoundingBoxIntersectsFilter(outLine);

List<FamilyInstance> connectedBeams = new FilteredElementCollector(activeDoc).WherePasses(filter)
.OfCategory(BuiltInCategory.OST_StructuralFraming)
.OfClass(typeof(FamilyInstance)).Cast<FamilyInstance>().ToList();

foreach (FamilyInstance beam in connectedBeams)
{
JoinGeometryUtils.JoinGeometry(this.ActiveDoc, beam, Beam1);
}

}

0 Likes
Reply
523 Views
5 Replies
Replies (5)

jeremy_tammik
Autodesk
Autodesk

Good question. I asked the development team for you.

   

Jeremy Tammik Developer Advocacy and Support + The Building Coder + Autodesk Developer Network + ADN Open
0 Likes

ctm_mka
Advocate
Advocate

This something we struggle with daily, and im not sure a programmatic approach could help. What i mean, in your current condition, manually check the Beam/Column Join tool, do you get three arrows? Half the time we only get two. which means we have to completely break the connection between all three (drag them away), then then fillet each one back together. This issue has existed since my company started using Revit, back in Structure 3 (2009?).

0 Likes

dayanand_rakte
Explorer
Explorer

Thank you . Its working for me now. I disallowed join for Beam2 and Beam3 and Beam1 kept as it is. To Disallow join I used this API StructuralFramingUtils.DisallowJoinAtEnd(girderInstance, 0); I made sure that always Beam2 and Beam3 are inserted before Beam1.It is working for join between 3 beams .

dayanand_rakte
Explorer
Explorer

Hello team ,
As mentioned above regarding resolution of my query . issue got resolved for only 70% of the  beam joints however still 30% of beam joints is having the same issue and it not resolved yet.
I would appreciate if you could provide solution to achieve this for all 100 % of beam joints

0 Likes

jeremy_tammik
Autodesk
Autodesk

Can you share a complete minimal reproducible case for each of the situations, where it works and where it does not? Then we can ask the development team to take a look at it, and others may be able to spot something as well.

  

  

Jeremy Tammik Developer Advocacy and Support + The Building Coder + Autodesk Developer Network + ADN Open
0 Likes