马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 newer 于 2018-5-11 10:17 编辑
 - (defun c:XDTB_InPutTwf (/ a AcadDocument AcadObject b bl chat fn fp height i ii imageName imageNames
- insertionPnt len len1 mSpace path pt RasterObj reco tfwname twfNames width x
- )
- (defun _process (fn imageName /)
- (setq fp (open fn "r"))
- (setq reco (read-line fp)
- ii 1
- )
- (setq chat nil)
- (while reco
- (setq chat (append (list reco) chat))
- (setq reco (read-line fp)
- ii (1+ ii)
- )
- )
- (close fp)
- (setq pt (list (atof (nth 1 chat)) (atof (nth 0 chat)) 0))
- (setq bl (atof (nth 5 chat)))
- (setq insertionPnt (vlax-make-safearray vlax-vbDouble '(0 . 2)))
- (vlax-safearray-fill insertionPnt pt)
- (setq RasterObj (vla-AddRaster mSpace imageName insertionPnt 1 0))
- (setq width (vla-get-Width RasterObj))
- (setq height (vla-get-height RasterObj))
- (vla-put-ImageWidth RasterObj (* width bl))
- (vla-put-Imageheight RasterObj (* height bl))
- (xdrx_entity_move
- (entlast)
- (list 0 (* height bl))
- (list 0 0)
- )
- )
- (defun _gettfw (imagenames /)
- (setq a (mapcar '(lambda (x)
- (setq imageName x
- path (xdrx_system_splitpath imageName)
- tfwname (strcat (car path) (cadr path) (caddr path) ".tfw")
- )
- (if (findfile tfwname)
- (list tfwname imageName)
- )
- )
- imageNames
- )
- )
- (setq b (vl-remove nil a))
- )
- (xdrx_begin)
- (setq AcadObject (vlax-get-acad-object)
- AcadDocument (vla-get-ActiveDocument Acadobject)
- mSpace (vla-get-ModelSpace Acaddocument)
- )
- (if (setq imageNames
- (xdrx_system_selectfiles
- "选取图像文件"
- ""
- "jpg;tif;tiff"
- 4096
- )
- )
- (progn (setq len1 (length imageNames))
- (if (setq twfNames (_gettfw imageNames))
- (progn (setq i 0
- len (length twfNames)
- )
- (mapcar '(lambda (x)
- (setq i (1+ i))
- (xdrx_prompt
- (if (= i 1)
- "\n"
- "\r"
- )
- "正在处理第 "
- i
- " of "
- len
- "个图像文件."
- )
- (_process (car x) (cadr x))
- )
- twfNames
- )
- (xdrx_prompt
- "\n选择了" len1 "个图像文件,成功拼接了" i "个."
- )
- (command "zoom" "e" "zoom" "0.8x")
- )
- (xdrx_prompt "\n没有发现TFW文件.")
- )
- )
- )
- (xdrx_end)
- (princ)
- )
|