newer 发表于 2016-9-6 08:05:01

移动对象的7种方法

本帖最后由 newer 于 2016-9-6 08:23 编辑


;;移动对象的几种方法
(setq e (entmakex (list '(0 . "CIRCLE") '(10 0. 0. 0.) '(40 . 1.0))))

; 第一种
(entmod (append (entget e) '((10 25. 0. 0.))))
; 第二种
(entmod
(subst '(10 25. 0. 0.) (assoc 10 (entget e)) (entget e))
)

; 第三种
**** Hidden Message *****

; 第四种
(vla-move (vlax-ename->vla-object e)
          (vlax-3d-point '(0. 0. 0.))
          (vlax-3d-point '(25. 0. 0.))
)
; 第五种 command
(command ".move" e "" '(0. 0. 0.) '(25. 0. 0.))
;;第六种 XDRX API
(xdrx_entity_move e '(0. 0. 0.) '(25. 0. 0.))
;第七种 XDRX_API
(xdrx_entity_transform e (xdrx_matrix_settranslation
                                                   (xdrx_matrix_identity 3)
                                                   (mapcar
                                                       '-
                                                       '(25. 0. 0.)
                                                       '(0. 0. 0.)
                                                   )
                         )
)



上面第六、第七种方法同时支持 实体表 和 选择集

/db_自贡黄明儒_ 发表于 2016-9-6 08:18:35

本帖最后由 /db_自贡黄明儒_ 于 2018-8-6 18:42 编辑

隐藏的是不是矩阵法?
坚持lisp版块的版主就是只有您 了。
我打算"ActiveX 和脚本技术在CAD的运用"这个方向去学习**** Hidden Message *****

q3_2006 发表于 2016-9-6 08:20:50

基本都用MOVE...

HLCAD 发表于 2016-9-6 08:59:34

非常感谢版主的无私奉献,向版主致敬!!!

yoyoho 发表于 2016-9-6 10:23:23

感谢 N版 分享程序!!!

819534890 发表于 2016-9-6 10:55:59

谢谢分享,学习了

adc 发表于 2016-9-6 16:57:28

非常厉害~~

abc498091367 发表于 2016-9-6 17:06:00

非常厉害~~

lucas3 发表于 2016-9-7 00:37:07

非常感谢版主的无私奉献,向版主致敬!!

zytyd 发表于 2016-9-7 00:41:23

好好学习----------------------

yxianfo 发表于 2016-9-7 11:31:35

版主程序,必须学习。

qq1846687144 发表于 2016-11-2 12:22:33

学习大神作品

sicky111 发表于 2016-11-2 17:15:01

厉害哦,我只会move

caogis 发表于 2016-11-19 20:43:17

一个对象移动有这么多方法,学习了!

winerfjy 发表于 2017-2-13 17:46:21

学习一下长长知识
页: [1] 2 3 4 5 6
查看完整版本: 移动对象的7种方法