Skip to content

Commit 75f4e39

Browse files
committed
expose CurtainGrid.GetPanel and CurtainGrid.GetCell
1 parent ca4c41a commit 75f4e39

File tree

2 files changed

+76
-0
lines changed

2 files changed

+76
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
using System.Collections.Generic;
2+
using System.Linq.Expressions;
3+
using Autodesk.Revit.DB;
4+
5+
// (c) Revit Database Explorer https://github.com/NeVeSpl/RevitDBExplorer/blob/main/license.md
6+
7+
namespace RevitDBExplorer.Domain.DataModel.MemberAccessors
8+
{
9+
internal class CurtainGrid_GetCell : MemberAccessorByType<CurtainGrid>, ICanCreateMemberAccessor
10+
{
11+
IEnumerable<LambdaExpression> ICanCreateMemberAccessor.GetHandledMembers() { yield return (CurtainGrid x) => x.GetCell(ElementId.InvalidElementId, ElementId.InvalidElementId); }
12+
13+
14+
protected override bool CanBeSnoooped(Document document, CurtainGrid grid) => true;
15+
protected override string GetLabel(Document document, CurtainGrid grid)
16+
{
17+
string value = $"[CurtainCell]";
18+
return value;
19+
}
20+
protected override IEnumerable<SnoopableObject> Snooop(Document document, CurtainGrid grid)
21+
{
22+
var uLineIds = grid.GetUGridLineIds();
23+
var vLineIds = grid.GetVGridLineIds();
24+
uLineIds.Add(ElementId.InvalidElementId);
25+
vLineIds.Add(ElementId.InvalidElementId);
26+
27+
foreach (var uLineId in uLineIds)
28+
{
29+
foreach (var vLineId in vLineIds)
30+
{
31+
var cell = grid.GetCell(uLineId, vLineId);
32+
33+
yield return new SnoopableObject(document, cell) { Name = $"uGridLineId: {uLineId}, vGridLineId: {vLineId}" };
34+
}
35+
}
36+
}
37+
}
38+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
using System.Collections.Generic;
2+
using System.Linq.Expressions;
3+
using Autodesk.Revit.DB;
4+
5+
// (c) Revit Database Explorer https://github.com/NeVeSpl/RevitDBExplorer/blob/main/license.md
6+
7+
namespace RevitDBExplorer.Domain.DataModel.MemberAccessors
8+
{
9+
internal class CurtainGrid_GetPanel : MemberAccessorByType<CurtainGrid>, ICanCreateMemberAccessor
10+
{
11+
IEnumerable<LambdaExpression> ICanCreateMemberAccessor.GetHandledMembers() { yield return (CurtainGrid x) => x.GetPanel(ElementId.InvalidElementId, ElementId.InvalidElementId); }
12+
13+
14+
protected override bool CanBeSnoooped(Document document, CurtainGrid grid) => true;
15+
protected override string GetLabel(Document document, CurtainGrid grid)
16+
{
17+
string value = $"[Panel]";
18+
return value;
19+
}
20+
protected override IEnumerable<SnoopableObject> Snooop(Document document, CurtainGrid grid)
21+
{
22+
var uLineIds = grid.GetUGridLineIds();
23+
var vLineIds = grid.GetVGridLineIds();
24+
uLineIds.Add(ElementId.InvalidElementId);
25+
vLineIds.Add(ElementId.InvalidElementId);
26+
27+
foreach (var uLineId in uLineIds)
28+
{
29+
foreach (var vLineId in vLineIds)
30+
{
31+
var cell = grid.GetPanel(uLineId, vLineId);
32+
33+
yield return new SnoopableObject(document, cell) { Name = $"uGridLineId: {uLineId}, vGridLineId: {vLineId}" };
34+
}
35+
}
36+
}
37+
}
38+
}

0 commit comments

Comments
 (0)