Skip to content

Commit

Permalink
updated VisibilityLines, added family document close
Browse files Browse the repository at this point in the history
  • Loading branch information
michal-pekacki authored and Fraser Greenroyd committed Sep 3, 2023
1 parent d77cbe5 commit ad7538c
Showing 1 changed file with 9 additions and 12 deletions.
21 changes: 9 additions & 12 deletions Revit_Core_Engine/Query/DrawingArea.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,16 +67,11 @@ public static Outline DrawingArea(this FamilyInstance titleBlock)
[Output("outline", "The Title Block's drawing area.")]
public static Outline DrawingArea(this FamilySymbol titleBlockSymbol)
{
List<DetailLine> lines = titleBlockSymbol.VisibleLines();
CompositeGeometry compositeGeom = new CompositeGeometry();

foreach (DetailLine dLine in lines)
List<BH.oM.Geometry.Line> lines = titleBlockSymbol.VisibleLines();
CompositeGeometry compositeGeom = new CompositeGeometry()
{
BH.oM.Geometry.Line bhomLine = dLine.GeometryCurve.IFromRevit() as BH.oM.Geometry.Line;

if (bhomLine != null)
compositeGeom.Elements.Add(bhomLine);
}
Elements = lines.Cast<IGeometry>().ToList()
};

BH.oM.Geometry.Point centrePoint = compositeGeom.Bounds().Centre();

Expand Down Expand Up @@ -119,8 +114,8 @@ public static Outline DrawingArea(this FamilySymbol titleBlockSymbol)
/**** Private methods ****/
/***************************************************/

[Description("Returns all visible detail lines of the title block symbol.")]
private static List<DetailLine> VisibleLines(this FamilySymbol titleBlockSymbol)
[Description("Returns all visible lines of the title block symbol.")]
private static List<BH.oM.Geometry.Line> VisibleLines(this FamilySymbol titleBlockSymbol)
{
Document document = titleBlockSymbol.Document;
Document familyDoc = document.EditFamily(titleBlockSymbol.Family);
Expand Down Expand Up @@ -164,8 +159,10 @@ private static List<DetailLine> VisibleLines(this FamilySymbol titleBlockSymbol)
}

visibleLines.AddRange(nestedLines);
List<BH.oM.Geometry.Line> lines = visibleLines.Where(x => x.GeometryCurve is Autodesk.Revit.DB.Line).Select(x => x.GeometryCurve.IFromRevit()).Cast<BH.oM.Geometry.Line>().ToList();
familyDoc.Close(false);

return visibleLines;
return lines;
}

/***************************************************/
Expand Down

0 comments on commit ad7538c

Please sign in to comment.