明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1776|回复: 7

如何将列表中的原子转换成字符型的?

[复制链接]
发表于 2006-3-22 19:51:00 | 显示全部楼层 |阅读模式

我有这样一个pinfro.txt:(1 齿轮 1  45)
           (2  轴  1  45)

我用下面的程序将数据读入:

(defun c:data2(/ xh mc cl bz );
  (setq data_list '())
  (setq f (open "g:/pinfro.txt" "r"))
  (setq data (read-line f))
  (while data
  (setq data_list (cons data data_list))
  (setq data (read-line f)))
       (setq ldata(read(nth 1 data_list)))
(setq xh(nth 0 ldata))
(setq mc(nth 1 ldata))
  (setq sl(nth 2 ldata))
  (setq clbz(nth 3 ldata))
  (close f))

现在的问题是:我用(command "text" "m" (inters pt1 pt6 pt4 pt5)(/ hh 2)0 xh)在矩形中写xh所代表的文字"1",为什么写不上?请指教!

发表于 2006-3-22 20:53:00 | 显示全部楼层

简单的办法是在文本文件中,作为字符用的用引号括起来,如

     (1 "齿轮" "1"  "45")
  (2  "轴"  "1" " 45")

这样,读出来之后用read就将一行转变为表。

如果文本文件内容太多,处理困难,则读出来之后,只能依靠空格符将字符串分开,这样各项都是字符串。

发表于 2006-3-22 21:42:00 | 显示全部楼层
  1. (defun c:data2 (/ xh mc cl bz)  ;
  2.   (setq data_list '())
  3.   (setq f (open "g:/pinfro.txt" "r"))
  4.   (setq data (read-line f))
  5.   (while data
  6.     (setq ldata (car(read (strcat "(" data ")"))))
  7.     (setq data (read-line f))
  8.   )  
  9.   (setq xh (nth 0 ldata))
  10.   (setq mc (nth 1 ldata))
  11.   (setq sl (nth 2 ldata))
  12.   (setq clbz (nth 3 ldata))
  13.   (close f)
  14.   ..........
  15.   (command "text" "m" (inters pt1 pt6 pt4 pt5)(/ hh 2)0 xh)
  16. )
 楼主| 发表于 2006-3-22 21:43:00 | 显示全部楼层
能详细说明一下读出来之后,如何将依靠空格符将字符串分开?
发表于 2006-3-22 21:46:00 | 显示全部楼层
3楼的程序读TXT文件内容的格式为(2  轴  1  45)就行了
发表于 2006-3-22 21:49:00 | 显示全部楼层
(command "text" "m" (inters pt1 pt6 pt4 pt5)(/ hh 2) 0 (itoa xh))
 楼主| 发表于 2006-3-22 21:58:00 | 显示全部楼层

如果xh代表的是"轴",用什么转换?

发表于 2006-3-22 22:14:00 | 显示全部楼层
vl-symbol-name
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-8-8 04:57 , Processed in 0.155311 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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