明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2080|回复: 4

如何将下面的字串.....TEXT

[复制链接]
发表于 2003-7-11 12:22:00 | 显示全部楼层 |阅读模式
如何将下面的字串
("aa" "bb" "cc")
用 text 命令写成
aa
bb
cc
这种形式
;;;_____________________________
如何将下面的字串
(“20” “18” “55”)
全部累加起來,得出 20+18+55=93
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2003-7-11 12:58:00 | 显示全部楼层
第一个问题不明白你的意思,是要用TEXT命令调用表中的内容吗?
如果是,这样:
(setq a '("aa" "bb" "cc"))
(command "_.mtext" pause pause (strcat (nth 0 a) "\n" (nth 1 a) "\n"  (nth 2 a)))
用MTEXT,不知为什么,用TEXT字就成阶梯排列,如果非要用TEXT,可以用MTEXT后再打散。

第二个问题:
(setq a '("20" "18" "55"))
(+ (read (nth 0 a)) (read (nth 1 a)) (read (nth 2 a)))
注意,如果用全角的引号,这样不行,要麻烦很多。
发表于 2003-7-11 14:31:00 | 显示全部楼层
本帖最后由 作者 于 2003-7-11 14:52:15 编辑

(defun C:TT (/ HOLDECHO QQ ENT PT1)
  (setq HOLDECHO (getvar "CMDECHO"))
  (setvar "CMDECHO" 0)
  (setq QQ '("aa" "bb" "cc"))
  (command "_.TEXT"
           (setq PT1 (getpoint "\n指定文字的起点: "))
           (getdist PT1 "\n指定高度: ")
           (/ (* 180 (getangle PT1 "\n指定文字的旋转角度: ")) pi)
           (nth 0 QQ)
  )
  (setq QQ (cdr QQ))
  (foreach ENT QQ
    (command "_.TEXT" "" ENT)
  )
  (setvar "CMDECHO" HOLDECHO)
  (princ)
)


;;如何将下面的字符串
;;("20" "18" "55")
;;全部累加起来,得出 20+18+55=93
(apply '+ (mapcar 'atof '("20" "18" "55")))
 楼主| 发表于 2003-7-12 21:39:00 | 显示全部楼层

謝謝!!!第一個問題已解決

謝謝!!!第一個問題已解決
;;如何将下面的字符串
;;("20" "18" "55")
;;全部累加起来,得出 20+18+55=93
(apply '+ (mapcar 'atof '("20" "18" "55")))
;;;;;;;;;;;;;;;;;;;;;;;;;;
如果是 (20 18 55)呢?
发表于 2003-7-14 08:12:00 | 显示全部楼层
;;帮助文件上就有!!!!
将一串行的自变量传递给指定的函数并执行该函数
(apply 'function list)
自变量
'function
一个函数。 function 自变量可以是识别 defun 的符号,也可以是一个 lambda 表示式。
list
一个串行。 可以是 nil,如果函数不需要自变量的话。
传回值
function 函数呼叫的结果。
范例
指令:(apply '+ '(1 2 3))
6
指令:(apply 'strcat '("a" "b" "c"))
"abc"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 18:32 , Processed in 0.178880 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表