BIM建筑网
更专业的BIM技术学习网站!


Revit二次开发——怎么读取cad里的单独的一条线

免费的Ai上线啦!
BIM建筑网自主研发,你想要Ai功能都在这里!
Ai·提升效率 技术答疑


今天有朋友问我怎么通过Revit读取cad里的单独的一条线,我刚开始在网上找了一下,发现并没有相关介绍,网上都是读取cad里所有的线的信息或者图层相关。于是我自己尝试了一下,只要通过这个关键的PickObject(ObjectType.PointOnElement)方法,就可以获取到点选的单独的一条线,然后通过GetGeometryObjectFromReference转化成geometryObject即可。然后想怎么利用就怎么利用你选的信息(我这里是读取出线的第二个点的坐标)。

public class Class1 : IExternalCommand
 {
 public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
 {
 Document revitDoc = commandData.Application.ActiveUIDocument.Document; //取得文档
 Application revitApp = commandData.Application.Application; //取得应用程序
 UIDocument uiDoc = commandData.Application.ActiveUIDocument;

 Selection sel = uiDoc.Selection;
 //Reference re = sel.PickObject(ObjectType.Element);
 Reference re = sel.PickObject(ObjectType.PointOnElement);

 ImportInstance dwg = revitDoc.GetElement(re) as ImportInstance;
 var geoObj = (dwg as Element).GetGeometryObjectFromReference(re);
 TaskDialog.Show("revit", geoObj.GetType().ToString());
 //Transform transf = null;
 XYZ p1 = null;
 XYZ p2 = null;



 if (geoObj is Line)
 {
 Line l = geoObj as Line;
 p1 = l.GetEndPoint(0);
 p2 = l.GetEndPoint(1);
 TaskDialog.Show("revit", p2.X.ToString());
 }

 return Result.Succeeded;
 }
 }
}
微信公众号:xuebim
关注建筑行业BIM发展、研究建筑新技术,汇集建筑前沿信息!
← 微信扫一扫,关注我们+
赞(0) 打赏
BIM建筑网 » Revit二次开发——怎么读取cad里的单独的一条线

评论 抢沙发

评论前必须登录!

 

BIM建筑网,更专业的BIM技术学习网站!

关注建筑新动态,分享建筑新技术

联系我们关于BIM建筑网

觉得文章有用就打赏一下小编吧

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

扫码登录

微信「关注」,快捷登录
扫码关注后会自动登录
注册登录代表您已同意《用户许可协议》
账号登录 | 其他登录

|登录

找回密码

|账号登录注册