Element.SetLocation and sloping line-based families

Revit 2017.1
Dynamo 1.2.0

Problem:
Face-hosted families tend to shift relative to Cartesian coordinates when the face shape changes

Solution:

  1. Open Project1.rvt
  2. Run Hosted Raftertails - Record Position (1.2.0).dyn to save the start and end points of line based families to parameters in the families
  3. Change your roof slope and watch while raftertails (and hip elements) shift location
  4. Run Hosted Raftertails - Return to Position (1.2.0).dyn to move line-based families back to recorded XYZ position

Result:

  • This script works fine for raftertails where the Z value of start and end points are equal, but for sloping families (like the hip tiles) the family points honor the recorded start and endpoints, but not the family geometry
  • It may be that the line-base family is not modeled correctly.
  • This script also assumes that any line-based families with a slope are hosted to top side of roof
  • This script uses clockwork and rhythm packages and one custom node (attached)

Just getting into the geometry nodes in dynamo and would appreciate any recommendations

Thanks

David

Hosted Raftertails - Record Position (1.2.0).dyn (15.0 KB)
IF.ForLists.dyf (3.7 KB)
Hosted Raftertails - Return to Position (1.2.0).dyn (51.0 KB)

Projected Points in the opposite z-axis vector to solve this.
Script still assumes line-based families are being hosted on topside or roof
Solution attached.

Hosted Raftertails - Return to Position (1.2.0).dyn (40.2 KB)