明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 872|回复: 9

[提问] 如何将图形对象旋转复制水平

[复制链接]
发表于 2022-4-26 15:24 | 显示全部楼层 |阅读模式



如何将上面的图一快速的旋转复制水平(如图二)



;复制旋转对象      
(defun c:KJ_CR ( / ent1 ent pnt )
(PRINC "\n【開心工具箱】---复制旋转功能")(PRINC)
(setq ent (ssget))
(setq pnt (getpoint "\n-->请选择基点:"))
(setq ent1 (entlast))
(setvar "cmdecho" 0)
(command "copy" ent "" pnt "@" )
(setq ss (ssadd ))
(while (setq ent1 (entnext ent1)) (ssadd ent1 ss) )
(command "rotate" ss "" pnt)
(setvar "cmdecho" 1)
(princ "\n-->请指定旋转角度:")
(command pause)
     (princ "\n★★★欢迎使用--《開金工具箱》--★★★      所选地方-->复制旋转完成!")(princ))


这是【開心工具箱】里的,请问要怎么修改才能实现图二的,请大家指点,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-4-26 16:19 | 显示全部楼层
;复制旋转对象      
(defun c:TT (/ ENT PNT PNT1 a pt1 pt2 pt3);
(setvar "CMDECHO" 0)
  (setq ent (ssget))
(setq pnt (getpoint "\n第一点"))
  (setq pnt1 (getpoint "\n第二点:"))
  (command "copy" ent "" "NON" pnt "NON" PNT1 )
(setq a (ENTLAST))
  (setq pt1 (getpoint "\n 第一点:"))
  (setq pt2 (getpoint pt1 "\n 第二点:"))
  (setq pt3 (polar pt1 0 300))
  (command "_rotate" a "" "non" pt1  "r" "non" pt1 "non" pt2  "non" pt3)
  (setvar "CMDECHO" 1)
(princ)
)
回复 支持 1 反对 0

使用道具 举报

发表于 2022-4-27 08:52 | 显示全部楼层
(defun c:BZ (/ ang en pt pt1 roang s1 ss)
        (setvar "CMDECHO" 0)
        (prompt "\n框选文件")
        (setq ss (ssget":s"))
        (setq s1 (entsel "\n选择一条边: "))
  (setq en (car s1) pt (cadr s1))
  (setq ang (angle pt (setq pt1 (osnap pt "nea"))))
  (if (> ang pi) (setq ang (- ang pi)))
  (setq roang (rtos (- 90 (/ (* ang 180) pi)) 2 3))
  (command "_.ROTATE" ss "" pt1 roang)
(princ)
)
回复 支持 1 反对 0

使用道具 举报

发表于 2022-4-26 16:07 | 显示全部楼层
(defun c:RH (/ a pt1 pt2 pt3);
(setvar "CMDECHO" 0)
(prompt "\n★★★ RH 回转水平 ★★★")
(setq a (ssget))
  (setq pt1 (getpoint "\n 第一点:"))
  (setq pt2 (getpoint pt1 "\n 第二点:"))
  (setq pt3 (polar pt1 0 300))
  (command "_rotate" a "" "non" pt1  "r" "non" pt1 "non" pt2  "non" pt3)
  (setvar "CMDECHO" 1)
(princ)
)
;旋转垂直
(defun c:RS (/ a pt1 pt2 pt3)
(setvar "CMDECHO" 0)
(prompt "\n★★★ RS 回转垂直 ★★★")
(setq a (ssget))
  (setq pt1 (getpoint "\n 第一点:"))
  (setq pt2 (getpoint pt1 "\n 第二点:"))
  (setq pt3 (polar pt1 (* pi 0.5) 300))
  (command "_rotate" a "" "non"  pt1  "r"  "non" pt1 "non" pt2 "non" pt3)
  (setvar "CMDECHO" 1)
(princ)
)
发表于 2022-11-18 20:41 | 显示全部楼层
群英荟萃,方法真多
发表于 2022-11-18 23:51 | 显示全部楼层
感觉结合高飞鸟的求极值函数,可以实现自动归平。
判断条件就是令选择集的竖向投影长度最小。
发表于 2023-10-28 09:24 | 显示全部楼层
htlaser 发表于 2022-4-27 08:52
(defun c:BZ (/ ang en pt pt1 roang s1 ss)
        (setvar "CMDECHO" 0)
        (prompt "\n框选文件")

命令: AP
APPLOAD 已成功加载 BZ.lsp。
命令: ; 错误: 输入的字符串有缺陷
发表于 2023-10-29 09:00 | 显示全部楼层
清水白粥 发表于 2023-10-28 09:24
命令: AP
APPLOAD 已成功加载 BZ.lsp。
命令: ; 错误: 输入的字符串有缺陷

上传了   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2023-10-29 09:25 | 显示全部楼层

谢谢大哥。可以了……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 21:57 , Processed in 0.322069 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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