纵坐标尺寸被复制从而移动了原点?
这里是修复现有纵坐标以具有新源的粗略代码
- ;;; Reset orgin point of ordinate dimensions
- (defun c:DimOrdFix ( / pt1 ed en prefix suffix str)
- (setq pt1 (XYZ_getpoint nil "\nEnter New Ordinate Dimension Origin: " (cons 0 0)))
- (prompt "\nSselect Ordinate dimensions to change: ")
- (setq ss1 (ssget '((0 . "Dimension"))))
- (setq ssnum (sslength ss1))
- (if (and pt1 ss1)
- (progn
- (setq pt1 (trans pt1 1 0))
- (while (>= (setq ssnum (- ssnum 1)) 0)
- (setq ed (entget (setq en (ssname ss1 ssnum))))
- (if (member "AcDbOrdinateDimension" (massoc 100 ed))
- (progn
- (setq ed (subst (cons 10 pt1) (assoc 10 ed) ed))
- (entmod ed)
- (entupd en)
- ) ;_progn
- ) ;_if
- ) ;_while
- ) ;_progn
- (princ " - command exited!")
- ) ;_if
- )
- ;;;==========================================================
- ;;; Get Point with Default - derived Looking Glass Microproducts
- ;;;==========================================================
- (defun XYZ_getpoint (base prmpt default)
- (Setq
- prmpt (Strcat
- prmpt
- (If default
- (Strcat " ")
- ""
- )
- ": "
- )
- )
- (Cond
- ((If base
- (GetPoint base prmpt)
- (GetPoint prmpt)
- )
- )
- (default)
- )
- )
|