MSCE C++ CELL EditItem的问题!

老师好,cell 已经创建完成,首先感谢您的提携和教导,总算代码完成了cell的创建任务,但是与系统中自带的cell库中的cell 相比较,发现没有图片中标红的部分,缺少这个属性。

另外,通过代码mdlCell_placeCell  调用系统的cell后,发现这种调用方式也没有看见右键菜单 中有 edit item 这个菜单。

问题整理如下 烦请耐心 看一下:

1、直接使用平台上cell库中的cell,右键属性中有一个  EditItem 可以对cell进行参数调整或修改的功能,但是代码创建的没有该功能,请问如果代码创建的画需要这个Edit Item 功能点,应该怎么解决?       

2、代码(mdlCell_placeCell)调用系统内置的cell库中的cell后,发现也没有Edit Item 该功能。请问应该怎么调整调用方式?

  • 出不出现这个Edit Item与Cell无关,而与你这个元素(普通图形元素或Cell皆可)是否关联了Item有关。ItemType是非图形属性的定义,Item就是按照某个ItemType关联到图形元素上的具体非图形属性。

    请选择MSCE的Riibon菜单Attach > Item Types学习使用ItemType。



  • 付老师,您好!

    情况是这样的,您说的那个 自己定义cell文件 创建cell,然后给cell添加item  type  我们已经添加了。另外我们测试的cell 是系统内置的情况如下:

    用代码(mdlCell_placeCell)调用的时候,发现没有Edit Item 该功能,但是如果从应用库中直接直接拖拽出来,使用测试的时候 是有Edit Item 选项的,所以个人判断是自己在调用的时候 出现的问题。调用的语句为:

    mdlCell_placeCell (&pts[1], &bili, true, &jiaodu,NULL,  0, false,0,0,cellname1,	NULL); 

    您看一下 是u是调用的时候 有问题?

    另外我们已经使用代码创建了cell,想知道有没有类似于添加item  type 选项的API 提供?

    另外我在绘制线性结构的时候,使用的都是默认的实线,如果需要调整线性 比如虚线 是否有API可以参考?

    Bentley 二次开发小白一枚

  • 你们是如何给Cell添加Item的?需要打开CEL库文件,然后在Explorer中找到每个Cell对应的model,右击这些model,然后选择Add Item来添加。

    另外,MSCESDK中带有完整的ItemType API,请参考SDK中现有的例子C:\Program Files\Bentley\MicroStationCONNECTSDK\examples\DgnEC\TestItemType

    如果你的SDK中没有这个例子,说明你的SDK还不是最新版的U12.



  • 付老师,用mdlCell_placeCell (&pts[1], &bili, true, &jiaodu,NULL,  0, false,0,0,cellname1, NULL); 这个接口函数,放置 指定的cell 到指定的位置后,使用 右键查看属性,发现没有本该有的Edit  item。我个人分析 是 这个接口函数使用的 有问题,您看一下,是否 参数传递上是否存在问题。代码如下:

    DPoint3d bili;//定义缩放比例的三维点
    bili.x = 1; bili.y = 1; bili.z = 1;//按照x\y\z三个方向定义使用比例
    WCharCP cellname1 = L"Double Door Cabinet";//定义要调用的cell名称
    
    RotMatrix jiaodu = RotMatrix::FromAxisAndRotationAngle(2, dunjiao[u]);
    mdlCell_placeCell (&pts[1], &bili, true, &jiaodu,NULL,  0, false,0,0,cellname1,	NULL); 

    Bentley 二次开发小白一枚

  • 我用您的代码测试了是没问题的,我的单元库用的是附件中的单元库。

    CelLib.dgn