( command "-image"....)稳定执行的问题
各位大侠,请求该命令帮忙解决:(command "-image" "attach" word axi_point 1 0 ),执行后出现如图报警。
其中的word 与插入点由以下程序生成:
(setq fname (getfiled "Pls input file name"
""
"pot"
2 )
)
(setq fim (open fname "r"))
(setq strname (read-line fim))
(close fim)
(setq imd (strlen strname))
(setq word (read strname))
插入点是自己前面定义进去的变动点word与axi_point也可以写成"""", 即变成(command "-image" "attach" "" "" 1 0 ),但是也没有用处,还是有此报警
加上后续的循环判断,用附件文件读,加上29副jpg图片(其实任意几幅也可以) 谁能够帮助解答?
(defun c:inimage (/ fname fim
strname imd word
chklay image image_angle
die_angle scale_dim die_center
die_center_asist tape_center_asist
center_dim chksty
)
(setvar "CMDECHO" 0)
(setq fname (getfiled "Pls input file's name" "" "pot" 2))
(setq fim (open fname "r"))
(setq strname (read-line fim))
(setq imd (strlen strname))
(while (/= imd 0)
(setq word (read strname)) ;该行字符赋予word
(command "-image" "attach" word "" "" "" "")
(setq strname (read-line fim)) ;读一行
(setq imd (strlen strname)) ;返回字符串的个数
)
(setvar "CMDECHO" 1)
)
即使是这个不加字符串word与插入点的运行也不稳定。 (defun c:inimage (/ fname fim strname)
(setvar "CMDECHO" 0)
(setq fname (getfiled "Pls input file's name" "" "pot" 2))
(setq fim (open fname "r"))
(while (/= (setq strname (read-line fim)) "")
(command "-image" "attach" strname "" "" "" "")
)
(close fim)
(setvar "CMDECHO" 1)
)
谢谢,我会试验下。 经过试验,还是不行,程序会出现没有响应报警 2008版以后的CAD,"-image" 这个命令经常出现卡死现象。 2007以后的版本都有这个问题,
我是遇到用CTRL+v直接粘贴图片进CAD卡死问题,
后面把这个acad2007doc.lsp,里imagefile子程序里
用VLA-ADDRASTER 替代 "-image"命令才可以。
;00修复2007以后CAD不能CTRL+v粘贴图片问题
(DEFUN imagefile (filename) ;/ filedia-save cmdecho-save)
(VL-LOAD-COM)
(SETVAR "cmdecho" 0)
(SETQ mspace (VLA-GET-MODELSPACE
(VLA-GET-ACTIVEDOCUMENT
(VLAX-GET-ACAD-OBJECT)
) ;_ 结束vla-get-activedocument
) ;_ 结束vla-get-modelspace
) ;_ 结束setq
(SETQ po1_mga (GETPOINT "\n图像插入点: "))
(SETQ po_mga (VLAX-3D-POINT po1_mga))
(SETQ obj_mga (VLA-ADDRASTER mspace (FINDFILE filename) po_mga 100 0))
(SETQ ename_mga (VLAX-VLA-OBJECT->ENAME obj_mga))
(VLA-GETBOUNDINGBOX obj_mga 'll 'ur)
(SETQ po2_mga (CADR (MAPCAR 'VLAX-SAFEARRAY->LIST (LIST ll ur))))
(SETQ po3_mga (LIST (CAR po1_mga) (CADR po2_mga)))
(VL-CMDF "SCALE" ename_mga "" po1_mga "r" po1_mga po3_mga pause)
(PRIN1)
) ;d
页:
[1]