找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 523|回复: 0

[求助]:[求助]:如何建立坐标系

[复制链接]

已领礼包: 5188个

财富等级: 富甲天下

发表于 2005-12-25 21:43:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
一个图任意角度放于任意位置,在图上点取两点,分别输入新坐标(该值在图形旋转、移动到适当位置后,在WCS中是正确的),请问:如何用LISP建立一个新的坐标系,使不旋转、移动图形,而测到(或经过一定换算)与输入值相吻合的坐标值(包括图中其它所有点)?
我自己编了一个程序,但根本不对。求哪位高手指点一下。
其中pto1、pto2为现在图中两点,ptn1、ptn2为图形旋转、移动后的坐标值。
(defun c:cu ()
  (setq pto1 (getpoint "\nFirst point: "))
  (setq nx1 (getreal "\nNew x: "))
  (setq ny1 (getreal "\nNew y: "))
  (setq ptn1 (list nx1 ny1 0.0))
  (setq pto2 (getpoint "\nSecond point: "))
  (setq nx2 (getreal "\nNew x: "))
  (setq ny2 (getreal "\nNew y: "))
  (setq ptn2 (list nx2 ny2))
  (setq angold (angle pto1 pto2))
  (setq angnew (angle ptn1 ptn2))
  (setq ang (/ (* (- angnew angold) 180.0) pi))
  (setq dst (sqrt (+ (* nx1 nx1) (* ny1 ny1))))
  (setq ptn0 (polar ptn1 (- angnew angold) dst))
  (setvar "osmode" 0)
;  (command "point" ptn0)
  (command "_.UCS" "_Z" ang)
  (command "_.UCS" "_ORIGIN" ptn0)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-21 18:30 , Processed in 0.172785 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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