CAD USER 发表于 2022-7-5 17:56:55

帮助添加CFM或信用证文本wi

尊敬的各位:,
 
请查收随附的SUM lisp,我想在两个数学加法后添加文本CFM或L/S。文本值。
 
例如:-
 
2+3答案为5
 
我需要
 
2+3 5升/秒

2+3 5 CFM
 
提前感谢。。
总和。LSP

jdiala 发表于 2022-7-5 18:08:53

(defun C:ss (/ ss i lst)
(if
(setq ss (ssget '((0 . "*TEXT"))))
(progn
   (repeat
(setq i (sslength ss))
   (setq lst (cons (atof (cdr (assoc 1 (entget (ssname ss (setq i (1- i))))))) lst))
   )
   (entmake
   (list
    '(0 . "TEXT")
       '(100 . "AcDbEntity")
       (cons 8(getvar 'clayer))
       '(100 . "AcDbText")
       (cons 10 (getpoint "Pick a point for text placement: "))
       (cons 40 (getvar 'textsize))
       (cons 1 (strcat (itoa (fix (apply '+ lst))) " CFM"))
       (cons 7 (getvar 'textstyle))
      '(100 . "AcDbText")
   )
   )
)
)
)

CAD USER 发表于 2022-7-5 18:19:56

谢谢jdiala,做得很好,
但得到的文本高度非常小,我可以在lisp例程中更改文本高度
或者您可以修改我的lisp,因为在我的lisp例程中,生成的文本高度是完美的。
或者请在我的lisp例程中告诉我在哪里添加CFM单词。

BIGAL 发表于 2022-7-5 18:24:37

文本的高度由文本样式控制,如果设置为零,则可能需要首先检查文本样式,这意味着需要高度。我们将样式“标准”保持为零,因此可以设置高度。
 

(setq ts (cdr (assoc 40 (tblsearch "STYLE" (getvar "TEXTSTYLE")))))
   (if (zerop ts)
          (command "TEXT" "498,18" "3.5" "0" ans)
          (command "TEXT" "498,18" "0" ans)
      )

CAD USER 发表于 2022-7-5 18:35:00

请你能在我附加的lisp例程中添加CFM单词吗。
因为它采用相同的文本样式、文本高度和图形中第一个选定文本/单词的文本对齐方式。

Tharwat 发表于 2022-7-5 18:43:37

更换该零件;
 

(setq sumtxt
      ;; concatenate strings :
      (strcat
      ;; convert digits to string :
      (rtos
          ;; add to summ the digital value of text :
          (setq sum (+ (atof txt) sum))
          ;; 2 is for metric units (3 for engineering) :
          2
          ;; set precision by current :
          (getvar "dimdec")) " CFM")
   )

CAD USER 发表于 2022-7-5 18:55:22

是的,很完美,
 
正是我想要的。。。
 
谢谢,塔瓦,还有你们所有人。。。。。

Tharwat 发表于 2022-7-5 19:01:12

不客气。
页: [1]
查看完整版本: 帮助添加CFM或信用证文本wi