teknomatika 发表于 2022-7-6 09:13:49

在z坐标中写入数字

我需要你的帮助:我正在开发一个简单的例程,允许你输入一个实数,这个注释写在Z坐标中,对应于数字本身。我想要的是,从第一个周期开始,如果输入值为null,则假设为前一个周期的数量。奇怪的是,我已经采取了在例行程序中达成的解决方案,它奏效了,但现在没有。奇怪的
解决方案应该很简单,但我被阻止了,我无法解决问题。
 
(defun c:nrz (/ gnr gpt rep xx yy zz zzfinal)
(setq gnr (getreal "\nNumber:"))
(if (= gnr nil)
(setq gnr rep)
)
(setq gpt (getpoint "\nPick a point:"))
(setq xx (car gpt))
(setq yy (cadr gpt))
(setq zz (caddr gpt))
(setq zz gnr)
(setq zzfinal (list xx yy zz))
(command ".text" zzfinal 0.20 0 (rtos gnr 2 2))
(setq rep gnr)
(princ)
)

Tharwat 发表于 2022-7-6 09:25:56

只需在if函数之前给顶部的变量rep一个实数。
 
例如
 
(setq rep 12.0)

 
还有一件事,我想您应该将(rtos gnr 2 2)替换为(rtos zzfinal 2 2),以包含所有数字,因为您支持它们
有数字。
 
塔瓦特

teknomatika 发表于 2022-7-6 09:41:01

 
我感谢你的建议。就整体而言,可以进行协调,但以防我打算写入值Z。至于要分配给变量的值(setq rep),不是我想要的。我希望nil值之后的第一个条目假设前一个值。这将允许重复写入相同的数字,直到您想要更改为止。

Lee Mac 发表于 2022-7-6 09:45:21

考虑以下代码:
 
(defun c:nrz ( / pt )
(if
   (and
   (setq *gnr*
       (cond
         (
         (getreal
             (strcat "\nNumber"
               (if *gnr* (strcat " <" (rtos *gnr* 2 2) ">: ") ": ")
             )
         )
         )
         ( *gnr* )
       )
   )
   (setq pt (getpoint "\nPick a Point: "))
   (setq pt (trans pt 1 0))
   )
   (entmakex
   (list
       (cons 0 "TEXT")
       (list 10 (car pt) (cadr pt) *gnr*)
       (list 11 (car pt) (cadr pt) *gnr*)
       (cons 40 0.2)
       (cons 1 (rtos *gnr* 2 2))
       (cons 7 (getvar 'TEXTSTYLE))
       (cons 72 1)
       (cons 73 2)
   )
   )
)
(princ)
)
 
也许本教程也会有所帮助。

Tharwat 发表于 2022-7-6 09:58:40

这可能会结束。。
 
(defun c:nrz (/ z p)
(setq z (getreal "\n Enter number <1.0> :"))
(setq p (getpoint "\n Text location :"))
(entmake (list '(0 . "TEXT")
                '(100 . "AcDbEntity")
                '(100 . "AcDbText")
                (cons 10 (trans p 1 0))
                (cons 40 (getvar 'textsize))
                (cons 50 0.0)
                (cons 1
                      (if (not z)
                        (setq z "1.00")
                        (rtos z 2 2)
                      )
                )
          )
)
(princ)
)

teknomatika 发表于 2022-7-6 10:06:50

李,坦克!
杰出的这正是我想要的。
好人就是好人。

Lee Mac 发表于 2022-7-6 10:20:54

 
不客气,我希望这能帮助你理解
页: [1]
查看完整版本: 在z坐标中写入数字