Bentley Communities
Bentley Communities
  • Site
  • User
  • Site
  • Search
  • User
  • Welcome
  • Products
  • Support
  • About
  • More
  • Cancel
中国BDN社区
  • Welcome to Bentley Communities
  • Bentley's Communities
  • 中国BDN社区
  • Cancel
中国BDN社区
中国BDN社区-威客 4.3.1单独使用
    • Sign In
    • 中国BDN社区-威客
    • +iTwin.js编程
    • +MicroStation CONNECT版SDK的新变化
    • +MicroStation编程技巧
    • -OpenRoads中国版平台开发指南
      • 1 概述
      • 2. 系统基本组成
      • +3. CIM SDK
      • -4 Cim Elements
        • 4.1前言
        • 4.2 Cim Elements的内容
        • -4.3 Cim Elements的应用
          • 4.3.1单独使用
          • 4.3.2 配合CimPlatform Core使用
        • 4.4 结语
      • +5 CIMMesh SDK
      • +6 CIMSolid SDK
      • +7 CIM Template
    • +ORD SDK二次开发编程
    • +一步步学习ABD-CE开发
    • +一步步学习MicroStation CE Addin开发
    • 一步步学习MicroStation CE MDL开发
    • +一步步学习ProjectWise编程
    • 中国优先社区二次开发精华帖汇总
    • +学习Microstation交互式工具开发
    • +过期帖,留存仅供参考
    • +非Bentley社区分享的文章
    • C#、C/C++相关的编程知识汇总

     
     Questions about this article, topic, or product? Click here. 

    4.3.1单独使用

            CimPlatform Elements可单独使用,用于直接创建DgnPlatform的内置元素。此时,这些内置元素只有自带的几何含义,并不直接包含专业含义,与使用Microstation SDK中的API在意义上基本相同,只是更为简单而已,因而在专业软件中意义并不是很大。尽管开发者也可以在使用它创建内置元素后,再利用Item Type机制为其添加专业含义,从而把它们转变成用户自定义对象,但是这种方法的可操作能力有限,而且较为繁琐。以下的C#代码片段,分别使用CimPlatform Elements创建了一个Line元素和一个Ellipse元素。

    void CreateLineElement()
    {
            // 获取当前激活模型
            DgnModel model = Bentley.MstnPlatformNET.Session.Instance.GetActiveDgnModel();
    
            // 定义直线的起终点
            DPoint3d start = new DPoint3d(0, 0, 0);
            DPoint3d end = new DPoint3d(1, 1, 0);
    
            // 创建直线元素
            CimLineElement line = \
            new CimLineElement(start, end, model);
    
            // 保存元素到模型中
            line.SaveToModel();
    
            // 修改元素的显示属性
            line.UpdatePropertySetter();
            line.SetTransparency(8.2);
            line.Apply();
            
            // 保存元素的修改
            line.SaveToModel();
    }
    
    void CreateEllipseElement()
    {
            // 获取当前激活模型
            DgnModel model = Bentley.MstnPlatformNET.Session.Instance.GetActiveDgnModel();
    
            // 定义圆心点
            DPoint3d center = new DPoint3d(1000, 0, 0);
    
            // 创建椭圆元素
            CimEllipseElement ellipse = \
            new CimEllipseElement(center, 800, 800, 0, model);
    
            // 保存元素到模型中
            ellipse.SaveToModel();
    }
    

    • Share
    • History
    • More
    • Cancel
    • Li Ma Created by Li Ma
    • When: Fri, Mar 12 2021 12:27 AM
    • Revisions: 1
    • Comments: 0
    Recommended
    Related
    Communities
    • Home
    • Getting Started
    • Community Central
    • Products
    • Support
    • Secure File Upload
    • Feedback
    Support and Services
    • Home
    • Product Support
    • Downloads
    • Subscription Services Portal
    Training and Learning
    • Home
    • About Bentley Institute
    • My Learning History
    • Reference Books
    Social Media
    •    LinkedIn
    •    Facebook
    •    Twitter
    •    YouTube
    •    RSS Feed
    •    Email

    © 2023 Bentley Systems, Incorporated  |  Contact Us  |  Privacy |  Terms of Use  |  Cookies