明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 930|回复: 5

[提问] 各位大神看下,求 输入TT 提示框选图纸,框选后右键确认后,提示点击插入点,点击确...

[复制链接]
发表于 2023-10-28 11:51:02 | 显示全部楼层 |阅读模式
求 输入TT 提示框选图纸,框选后右键确认后,提示点击插入点,点击确人后吧图纸移动到0,0点
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2023-10-28 12:21:25 | 显示全部楼层
(defun c:tt (/ b c doc lays p p0)
        (princ "\n选择对象")
        (if (and (ssget)
                                (setq p (getpoint "\n点取基点:"))
                                (setq p (vlax-3D-point p))
                                (setq p0 (vlax-3D-point 0 0 0))
                        )
                (progn
                        (setq doc (vla-get-ActiveDocument(vlax-get-acad-object)))
                        (setq lays (vla-get-Layers doc))
                        (vlax-for a (vla-get-activeselectionset doc)
                                (setq b (vla-Item lays (vla-get-Layer a)))
                                (setq c (vla-get-Lock b))
                                (vla-put-Lock b :vlax-false)
                                (vla-Move a p p0)
                                (vla-put-Lock b c)
                        )
                )               
        )
)波总代码
发表于 2023-10-28 16:20:22 | 显示全部楼层
(defun c:tt ()
  (princ "\n选择对象: ")
  (if (and (setq ss (ssget))(setq p0 (getpoint "\n移动基点: ")))
    (command "move" ss "" "non" p0 "non" '(0 0))
  )
  (princ)
)
 楼主| 发表于 2023-10-28 16:21:30 | 显示全部楼层
xyp1964 发表于 2023-10-28 16:20
(defun c:tt ()
  (princ "\n选择对象: ")
  (if (and (setq ss (ssget))(setq p0 (getpoint "\n移动基点 ...


(defun c:tt (/ p s ss)
        (princ "\n选择对象")
        (if (and (setq s (ssget))
                                (setq p (getpoint "\n点取基点:"))
                        )
                (progn
                        (vlax-for a (vla-get-Layers (vla-get-ActiveDocument(vlax-get-acad-object)))
                                (setq ss (cons (list a (vla-get-Lock a)) ss))
                        )
                        (foreach x ss (vla-put-Lock (car x) :vlax-false))
                        (command "MOVE" s "" "non" p "non" '(0 0))
                        (foreach x ss (apply 'vla-put-Lock x))
                )               
        )
)



(defun c:tt (/ b c doc lays p p0)
        (princ "\n选择对象")
        (if (and (ssget)
                                (setq p (getpoint "\n点取基点:"))
                                (setq p (vlax-3D-point p))
                                (setq p0 (vlax-3D-point 0 0 0))
                        )
                (progn
                        (setq doc (vla-get-ActiveDocument(vlax-get-acad-object)))
                        (setq lays (vla-get-Layers doc))
                        (vlax-for a (vla-get-activeselectionset doc)
                                (setq b (vla-Item lays (vla-get-Layer a)))
                                (setq c (vla-get-Lock b))
                                (vla-put-Lock b :vlax-false)
                                (vla-Move a p p0)
                                (vla-put-Lock b c)
                        )
                )               
        )
)


(defun c:tt (/ b c doc lays p p0)
        (princ "\n选择对象")
        (if (and (ssget)
                                (setq p (getpoint "\n点取基点:"))
                                (setq p (vlax-3D-point p))
                                (setq p0 (vlax-3D-point 0 0 0))
                        )
                (progn
                        (setq doc (vla-get-ActiveDocument(vlax-get-acad-object)))
                        (setq lays (vla-get-Layers doc))
                        (vlax-for a (vla-get-activeselectionset doc)
                                (setq b (vla-Item lays (vla-get-Layer a)))
                                (setq c (vla-get-Lock b))
                                (if (= :vlax-false c)
                                        (vla-Move a p p0)
                                        (progn
                                                (vla-put-Lock b :vlax-false)
                                                (vla-Move a p p0)
                                                (vla-put-Lock b c)
                                        )
                                )                               
                        )
                )               
        )
)

点评

累不?  发表于 2023-10-29 13:09
 楼主| 发表于 2023-10-28 16:30:50 | 显示全部楼层
xyp1964 发表于 2023-10-28 16:20
(defun c:tt ()
  (princ "\n选择对象: ")
  (if (and (setq ss (ssget))(setq p0 (getpoint "\n移动基点 ...

谢谢派大....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 08:19 , Processed in 0.157528 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表