利用entmake 插入image的问题
<p>本来利用</p><p>(command "_imge" "a" ...)</p><p>的形式是可以插入IMAGE的,但是要用到arx反应器回调函数时,不能调用CAD命令,只能用entmake插入image。</p><p>现在问题来了,用下面的函数插入图片时有问题,我查了DXF代码,并与直接插入的图片的组码进行了对比,主要是330组码的问题,330组码中含IMAGE附着时的图像名,我试着生成330组码,但是显示NIL。</p><p></p><p>以下的代码中不含330组码,</p><p>要是新开窗口的话,会提示“DXF 组不正确: (340)”</p><p>要是开了窗口,并插入过图片的话,不会报错,但是有时图片不显示(查看路径是对的),但是查看图像管理器,看不到插入的图片。</p><p>(defun c:timg ()</p><p> (setq img340 (entmakex<br/> (list<br/> '(0 . "IMAGEDEF")<br/> '(5 . "89")<br/> '(100 . "AcDbRasterImageDef")<br/> '(90 . 0)<br/> '(1<br/> .<br/> "c:\\test.bmp"<br/> )<br/> '(10 154.0 299.0 0.0)<br/> '(11 0.00649351 0.00649351 0.0)<br/> '(280 . 1)<br/> '(281 . 0)<br/> )<br/> )<br/> )</p><p> (entmake<br/> (list<br/> '(0 . "IMAGE")<br/> '(5 . "8B")<br/> '(100 . "AcDbEntity")<br/> '(67 . 0)<br/> '(410 . "Model")<br/> '(8 . "0")<br/> '(100 . "AcDbRasterImage")<br/> '(90 . 0)<br/> '(10 647.821 428.712 0.0)<br/> '(11 0.00649351 0.0 0.0)<br/> '(12 3.97599e-019 0.00649351 0.0)<br/> '(13 154.0 299.0 0.0)<br/> (cons 340 img340)<br/> '(70 . 7)<br/> '(280 . 0)<br/> '(281 . 50)<br/> '(282 . 50)<br/> '(283 . 0)<br/> '(71 . 1)<br/> '(91 . 2)<br/> '(14 -0.5 -0.5 0.0)<br/> '(14 153.5 298.5 0.0)<br/> ) ;_ 结束list<br/> ) ;_ 结束entmake<br/>)</p> <p>有人做过这个吗?</p> <p>已经搞定了,不用ENTMAKE,用ACTIVEX。</p><p>(setq *acad* (vlax-get-acad-object)<br/>actvdoc (vla-get-activedocument *acad*)<br/>mspace (vla-get-modelspace actvdoc)<br/>ImgObj (vlax-invoke mspace 'addraster <br/>"C:/TEST.png" (list 0.0 0.0 0.0) 1 0))</p>
页:
[1]