我的提议很简单
- (if (not *dist*)(setq *dist* 1.0))
- (defun c:EXLIN (/ *error* ext e ve os ad)
- (defun *error* (msg)
- (if (not (wcmatch (strcase msg) "*CANCEL*,*EXIT*"))
- (princ (strcat "\nError: " msg))
- ) ;_ end of if
- (princ)
- ) ;_ end of defun
- (setq ext (getdist (strcat "\nEnter extension? <" (rtos *dist* 2) "> : "))
- os (getvar "osmode")
- ) ;_ end of setq
- (if (not ext)
- (setq ext *dist*)
- (setq *dist* ext)
- ) ;_ end of if
- (setvar "osmode" 0)
- (while (and (setq e (entsel "\nPick Aligned Dimension: "))
- (setq ve (vlax-ename->vla-object (car e))
- ad (vla-get-objectname ve)
- ) ;_ end of setq
- ) ;_ end of and
- (cond ((apply 'or (mapcar ''(($) (wcmatch ad $)) '("*AcDbAlignedD*" "*AcDbRotatedD*")))
- (+exlin (car e) ext
- )
- ((wcmatch ad "*AcDbLine*") (+exlin (car e) ext
- (t nil)
- ) ;_ end of cond
- ) ;_ end of while
- (setvar "osmode" os)
- ) ;_ end of defun
- http:
- (princ "\nhanhphuc 2014. Extension Dimension. Command: EXLIN")
- (princ)
|