明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 370|回复: 5

[讨论] 求大佬修改复制旋转代码实现选择基点和连续复制功能

[复制链接]
发表于 2024-9-21 15:35:09 | 显示全部楼层 |阅读模式
1明经币
复制前,不能任意拾取基点,且不能连续复制。此外,拾取基点后,能先执行TAB旋转,再指定插入点就更好了,目前是指定插入点,再按住TAB旋转。

  1. (defun c:copydreh ()
  2.         (setvar "cmdecho" 0)
  3.   (while(setq el (car (entsel)))
  4.         (setq el1 (entget el))
  5.         (setq p1 (cdr (assoc 10 el1)))
  6.         (command "_copy" (ssadd el) "" (trans p1 0 1) pause)
  7.         ;(setq en (entget (entlast)))
  8.       (setq en (vlax-ename->vla-object (entlast)))
  9.         (princ "\nPress [Tab] to Rotate Text <Accept>: ")
  10.        (while (= 9 (cadr (grread nil 2)));;(while (= 9 (cadr (grread nil 2)))
  11.           (setq rt (vla-get-rotation en))
  12.              ;   en
  13.              ;(entmod (subst (cons 50 (rem (+ (/ pi 2.) (cdr rt)) (+ pi pi))) rt en))
  14.               (vla-put-rotation en (rem (+ (/ pi 2.) rt) (+ pi pi)) )
  15.           ;)
  16.        );while


发表于 2024-9-21 17:09:03 | 显示全部楼层
你给的代码,最后少了两个括号吧。
复制前,想任意拾取基点,就不要(setq p1 (cdr (assoc 10 el1))),自己设置一个基点。比如(setq p1 (getpoint "\n指定基点:" )),如果想连续复制,还需要完善很多代码。
回复

使用道具 举报

发表于 2024-9-22 08:10:33 | 显示全部楼层
'贱人工具箱'5.8有这个功能
回复

使用道具 举报

发表于 2024-9-22 10:13:05 | 显示全部楼层

点评

不错,就差自定义角度了,不过这种情况用的也很少  发表于 2024-11-6 00:05
回复

使用道具 举报

 楼主| 发表于 2024-10-3 16:48:40 | 显示全部楼层
已通过其他方式解决,烦请版主闭贴
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 20:19 , Processed in 0.166926 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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