明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 959|回复: 2

[源码] 连续copy的问题

[复制链接]
发表于 2019-4-25 02:36:16 | 显示全部楼层 |阅读模式
工作中,经常需要copy+对齐

无意中看到平衡copy,比正交更实用,但只能copy一次,改造了很长时间,也不能连续copy 下去

(defun c:mx1 ( / p1)
        (command "move" (ssget) "" (setq p1 (getpoint "\n请点取基点:")) (subst (car (getpoint "\n请点取参考点:")) (car p1) p1))
        (princ)
)


;----------------------------------------------
;以下能用,但结果不是我想要的,不清楚问题在那?
;我的目的是,连续copy,且copy的物体不需要正交,点选任何一点也能平衡x轴,copy下去
(defun c:cx1 ( / p1)
         (setq obj (entsel "\n选择点选一个块<退出>:"))
         (setq p1 (cdr (assoc 10 (entget (car obj)))));获取基点座标
         (while (setq p2 (getpoint p1 "\n指定位移的第二点: "))
           (setq s0 (entlast))
           (command "copy" obj "" p1 "non" p2 (car p1) p1))
           (setq ss2 (ssadd))
           (while (setq s0 (entnext s0))
           (ssadd s0 ss2)
         )
        (princ)
)

请有能力的坛友帮忙改造一下,谢谢
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-4-25 09:15:49 | 显示全部楼层
(defun c:cx1 ( / p1)
    (setq obj (entsel "\n选择点选一个块<退出>:"))
    (setq p1 (cdr (assoc 10 (entget (car obj)))));获取基点座标
    (while (setq p2 (getpoint p1 "\n指定位移的第二点: "))
        (setq p2 (list (car p2) (cadr p1) (caddr p2)))
        (command "copy" obj "" "non" p1 "non" p2)
    )
    (princ)
)
(c:cx1)

评分

参与人数 1明经币 +1 收起 理由
alexmai + 1 很给力!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-4-25 09:45:50 | 显示全部楼层
lostbalance 发表于 2019-4-25 09:15
(defun c:cx1 ( / p1)
    (setq obj (entsel "\n选择点选一个块:"))
    (setq p1 (cdr (assoc 10 (entg ...

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

本版积分规则

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

GMT+8, 2025-5-19 04:54 , Processed in 0.257905 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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