freddy0663 发表于 2022-7-6 07:04:29

同一行上有两个文本

需要帮助
 
如何修改名为land的旧lisp。lsp
 
例行制作文本:
 
Sup=mq 10.20
 
我需要写:
 
Sup=mq 10.20,分别位于同一线路上
 
对不起,我的英语很差
 
所有储罐
土地。lsp

Hippe013 发表于 2022-7-6 07:45:29

这是一个快速编辑。虽然不是我编写代码的方式,但我希望它与您的旧代码保持一致。
 

(defun c:LAND ()
(setq p "")
(setq p(getpoint "\n....... Select a point inside a room: "))
(if (/= p nil)(progn
   (setq cpltype(getvar "PLINETYPE"))
       (setq clay(getvar "clayer"))
(setvar "PLINETYPE" 1)
(command "._layer" "_m" "polyline" "")
(command "_bpoly" p "")
(setq poli(entlast))
(setq polix(entget poli))
(if (= (cdr(assoc 0 polix)) "LWPOLYLINE")(progn
   (command "_area" "_o" poli)
   (setq Area(getvar "Area"))
(setq hs 0.10)
(command "_text" p hs "0" (strcat "Sup = " "mq   " ) \r)
(command "_text" (polar p 0 0.75) hs "0" (rtos area 2 2) \r)
))
       (setvar "clayer" clay)
(setvar "PLINETYPE" cpltype)
))
(princ)
)

 
编辑的部分为红色。

freddy0663 发表于 2022-7-6 08:16:56

工作正常。
谢谢Hippe013
页: [1]
查看完整版本: 同一行上有两个文本