muthu123 发表于 2022-7-6 10:57:36

(读取(strcat)(“管150x150

请在这个问题上提供帮助。
 
(读(strcat“(”“TUBE150X150X4.5 20.2”“))
 
它返回一个列表
(管150x150x4 20.2)。
 
但我需要一份清单
(管150x150x4.5 20.2),包括小数点。
 
你的
穆图。

Tharwat 发表于 2022-7-6 11:05:37

你好
 
试试这个。
(read (strcat " " TUBE150X150X4.5 20.2 " "))
 
当做
塔瓦特

muthu123 发表于 2022-7-6 11:10:40

 
 
不工作。

Tharwat 发表于 2022-7-6 11:17:04

在这里进行得很顺利。
加载文件并键入abc开始;
(defun c:abc (/ a b c d e f g tharwat pt)
(setq a "TUBE"
   b "150"
   c "X"
   d "150"
   e "X"
   f "4.5"
   g "20.2")
(setq tharwat (strcat "(" a b c d e f " " g ")"))
(if (setq pt (getpoint "\nSpecify placement point: "))
   (entmake (list '(0 . "TEXT")
                  (cons 40 (getvar 'textsize))
                  (cons 10 (trans pt 1 0))
                  (cons 1 tharwat)
      ) ) )
(princ)
)


结果是(TUBE150X150X4.5 20.2)
享受
塔瓦特

BIGAL 发表于 2022-7-6 11:23:44

我认为您需要的是strcat chr(x)“TUBE150X150X4.5”“20.2”chr(y)
 
例如13,x的正确值是回车32是空格。你可以用我几年前写的一个数字值替换任何键盘字符。一个asc lisp在我按键时给了我数字。
 
大提示在lisp帮助中查找帮助asc和chr
 
抱歉,找不到asc。lsp也称为asci密钥代码。

Tharwat 发表于 2022-7-6 11:30:01

 
你好
如果你能给我们举个例子,那会更好。。。。。
 
塔瓦特

Tharwat 发表于 2022-7-6 11:32:04

你好muthu123
今天是你的幸运日,伙计。。。我的想法今天很快就被烧掉了。
看看这个,它和前一个一样好。
(defun c:abc (/ a pt)
(setq a "(TUBE150X150X4.5 20.2)")
(if (setq pt (getpoint "\nSpecify placement point: "))
   (entmake (list '(0 . "TEXT")
                  (cons 40 (getvar 'textsize))
                  (cons 10 (trans pt 1 0))
                  (cons 1 a)
      ) ) )
(princ "Cad Tutor Forum is the best")
(princ))
当做
塔尔瓦尔

Tharwat 发表于 2022-7-6 11:35:55

所以最后。
 
主要问题在函数“read”内,因为它不包含小数
数字或无法处理它。
 
希望这是有益的和足够的。
 
萨尔瓦特
叙利亚

VVA 发表于 2022-7-6 11:45:37

这么满意?

(read (strcat "(" "\"" "TUBE150X150X4.5" "\"" "20.2" ")"))

返回(“管150x150x4.5”20.2)

Tharwat 发表于 2022-7-6 11:47:58

 
它与要求不同。用括号试试眨眼:
 
我希望看到它成为现实。
页: [1] 2
查看完整版本: (读取(strcat)(“管150x150