(defun replace-graph ()\n (setq shape-A (vlax-ename->vla-object (car (entsel "\n选择图形A:"))))\n (setq shape-B (vlax-ename->vla-object (car (entsel "\n选择图形B:"))))\n\n (vla-put-color shape-A 1) ; 将图形A的颜色设置为红色\n\n (setq shape-A-points (vla-getboundingbox shape-A))\n (setq shape-B-points (vla-getboundingbox shape-B))\n\n (setq shape-A-width (- (vlax-safearray->list shape-A-points 1) (vlax-safearray->list shape-A-points 4)))\n (setq shape-A-height (- (vlax-safearray->list shape-A-points 2) (vlax-safearray->list shape-A-points 5)))\n\n (setq shape-B-width (- (vlax-safearray->list shape-B-points 1) (vlax-safearray->list shape-B-points 4)))\n (setq shape-B-height (- (vlax-safearray->list shape-B-points 2) (vlax-safearray->list shape-B-points 5)))\n\n (setq insertion-point (vlax-safearray->list shape-A-points 0))\n\n (setq scale-x (/ shape-B-width shape-A-width))\n (setq scale-y (/ shape-B-height shape-A-height))\n\n (setq transform-matrix (list (list scale-x 0 0)\n (list 0 scale-y 0)\n (list 0 0 1)\n insertion-point))\n\n (vla-put-rotate shape-A (vlax-get-property shape-B 'rotation))\n (vla-put-transform shape-A (apply 'vlax-make-safearray (cons :vlax-float transform-matrix)))\n)\n\n请注意,此代码假设您已经安装了AutoCAD以及Visual LISP开发环境,并且您将选择两个图形进行替换。


原文地址: https://www.cveoy.top/t/topic/ptcR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录