在msce中画的电缆,怎么通过电缆的ID通过编码获取电缆的体积和表面积。

在msce中画的电缆,怎么通过电缆的ID通过编码获取电缆的体积和表面积。

  • DgnModel dgnModel = Session.Instance.GetActiveDgnModel();
    Element myElem = dgnModel.FindElementById((ElementId)1513L); 
    if (null == myElem)
    {
        MessageCenter.Instance.ShowInfoMessage("Can't find element which id=1513", null, true);
        return;
    }
    DgnFile dgnFile = Session.Instance.GetActiveDgnFile();
    ECSchema baseSchema = DgnECManager.Manager.LocateDeliveredSchema("BaseElementSchema", 1, 0, SchemaMatchType.LatestCompatible, dgnFile) as ECSchema;
    ECClass volClass = baseSchema.GetClass("MstnVolume") as ECClass;
    IDgnECInstance inst = DgnECManager.FindECInstanceOnElement(myElem, volClass);
                
    string msg = "SurfaceArea = " + inst["SurfaceArea"].StringValue + ", Volume = " + inst["Volume"].StringValue;
    MessageCenter.Instance.ShowInfoMessage(msg, null, true);



    Answer Verified By: Zhong Ling 钟凌