在代码中可以使用Session.Instance.Keyin("geometry profile open view")打开纵断面模型,但执行后需要有交互操作;是否有不使用KEYIN打开纵断面模型的方法?
下面代码是实现获取一条线路的profile:
long myid = 1463; ElementId elId = new ElementId(ref myid); Element ele = d.GetDgnModel().FindElementById(elId); if (ele != null) { Alignment al = Alignment.CreateFromElement(con, ele); if (al != null) { if (al.Profiles != null && al.Profiles.Count() > 0) { foreach (Profile profile in al.Profiles) { modelName = profile.DgnModel.ModelName; } } } }
Answer Verified By: msdi_GuangxinLiu
张老师,这个方法我好像以前试过。通过拿到profileModel,然后setrootModel给窗口,纵断面模型是显示了,但是无法显示纵断面的坐标轴;
(左图为setrootmodel打开的纵断面;右图是标准的纵断面窗口)
标准纵断面窗口里面的信息需要你自己去计算,并没有现成的接口,目前提供的接口只是获取模型纵断面。
打开现有的标准纵断面窗口也没有相关接口吗?只能通过KEY IN吗?
没有的,目前ord sdk并未提供根据获得的纵断面打开其对应标准窗口。
好的,感谢张老师!一开始是通过IViewDecoration重新绘制了一个含有动态坐标轴的窗口,但也被卡住了,(之前咨询过您)在我新绘制的窗口无法实现单轴拉伸。
是的,这个用代码自己写比较麻烦的。