lingduwx 发表于 2015-9-30 09:49:58

请教大家测量两点之间的距离,只在命令行一行内显示全?

本帖最后由 lingduwx 于 2015-9-30 09:51 编辑

平时作图都在笔记本上,命令行总共显示3行主要是为了查看测量两点之间的距离,测量两点之间的距离会显示在从下往上第3行,如果能把测量信息显示在往上第2行就好了,那样就节约一行高度,而增加更大的绘图区了,测量结果部分文字可省掉,
下面第一张图是平时测量距离显示行数,第二张是想要的效果,希望高收帮帮忙啊,谢谢
平时测量的效果
   --
下面是想要的效果
---

edrise 发表于 昨天 22:48

本帖最后由 edrise 于 2024-11-23 22:51 编辑

Shing 发表于 2024-6-11 09:46
加我,需要,想要立马弹出来的效果。企鹅363419946 有赏
用alert命令显示最后结果就可以实现弹出的效果,不过感觉大家不太喜欢alert,因为要多点一次

Shing 发表于 2024-6-11 09:46:21

加我,需要,想要立马弹出来的效果。企鹅363419946 有赏

自贡黄明儒 发表于 2015-9-30 10:10:55

只有自己写个命令,然后用print打出来了。

lingduwx 发表于 2015-9-30 10:51:15

自贡黄明儒 发表于 2015-9-30 10:10 static/image/common/back.gif
只有自己写个命令,然后用print打出来了。

哎,小弟确实不懂写命令啊,所以特来求教高手了,先谢了!!!

xyp1964 发表于 2015-9-30 13:42:47

本帖最后由 xyp1964 于 2015-9-30 13:43 编辑

(defun c:dd ()
(defun r2d (rad) (* (/ rad pi) 180.0))
(if (and (setq p1 (getpoint "\n起点<退出>: "))
         (setq p2 (getpoint p1 "\n终点<退出>: "))
      )
    (progn
      (setq ds (distance p1 p2)
            aa (r2d (angle p1 p2))
            dx (- (car p2) (car p1))
            dy (- (cadr p2) (cadr p1))
      )
      (princ (strcat "距离 = "(rtos ds 2) ",X = " (rtos dx 2) ",Y = "(rtos dy 2)",XY倾角 = "(rtos aa 2)))
    )
)
(princ)
)

lingduwx 发表于 2015-9-30 18:33:55

xyp1964 发表于 2015-9-30 13:42 static/image/common/back.gif


谢谢版主的热心帮助,俺下载用了感觉非常好,只是还有个小问题希望麻烦版主再修一下,谢谢了!!!



下面是想要的最终效果
谢谢

xyp1964 发表于 2015-9-30 23:07:09

(defun c:dd ()
(defun r2d (rad) (* (/ rad pi) 180.0))
(if (and (setq p1 (getpoint "\n起点<退出>: "))
           (setq p2 (getpoint p1 "\n终点<退出>: "))
      )
    (progn
      (setq ds (distance p1 p2)
          aa (r2d (angle p1 p2))
          dx (- (car p2) (car p1))
          dy (- (cadr p2) (cadr p1))
      )
      (princ (strcat "\n距离 = "
                     (rtos ds 2)
                     ",X = "
                     (rtos dx 2)
                     ",Y = "
                     (rtos dy 2)
                     ",XY倾角 = "
                     (rtos aa 2)
             )
      )
    )
)
(princ)
)

lingduwx 发表于 2015-9-30 23:40:23

xyp1964 发表于 2015-9-30 23:07 static/image/common/back.gif


谢谢版主,这么晚了,还来回复,先祝你国庆快乐哈,
最新的偶刚用了,感觉还是显示在上面啊,

edata 发表于 2015-10-1 09:43:17

太纠结这个没什么用。。(defun c:tt()
(defun r2d (rad) (* (/ rad pi) 180.0))
(if (and (setq p1 (getpoint "\n起点<退出>: "))
         (setq p2 (getpoint p1 "\n终点<退出>: "))
      )
    (progn
      (setq ds (distance p1 p2)
            aa (r2d (angle p1 p2))
            dx (- (car p2) (car p1))
            dy (- (cadr p2) (cadr p1))
      )
      (setq str (strcat "距离="
                     (rtos ds 2)
                     ",X="
                     (rtos dx 2)
                     ",Y="
                     (rtos dy 2)
                     ",XY倾角="
                     (rtos aa 2)
             )
      )
      (Vlax-Invoke-Method (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument) 'SendCommand str)
      (Vlax-Invoke-Method (Vlax-Get-Or-Create-Object "WScript.Shell" ) 'Sendkeys "{Esc}")
    )
)
)

Q1241274614 发表于 2015-10-1 10:21:10

(defun c:dd ()
(defun r2d (rad) (* (/ rad pi) 180.0))
(if (and (setq p1 (getpoint "\n起点<退出>: "))
         (setq p2 (getpoint p1 "\n终点<退出>: "))
      )
    (progn
      (setq ds (distance p1 p2)
            aa (r2d (angle p1 p2))
            dx (- (car p2) (car p1))
            dy (- (cadr p2) (cadr p1))
      )
      (princ (strcat "\n距离 = "
                     (rtos ds 2)
                     ",X = "
                     (rtos dx 2)
                     ",Y = "
                     (rtos dy 2)
                     "\nXY倾角 = "
                     (rtos aa 2)
             )
      )
    )
)
(princ)
)

happyboy75 发表于 2015-10-1 14:00:51

(princ) 他是换行清除其他变量回显得,去掉就会有其他东东输出 你试一下吧
页: [1] 2
查看完整版本: 请教大家测量两点之间的距离,只在命令行一行内显示全?