明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5091|回复: 29

要同时标明 X , y 坐标,可有大虾指点

  [复制链接]
发表于 2004-9-6 06:45 | 显示全部楼层 |阅读模式
要同时标明 X , y 坐标,可有大虾指点,形式如下:


A=X        坐标


B=y 坐标


并有引线指向坐标点
发表于 2004-9-6 19:08 | 显示全部楼层
要获得坐标是很简单的,但你的要求不够明确。如要获得怎样的点的坐标,如何选定,坐标标在什么位置等等。
发表于 2004-9-8 17:20 | 显示全部楼层

本帖子中包含更多资源

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

x
发表于 2004-9-27 23:25 | 显示全部楼层
其实并不困难,首先拾取点坐标,然后根据取点函数ads_getpoint鼠标操作,记录点值,根据这些点划线标注即可。我以前帮别人做过没什么难点
发表于 2004-9-28 09:53 | 显示全部楼层
看看这个: (defun c:ds ()
(setvar "cmdecho" 0)
(command "osnap" "end")
(setq p1 (getpoint "Select line near endpoint"))
(setq p2 (getpoint p1 "Select end of Leader"))
(setq px (rtos (nth 0 p1 ) 2 4))
(setq py (rtos (nth 1 p1 ) 2 4))
(setq txt (strcat "X " px " , " "Y " py))
(command "dim1" "leader" p1 p2 "" txt)
(setvar "cmdecho" 1)
)
(princ)
发表于 2004-10-16 10:23 | 显示全部楼层
xjjy:


你所提供的程序很好用,但还是想请你帮忙改一下好吗?这样就更好了.


1.能否将命令行提示改为中文.


2.能否将X,Y标注不在同一行,如3楼所标注的那样.


再次表示谢意!
发表于 2004-12-10 20:56 | 显示全部楼层
其实,大地坐标和CAD坐标X,Y刚好相反的,CAD里的X值要标Y=*而CAD里的y值要注X=*
发表于 2004-12-13 20:06 | 显示全部楼层
本帖最后由 作者 于 2004-12-13 21:13:44 编辑

我是初学LISP。五楼的把CAD中的坐标系统和国家的大地坐标系统搞反了。我改了一下,发上来让大家看看。 (defun c:ds ()
(setvar "cmdecho" 0)
(command "osnap" "end")
(setq p1 (getpoint "输入端点:"))
(setq p2 (getpoint p1 "输入引导线位置"))
(setq px (rtos (nth 0 p1 ) 2 4))
(setq py (rtos (nth 1 p1 ) 2 4))
(setq txt (strcat "X=" py "" "\nY=" px))
(command "dim1" "leader" p1 p2 "" txt)
(setvar "cmdecho" 1)
)
(princ) 大地坐标的X相当于CAD坐标的Y值。但按制图标准把两行字体在线中间打印,从理论上讲可以通过编程实现,但编程内容要肥了好多好多。我刚开始学,力不从心。还求大虾帮忙。但若通过。标注式样来更改的话,又麻烦了点。那样的话,还不如标好后手动把字体向下移动三分之五个字高单位来得更方便些。
发表于 2004-12-14 08:09 | 显示全部楼层
本帖最后由 作者 于 2004-12-14 9:00:01 编辑

请问一下大虾,不知能不能求出当前字体设定的字高H。若能,LISP函数怎么写。若能求出来,那么上面的这个程序就能完整了。 如下图,把多行字体向下移三分之五个字体高度就更完美了。





本帖子中包含更多资源

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

x
发表于 2004-12-14 09:07 | 显示全部楼层
这是完整的程序
  1. (DEFUN C:DS (/ OLDZIN P1 P2 PX PY H P3)
  2.   (SETVAR "CMDECHO" 0)
  3.   (SETQ OLDZIN (GETVAR "DIMZIN"))
  4.   (SETVAR "DIMZIN" 0)
  5.   (WHILE (SETQ P1 (GETPOINT "\nFirst Point 第一点 :"))
  6.    (IF (SETQ P2 (GETPOINT P1 "\nSecond Point 第二点 :")) (PROGN
  7.      (SETQ PX (STRCAT "X=" (RTOS (CAR P1) 2 4)))
  8.      (SETQ PY (STRCAT "Y=" (RTOS (CADR P1) 2 4)))
  9.      (SETQ H (* (GETVAR "DIMSCALE") (GETVAR "DIMTXT")))
  10.      (SETQ P3 (POLAR P2 (/ PI -2) (* H 1.6)))
  11.      (COMMAND "LEADER" P1 P2 "" PX PY "")
  12.      (COMMAND "STRETCH" "C" "END" P3 P2 "" "END" P3 (POLAR P2 (/ PI 2) (* 0.25 H)))
  13.    ))
  14.   )
  15.   (SETVAR "DIMZIN" OLDZIN)
  16.   (SETVAR "CMDECHO" 1)
  17.   (PRINC)
  18. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 02:47 , Processed in 0.180090 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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