写在前面
首先画一张图准备测试(我的是新建的建筑项目,两个标高,重命名为1F和2F,我在1F上创建的如下元素)
分析编程要求,发现需要用到的知识点
1.Selection中选中某点和框选多个元素 —— 选中某点是PickPoint 框选是PickElementsByRectangle
2.计算元素体积 —— 元素的GeometryObject的solid可以计算体积
编程思路
选择某点创建柱子
运用Selection.PickPoint得到要插入点的坐标
创建一个level和一个FamilySymbol
运用NewFamilyInstance方法创建一个柱子
选择某元素并计算体积
运用Selection.PickObject得到选中的元素(类型是Reference)
运用get_Geometry函数得到Element的几何形式GeometryElement
遍历GeometryElement求得Solid的体积和
框选若干元素得到选中墙的数量
运行Selection.PickElementsByRectangle得到选中的元素中墙的数量
以上方法的参数需要自己写个class(详见代码)
代码:
using System;
using System.Collec