 - (defun c:test (/ BLOCK_NAME FILED FILE_PATH
- MAXPOINT MINPOINT OBJ OBJ_10
- OBJ_DATA OBJ_I OBJ_NAME OBJ_WBLOCK
- OLDMCDECHO SEAR_ZDH_PT SEAR_ZDH_PT1
- ZDH ZDH_T
- )
- ;;;调用系统选择文件夹对话框 来源于明经通道
- (defun qf_getFolder (msg / WinShell shFolder path catchit)
- (vl-load-com)
- (setq winshell (vlax-create-object "Shell.Application"))
- (setq
- shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1)
- )
- (setq
- catchit (vl-catch-all-apply
- '(lambda ()
- (setq shFolder (vlax-get-property shFolder 'self))
- (setq path (vlax-get-property shFolder 'path))
- )
- )
- )
- (if (vl-catch-all-error-p catchit)
- nil
- path
- )
- )
- (setq block_name "gddjtk4")
- (setq obj (ssget (list (cons 0 "insert") (cons 2 block_name))))
- (if obj
- (progn
- (setq filed (qf_getFolder "选择保存的路径:"))
- (if filed
- (progn
- (setq oldmcdecho (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (setq obj_i -1)
- (repeat (sslength obj)
- (setq obj_name (ssname obj (setq obj_i (1+ obj_i))))
- (vla-GetBoundingBox
- (vlax-ename->vla-object obj_name)
- 'minpoint
- 'maxpoint
- ) ;_取得包容图元的最大点和最小点
- (setq minpoint (vlax-safearray->list minpoint)) ;_左下角
- (setq maxpoint (vlax-safearray->list maxpoint)) ;_右上角
- (command "..zoom" minpoint maxpoint)
- (setq obj_data (entget obj_name))
- (setq obj_10 (cdr (assoc 10 obj_data))) ;_块的插入点,用于找到宗地编号
- (setq sear_zdh_pt1 (polar obj_10 (/ pi 2) 76))
- (setq sear_zdh_pt (polar sear_zdh_pt1 0 15))
- (setq zdh_t (ssname (ssget "f"
- (list sear_zdh_pt sear_zdh_pt1)
- '((0 . "text"))
- )
- 0
- )
- )
- (setq zdh (cdr (assoc 1 (entget zdh_t))))
- (setq file_path (strcat filed "\" zdh ".dwg"))
- (setq obj_wblock (ssget "c" minpoint maxpoint))
- (command "-wblock" file_path "" obj_10 obj_wblock "" "oops")
- )
- (setvar "cmdecho" oldmcdecho)
- (princ "\n完成")
- )
- )
- )
- )
- (princ)
- )
|