0 Members and 1 Guest are viewing this topic.
(defun c:xdtb_rectcen (/ box pl) (defun myerr (msg) (xdrx_sysvar_pop) (setq *error* olderr) (xdrx-entity-delete pl) (xdrx-end) (princ) ) (xdrx-begin) (setq olderr *error* *error* myerr ) (xd::doc:getdouble (xdrx-string-multilanguage "\n矩形长" "\nRectangle Length") "#xd-var-global-length" 10.0 ) (xd::doc:getdouble (xdrx-string-multilanguage "\n矩形宽" "\nRectangle Width") "#xd-var-global-width" 10.0 ) (xdrx-sysvar-push '("osmode" 545)) (setq box (xdrx_points->offsetbox '(0 0 0) (list #xd-var-global-length 0.0 0.0) (/ #xd-var-global-width 2.0) (/ #xd-var-global-width 2.0) 0.0 0.0 ) ) (setq pl (xdrx-polyline-make box t)) (setq mat (xdrx-matrix-setrotation (angle '(0 0 0)(getvar "ucsxdir")) '(0 0 1) '(0 0 0))) (xdrx-entity-transform pl mat) (xd::drag:freemove pl (xd::geom:get9pt pl 5) ;drag basepoint at center (+ 1 2 4 128) ;;Activate the base point, rotate 90 degrees, and align 547 nil ) (xdrx-entity-delete pl) (setq *error* olderr) (redraw) (xdrx-end) (princ))