乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 86|回复: 1

[编程交流] 随参考点旋转

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-29 02:38:30 | 显示全部楼层 |阅读模式
离开一段时间后回到Autocad,我以前有一个自己编写的LISP例程。但是我把它弄丢了,忘记了编程是怎么完成的。
该例程将请求实体旋转,并请求旋转点,但随后会使参考点等于旋转点,从而跳过一个恼人的阶段。
有人能给我指路吗?
谢谢
回复

使用道具 举报

15

主题

1052

帖子

58

银币

中流砥柱

Rank: 25

铜币
683
发表于 2022-7-29 04:19:33 | 显示全部楼层
如果旋转点=参考点
只需使用旋转命令
 
这是我用来做旋转的参考。给你另一个我不经常使用的,但当我这样做时可以节省时间。
通常在方块上用它来翻转他们的中点。
 
  1. ;;----------------------------------------------------------------------------;;
  2. ;; ROTATE WITH REFERENCE
  3. (defun C:RH (/ SS)
  4.   (if (setq  SS (ssget ":L"))
  5.     (vl-cmdf "_.Rotate" SS "" Pause "R" "@" Pause Pause)
  6.     (prompt "\nNothing Selected or Entity's on Locked Layer")
  7.   )
  8.   (princ)
  9. )
  10. ;;----------------------------------------------------------------------------;;
  11. ;; ROTATE MULTIPLE ENTITY'S AROUND MIDPOINT
  12. (defun C:ROB (/ SS LL UR MPT)
  13.   (vl-load-com)
  14.   (if (setq SS (ssget ":L"))
  15.     (foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex SS)))
  16.       (setq obj (vlax-ename->vla-object ent))
  17.       (vla-getboundingbox obj 'minpt 'maxpt)
  18.       (setq LL (vlax-safearray->list minpt)
  19.             UR (vlax-safearray->list maxpt)
  20.             MPT (mapcar '/ (mapcar '+ LL UR) '(2 2 2))
  21.       )
  22.       (vl-cmdf "_.Rotate" ent "" "_non" MPT pause)
  23.     )
  24.   )
  25.   (princ)
  26. )

 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 01:25 , Processed in 0.916998 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表