• 【C# ORD中国版】自定义Cim对象DrawElement方法bug反馈

    之前遇到了给自定义Cim对象设置材质,然后移动后触发对象重绘后,材质不显示,但EC属性中还带有材质的问题。 经过测试,是自定义Cim对象的DrawElement方法的问题 对比下面两段代码 protected override BentleyStatus OnGeneratePresentation(ViewContext viewContext) { SolidUtil.RapidSolidCreate.MakeSlabBody(out SolidKernelEntity solidKernel…
  • 【C# ORD中国版】有关自定义Cim对象属性驱动放置点以及直接修改原点冲突的问题

    需求描述如下:我的自定义cim对象有一个string类型名为AlignName的属性和double类型名为AlignStation和AlignOffset的属性,假设当我修改 AlignOffset 属性时,想将cim对象的放置点的在基于AlignName确定的单元上的位置的基础上在偏移一个距离。但如果我直接在ORD中手动修改cim对象的EC属性Origin中的值时,其放置点又可以跟随我输入的 Origin坐标 值确定。 前半个需求我实在重写的Placment属性中实现的,代码如下: public…
  • 【C# ORD中国版】自定义Cim对象的属性类型为point2d时,属性变为只读无法使用

    <ECProperty propertyName="PlaceOffset" typeName="point2d" displayLabel="放置点偏移量"> </ECProperty> 如上的ECSchema定义了以个类型为point2d的属性,创建对象前我给他尝试赋值3d的0和2d的0,但是该属性在创建的对象上显示为灰色只读,如图所示。 然后通过代码读取这个属性获得的也是null,如图 。 请问是我哪立使用的有问题?
  • 【C# ORD中国版】自定义Cim对象的只读属性,在AddToModel以后如何更改?

    在ECSchema中定义的只读属性(readOnly="True"),在刚创建Cim对象时,可以对其进行赋值,但当对象AddToModel后,就无法通过SetValue或者索引器的方式进行赋值了,反回32768的错误结果。 请问是底层机制导致的这个问题吗?还是有什么办法可以对象AddToModel以后修改在ECSchema中定义为只读的属性的值?
  • 【C# ORD中国版】Cim对象材质贴附问题

    我的需求是想给自定义的Cim对象贴附材质,但在论坛里查了一下,C#下材质功能不完善,建议使用C++。 我的材质贴附需求很简单,就是简单的将某个元素设置为某个MS自带的材质即可,我尝试了使用C#下的MaterialPropertiesExtension功能,但是没有设置成功。 我还尝试了使用EC的方式设置Cim对象的属性,是可以在第一次将Cim对象AddToModel的时候生效的,如下图所示。 但是当我通过改变某个属性值导致Cim对象重绘时,之前设置的对象的“连接材质”属性没有变,但是对象实际显示的材质就没有了…
  • 【C# ORD中国版】CimRoot.HideProperty()API无法设置属性显示和隐藏反馈

    public TrafficSignFoundation() { StatusInt s1= HideProperty("Quantities.Length", true,true); StatusInt s2=HideProperty("Width", true); } 我在自定义CIM对象的构造函数中,尝试使用HideProperty对某个属性进行隐藏,但是该方法返回-1,无法实现属性的隐藏,请问问题出在哪里? 我确认我要隐藏属性名称和ECSchema中是一致的。 …
  • 【C# ORD中国版】创建CimCurveElement对象抛异常

    我才用如下代码创建CimCurveElement对象 internal static void CimSolidTest() { try { double uor = Utils.ActiveDgnModel.GetModelInfo().UorPerMaster; List<DPoint3d> dPoint3Ds = new List<DPoint3d> { DPoint3d.FromXY(-0.5 * uor, -0.4 * uor), DPoint3d.FromXY…
  • 【C# ORD中国版】关于CimSolid绘制尺寸的问题

    我采用如下代码通过CIMSolidSDK绘制了一个实体 internal static void CimSolidTest() { double uor = Utils.ActiveDgnModel.GetModelInfo().UorPerMaster; SolidUtil.RapidSolidCreate.MakeSlabBody(out SolidKernelEntity solidKernel, uor, 0.8* uor, uor*0.8, Utils.ActiveDgnModelRef…
  • 【C# ORD中国版】自定义对象设置优先级的问题

    我通过如下方式设置了显示优先级,但实际的属性显示顺序和我设置的优先级不一样,还是按属性名称的拼音音序排列的。 <?xml version="1.0" encoding="utf-8" ?> <ECSchema schemaName="CimTrafficSignCore" nameSpacePrefix="ctsc" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.2.0"> <ECSchemaReference…
  • 【C# ORD中国版】如何对自定义Cim对象的结构体属性进行取值和赋值操作?

    问题如题。 我通过 对象名.SetValue("Quantities.Name", "混凝土", true, true);的方式,可以对结构体属性进行赋值,但是赋值后通过 cimEle.GetValue("Quantities.Name")方式却拿到的是null,体现在我的代码里就是q拿到的是null,请问具体原因是什么?我应该如何对结构体属性进行取赋值? internal static void PlaceDemo() { try { TrafficSignCore trafficSignDemo…
  • OpenBridge Modeler CE版SDK 正式发布!

    OpenBridge Modeler SDK CONNECT Edition(简称OBM SDK CE)已经正式登陆Bentley下载中心并面向所有BDN成员单位开放,开发者们可通过BDN账号登陆下载中心来获取该资源。 功能简介: 本次OBM SDK CE所包含的主要功能如下: 以CIF为基础,面向OBM CE提供桥梁及其相关构件的参数信息提取能力; 提供了与OBM近乎等价的构件层次关系及组织方式; 提供了等价的原生层接口和托管层接口; 可遍历给定DGN模型中的所有桥梁…
  • 2018 BDN开发培训顺利举办!

    2018年第一、二期BDN开发培训已于6月12日-15日、6月19日-22日在Bentley海淀研发中心顺利举办。一共有来自不同行业的22家单位、共计40余位开发者参加了本次培训。来自Bentley的两位资深技术专家——符永安经理及肖慎重先生,在8天的时间里为开发者们带来了精彩的培训课程。 本次培训主要针对C#语言环境下的 MicroStation CE 和 OpenRoads Designer CE 的二次开发,为参与培训的开发者们梳理了从环境配置到详细编程的开发知识,结合实例深入浅出地讲解了SDK中的一些主要对象…