明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 402|回复: 2

【求助】点关于点旋转后的坐标

[复制链接]
发表于 2023-2-6 23:12 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 kucha007 于 2023-2-6 23:14 编辑

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=186343&page=1&extra=#pid927321

大家好,疑问见标题。
我之前写了一个旋转视口内视图的程序,想用到模型空间中,旋转UCS然后Plan。
但不知道怎么记录和恢复视口。目前想到的是记录视图中心点和视图高度,之后再还原。
但旋转ucs的时候中心点也在改变,就不知道怎么操作了。

论坛上搜到的资料尝试了一下都不太对
麻烦各位大佬赐教,如果有新思路就更好了。

  1. (setq p1 (getpoint "\n→请选择旋转中心: "))
  2. (setq p2 (getpoint p1 "\n→请选择X轴正方向: "))
  3. (setq Ang (Angtos (Angle P1 p2) 0 15))
  4. (setq vc (getvar "VIEWCTR");视图中心UCS
  5.       vs (getvar "VIEWSIZE");当前视图高度
  6. )



;恢复视图
  1. (command "_.ZOOM" "_C" vc vs)

 楼主| 发表于 2023-2-7 23:25 | 显示全部楼层
本帖最后由 kucha007 于 2023-2-8 00:17 编辑

;自己解决了√
  1. (Defun C:TT nil
  2.     (defun K:ROTATEPT (PT Center Ang)
  3.       (polar Center (+ (angle Center PT) Ang) (distance Center PT))
  4.     )
  5.     (setq p1 (getpoint "\n→请选择旋转中心: "))
  6.     (setq p2 (getpoint p1 "\n→请选择X轴正方向: "))
  7.     (setq Ang (Angle P1 p2))
  8.     (setq vc (getvar "VIEWCTR");视图中心UCS
  9.           vs (getvar "VIEWSIZE");当前视图高度
  10.     )
  11.     (command "point" vc )
  12.     (setq CS (trans (K:ROTATEPT vc p1 Ang) 1 0));WCS
  13.     (command "_.UCS" "_Z" (Angtos Ang 0 15))
  14.     (command "_.PLAN" "_C")
  15.     (while (> (getvar "CMDACTIVE") 0) (command PAUSE));等待前面的命令完成
  16.     (command "_.ZOOM" "_C" (trans CS 0 1) vs)
  17.     (command "point" (trans CS 0 1))
  18. )


回复

使用道具 举报

发表于 2024-2-23 11:45 | 显示全部楼层
太高深了 看不懂
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 03:58 , Processed in 0.297616 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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