修改命名空间
This commit is contained in:
26
ShrlAlgoToolkit.RevitCore/Extensions/ReferenceExtensions.cs
Normal file
26
ShrlAlgoToolkit.RevitCore/Extensions/ReferenceExtensions.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using Autodesk.Revit.DB;
|
||||
|
||||
namespace ShrlAlgoToolkit.RevitCore.Extensions
|
||||
{
|
||||
public static class ReferenceExtensions
|
||||
{
|
||||
public static Curve GetActualEdgeCurve(this Reference selectedEdge, Document doc)
|
||||
{
|
||||
var stable = selectedEdge.ConvertToStableRepresentation(doc);
|
||||
bool SolidInstance = stable.Contains("INSTANCE");//如果是Instance的话,获取到的是族类型的边
|
||||
Element elem = doc.GetElement(selectedEdge.ElementId);
|
||||
var selEdge = elem.GetGeometryObjectFromReference(selectedEdge) as Edge;
|
||||
var selEdgeCurve = selEdge.AsCurve();
|
||||
if (SolidInstance)
|
||||
{
|
||||
Transform tf = Transform.Identity;
|
||||
if (elem is FamilyInstance instance)
|
||||
{
|
||||
tf = instance.GetTransform();
|
||||
}
|
||||
return selEdgeCurve.CreateTransformed(tf);
|
||||
}
|
||||
return selEdgeCurve;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user