Annotation Scale比例值怎么拿到呢?
C++的没找到,C#的有:
long id = 787; ElementId elId = new ElementId(ref id); Bentley.DgnPlatformNET.Elements.Element el = Session.Instance.GetActiveDgnModel().FindElementById(elId); DgnModel model = Bentley.MstnPlatformNET.Session.Instance.GetActiveDgnModel(); AnnotationHandler anno = AnnotationHandler.GetAsAnnotationHandler(el); anno.RemoveAnnotationScale(); anno.AddToModel();
老师,这个是不是存在文件里么?为什么会和元素产生联系呢?
可以通过这种方式获取,其他的方式没找到 :)
好的 谢谢老师
学编程要先学软件的理念。这个AnnotationScale是和每个模型(model,不是指的每个图形元素,而是指的包含多个图形元素的容器)相关联的。所以,拿到模型的信息(C++中的ModelInfo),自然就能找到这个参数的。故ModelInfo.GetAnnotationScaleFactor函数就是您要找的。
至于该比例是否和某些元素关联,这就要看该元素是否支持AnnotationScale了,有些就支持,比如Text、Cell、Pattern等,有些就不支持,比如Line、Shape等。
对于支持该比例的元素,一旦你打开了支持功能(AnnotationScale On),则这些元素的比例会受该比例的影响。
Answer Verified By: new coder