插入多个图像
需要使用从1,2,3开始的图像文件名序列在A3页中插入图像。。。来自指定路径的etc这几乎和你的另一篇文章一样,你在那里使用了文件首选项,这是我不会做的,它很容易从一个给定的目录中列出dwg名称。这里有很多帖子。
无论如何,我已经做了你想要的,但在大约50张图片在一个去它是我们的电话簿,他或她在哪里?在本例中,它使用标签电话号码,并将其与具有相同号码的图像相匹配。
; routine to insert images based on a block position
(vl-load-com)
(defun *error* ( msg )
(princ "\nerror: ")
(alert (strcat "\n Missing phone number image" name))
(princ)
)
(setq mspace (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
(setvar "clayer" "staffimages")
(setq ss1 (ssget "x"(list (cons 0 "INSERT") (cons 2 "phnum"))));block name is phnum
(setq len (sslength ss1))
(setq x 0)
; then insert block value at x,y
; need to pull out block find x,y and value
(repeat len
(foreach att (vlax-invoke (vlax-ename->vla-object (ssname SS1 x )) 'getattributes)
(if (= "PHNUM" (strcase (vla-get-tagstring att))); tagname is phnum
(progn
(setq blknum (vla-get-textstring att))
(setq inspt (vla-get-insertionpoint att))
)
)
)
;(setq blkval (rtos blknum 2 0))
(setq name (strcat "P:\\St Offices\\" blknum ".jpg"))
(princ (strcat "\n" name))
(vla-AddRaster mspace name inspt 1.5 0.0)
;(command "-image" "attach" name (vlax-3d-point inspt) 1.0 0.0)
(setq x (+ x 1))
) ;repeatlen
(setq ss1 nil)
(princ "alla done"
(princ)
页:
[1]