Dear Bburling,
On one hand, there is the JoinGeometryUtils class. That is for controlling the order of joins of concrete members and slabs, I believe.
More relevant in your case is probably the LocationCurve.JoinType property, which gets and sets the type of the join at the specified end.
Unfortunately, though, the remarks on this method state that "this property allows to get join type of wall and concrete beam and to set wall's join type."
Oh, and there is even more for walls:
- WallUtils.DisallowWallJoinAtEnd()
- WallUtils.AllowWallJoinAtEnd()
- WallUtils.IsWallJoinAllowedAtEnd()
provide access to the setting for whether or not joining is allowed at a particular end of the wall. If joins exist at the end of a wall and joins are disallowed, the walls will become disjoint. If joins are disallowed for the end of the wall, and then the setting is toggled to allow the joins, the wall will automatically join to its neighbors if there are any.
Unfortunately this does not help for beams, which is what you are asking about.
However, someone from the development team also said, specifically regarding structural framing, beams, braces, columns: I think that with the "disallowjoin" functionality implemented in Revit 2015, we have addressed the major issue described here. The previous 2014 work in regards to beam positioning also helps.
In summary, I think I would start off trying to use the JoinGeometryUtils.UnjoinGeometry method.
Good luck!
Cheers,
Jeremy