tive29 发表于 2022-7-5 16:15:57

“0”未显示在本文件中

在某处找到这个区域的lisp并进行了一些小编辑。
但有一个问题。如果区域为示例0.11,则文本输出为。11平方米。
有人能告诉我修改什么使其显示为0.11m2吗
 
谢谢
 
(defun drtxt (/ tx ls vl lt ht lb hb nr pt)
(setq tx (strcat "";;;;add text between "";;;;
      (rtos (/ (getvar "area") 1000000) 2 2)
      "m²"
      )   
)
(setq ls (list (cons 1 tx))
   vl (textbox ls)
   vl (cadr vl)
   lt (car vl)
   ht (cadr vl)
   vl (grread T)
   nr (car vl)
   pt (cadr vl)
)
(princ "\nInsert Point: ")
(while (/= nr 3)
   (command "redraw")
   (grdraw pt (setq pt (polar pt 0 lt)) 7)
   (grdraw pt (setq pt (polar pt (* pi 0.5) ht)) 7)
   (grdraw pt (setq pt (polar pt pi lt)) 7)
   (grdraw pt (polar pt (* pi 1.5) ht) 7)
   (setq vl (grread T)
   nr (car vl)
   pt (cadr vl)
   )
   ) ;end while function
(command "-mtext" pt "w" 0 tx "")
(redraw)
) ; end drtxt function

(defun c:AA ()
(setvar "cmdecho" 0)
(while (setq et
      (car
            (entsel "\nSelect polyline: ")
      ) ;end car function
    ) ;end setq function
(command "area" "o" et)
(drtxt)
) ; wnd while funtion

(setvar "cmdecho" 1)
(princ)

) ; end c:pla function

rlx 发表于 2022-7-5 17:14:42


(defun drtxt (/ tx ls vl lt ht lb hb nr pt)
(setq tx (strcat "";;;;add text between "";;;;
      (rtos (/ (getvar "area") 1000000) 2 2)"m²" ) )
(if (= (substr tx 1 1) ".")(setq tx (strcat "0" tx)))
)

Tharwat 发表于 2022-7-5 17:20:43

你好
这是一个系统变量问题:DIMZIN
页: [1]
查看完整版本: “0”未显示在本文件中