1、在制图过程中,我们往往需要得到dwg图纸上图片的路径,下面以MxCAD控件为例,讲解如何得到dwg图纸上的图片路径。
2、实现思路:首先创建一个过滤链表,将过滤对象添加到链表中,然后利用Select2选择集选择出复合条件的实体对象,再利用ObjectIdToObject由实体id返回实体对象,最后由SourceFileName属性得到图片的文件路径。
3、主要用到函数说明:
(1)IMxDrawSelectionSet::Select2
构造选择集。详细说明如下:
参数 | 说明 |
[in] MCAD_McSelect Mode | 构造选择集方式 |
[in] VARIANT point1 | 构造择择集时需要使用到的点对象 |
[in] VARIANT point2 | 构造择择集时需要使用到的点对象 |
[in,optional] VARIANT filterType | 构造选择集的过滤数据的类型 |
[in,optional] VARIANT filterData | 构造选择集的过滤数据 |
可以取如下值 | mcSelectionSetWindow = 0, mcSelectionSetCrossing = 1, mcSelectionSetFence = 2, mcSelectionSetPrevious = 3, mcSelectionSetLast = 4, mcSelectionSetAll = 5, 选择图面上的所有实体 mcSelectionSetWindowPolygon = 6, mcSelectionSetCrossingPolygon = 7, mcSelectionSetUserSelect = 8 mcSelectionImpliedSelectSelect = 9,_I 返回当前图上已经选择的实体 |
(2)IMxDrawRasterImageDef::SourceFileName
得到光栅文件名称。
(3)IMxDrawDatabase::ObjectIdToObject
实体id返回实体对象,具体详细如下:
参数 | 说明 |
[in] LONGLONG lId | 实体id |
js代码实现如下: