下载app免费领取会员
在API里管段对应了一个PipeSegment类,要获取可以用Class过滤去来过滤
如果要创建管段可以使用PipeSegment的Create方法来创建,这是个静态方法
public static PipeSegment Create(
Document ADocument,
ElementId MaterialId,
ElementId ScheduleId,
ICollection<MEPSize> sizeSet
)
下面是一个获取管段的小例子:
private void PipeSegment()
{
FilteredElementCollector temc = new FilteredElementCollector(doc);
temc.OfClass(typeof(PipeSegment));
string info = null;
foreach(Element e in temc)
{
info += e.Name + Environment.NewLine;
}
ModlessWindow.Show(info);
//结果:
//碳钢 - Schedule 40
//碳钢 - Schedule 80
//不锈钢 - 5S
//不锈钢 - 10S
//铜 - A
//铜 - B
//铜 - C
//铜 - D
//塑料 - Schedule 40
//塑料 - Schedule 80
//铸铁 - 22
//铸铁 - 30
PipeSegment ps = temc.First() as PipeSegment;
ICollection<MEPSize> mpSizes = ps.GetSizes();//获取尺寸列表
info = null;
info += ps.Name + Environment.NewLine;
foreach(MEPSize ms in mpSizes)
{
info += (ms.NominalDiameter * 304.8).ToString() + "\t\t"+ (ms.OuterDiameter * 304.8).ToString() + "\t\t" + (ms.InnerDiameter * 304.8).ToString() + Environment.NewLine;
}
ModlessWindow.Show(info);
/*
* 结果
* 碳钢 - Schedule 40
15 21.336 15.7988
20 26.67 20.9296
25 33.401 26.6446
32 42.164 35.052
40 48.26 40.894
50 60.325 52.5018
65 73.025 62.7126
80 88.9 77.9272
90 101.6 90.1192
100 114.3 102.2604
125 141.3002 128.1938
150 168.275 154.051
200 219.075 202.7174
250 273.05 254.508
300 323.85 303.2252
350 355.6 333.4004
400 406.4 381
450 457.2 428.6504
500 508 477.8756
600 609.6 574.7004
*/
}
本文版权归腿腿教学网及原创作者所有,未经授权,谢绝转载。
上一篇:二次开发教程:WPF 依赖属性