明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1366|回复: 1

[基础] 求助 坐标转换 纠错

[复制链接]
发表于 2009-11-16 23:05:00 | 显示全部楼层 |阅读模式

 
(defun c:qqq()
  (graphscr)
  (setvar "cmdecho" 0)
  (prompt"\n 欢迎使用")(terpri)
 

(while (= p nil)
  (setq p (getpoint"请输入参考点")) 
  (setq x (getreal"X="))
  (setq y (getreal"Y="))
)

 
 (setq p1 (getpoint"请输入坐标点/<参考点c>:"))
(while (= p1 "c")
(
  (setq p (getpoint"请输入参考点"))
  (setq x (getreal"X="))
  (setq y (getreal"Y="))
 )
  (setq p1 (getpoint"请输入坐标点"))
)
  (setq p2 (list(+ (car p1) 37000000 (- y (car p3)))(-(cadr p1) (- x (cadr p3)))))
  (setvar "cmdecho" 1)
  (prompt"\t输入成功!\t结果如下:")(terpri)
  (princ( list "坐标 X"(rtos (cadr p2) 2 3)))
  (princ( list "坐标 Y"(rtos (car p2) 2 3)))(terpri)
    
 ) 

 

请问哪里出问题了,我重新定义参考点时出错

发表于 2009-11-20 12:10:00 | 显示全部楼层
本帖最后由 作者 于 2009-11-20 14:24:25 编辑

看不明白你的意思,随便写一个你看一下。

(defun c:tt (/ PT0 PTX)
  (if (setq pt0 (getpoint "\n请输入参考原点:"))
    (progn (initget "C")
    (setq ptx (getpoint pt0 "\n请输入坐标点\参考点[C]:"))
    (while (= "C" ptx)
      (setq pt0 (getpoint "\n请输入参考原点:")) 
      (initget "C")
      (setq ptx (getpoint pt0 "\n请输入坐标点/参考点[C]:"))
    )
    (princ (strcat "\n以("
     (rtos (car pt0) 2 3)
     " "
     (rtos (cadr pt0) 2 3)
     ")为原点,该点新坐标\n"
     "X="
     (rtos (- (car ptx) (car pt0)) 2 3)
     "\nY="
     (rtos (- (cadr ptx) (cadr pt0)) 2 3)
    )
    )
    )
    (princ "\n未指定参考原点,退出程序")
  );_endif
  (princ)
) ;_enddefun

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

本版积分规则

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

GMT+8, 2024-10-1 19:19 , Processed in 0.173339 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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