重Revit2015开始,API里提供了一些
内建模型的API,但是功能还比较简单
Revit2017里提供了比较强大的一些API
有兴趣的可以去研究下,它可以画一些曲面什么的
这里介绍下简单版的。
内建模型可以指定Category,也可以指定材料
也可以将内建模型做成TYpe 然后用Type来创建
等等。。
下面是一个简单的例子
创建了一个属于墙的内建模型
Transaction trans = new Transaction(doc, "trans");
trans.Start();
XYZ p1 = new XYZ(5, 0, 0);
XYZ p2 = new XYZ(-5, 0, 0);
XYZ p3 = new XYZ(0, 5, 0);
Arc arc = Arc.Create(p1, p2, p3);
Line line = Line.CreateBound(p2, p1);
CurveLoop cl = new CurveLoop();
cl.Append(arc);
cl.Append(line);
IList<CurveLoop> cls = new List<CurveLoop>();
cls.Add(cl);
Solid solid = GeometryCreationUtilities.CreateExtrusionGeometry(cls, new XYZ(0, 0, 1), 5);
DirectShape ds = DirectShape.CreateElement(doc, cateId, Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
ds.AppendShape(new List<GeometryObject>() { solid });
trans.Commit();
博主会经常更新一些技术文章,请大家多多关注,
源码下载请加qq群480950299