public static double GetValue2Sort(this Model.Entity.Pile ettPile) { double value = 0; var hostEttElem = ettPile.HostEttElement; var revitElem = hostEttElem.RevitElement; var pathCurve = (revitElem.Location as LocationCurve).Curve; var pnt = ettPile.Geometry.Origin; var intersectionResult = pathCurve.Project(pnt); value = intersectionResult.Parameter; return(value); }
public static Model.Entity.Geometry GetGeometry(this Model.Entity.Pile pile) { var settingCate = modelData.Setting.Category.Id.IntegerValue; var geometry = new Model.Entity.Geometry(); var revitElem = pile.RevitElement; if (settingCate == (int)Autodesk.Revit.DB.BuiltInCategory.OST_StructuralFoundation) { geometry.Origin = (revitElem.Location as Autodesk.Revit.DB.LocationPoint).Point; } else if (settingCate == (int)Autodesk.Revit.DB.BuiltInCategory.OST_StructuralFraming) { var locCurve = (revitElem.Location as Autodesk.Revit.DB.LocationCurve).Curve; geometry.Origin = (locCurve.GetEndPoint(0) + locCurve.GetEndPoint(1)) / 2; } return(geometry); }