|
发表于 2002-9-30 15:33:00
|
显示全部楼层
stoneball朋友觉得似乎没有必要这么做,我有同感。不过我的意见与stoneball朋友有所不同:首先,仅就使用其它文件定义的图块而言,ACDA设计中心很容易做到,无须ARX编程。其次,就算要用ARX实现也并不困难。这是我一直未回复该主题的原因。
首先新建AcDbDatabase并打开图形文件(不是readfile,而是pDb->readDwgFile(strFile););然后浏览strFile的块表记录,找到要使用的图块,获取该图块的块表记录。最后,在当前图形数据库中插入图块,用AcDbBlockReference类的构造函数:
AcDbBlockReference(const AcGePoint3d& position,AcDbObjectId blockTableRec);
该函数的第二个参数就是从strFile文件中获取的块表记录。在此之前用acedGetPoint()函数要求用户输入点后转换为AcGePoint3d类型作为构造函数的第一个参数,即可实现插入点在屏幕上控制。
stoneball朋友试着做做,这是ARX图形数据库操作的基本知识。有什么困难告诉我,会回复的。 |
|