明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1304|回复: 7

请问如何将字符串 "\"图层10\"" 变为 "图层

[复制链接]
发表于 2005-11-1 00:48 | 显示全部楼层 |阅读模式

请问如何将字符串   "\"图层10\""   变为 "图层"

(defun mc_getfile_line(files / tmplst x fn)
  (setq files(findfile files))
  (if files
    (progn
      (setq tmplst 0)
      (setq fn(open files "r"))
      (while (read-line fn)
        (setq tmplst (+ 1 tmplst))
      )
      (close fn)
      tmplst
    )
    nil
  )
)
;;;;;;读取指定文件中指定行的内容
;;;;;;(mc_getfile_text files line)
;;;;;;
(defun mc_getfile_text (files line / fn text)
  (setq line(+ 1 line))
  (setq files (findfile files))
  (if files
    (progn
      (setq fn(open files "r"))
      (if (<= line (mc_getfile_line files))
        (progn
          (repeat line
            (setq text(read-line fn))
          )
          (close fn)
          text
        )
        nil
      )
    )
    nil
  )
)


(defun tc_dqtc02 ( / )
  (setq dat_file1 (getfiled "读取设置" "" "ini" 2))
     ;(setq ff (open dat_file "r"))
  (setq tc_tsnum1 (mc_getfile_line dat_file1))
  (setq tc_tslist1 (mc_getfile dat_file1))
  (setq tc_tsi1 0)
  (repeat tc_tsnum1
    (setq tc_tstc1 (nth tc_tsi1 tc_tslist1))
    (mkla tc_tstc1 1)
    (setq tc_tsi1 (1+ tc_tsi1))
  )
  (prin1)
)

发表于 2005-11-1 08:45 | 显示全部楼层
(vl-list-&gt;string  (vl-remove-if '(lambda(x)(&lt; x 128)) (vl-string-&gt;list  "\"图层10\"" )))
发表于 2005-11-1 12:56 | 显示全部楼层
根据你的意思,写一段程序供你参考,其中一句引用了yshf的一句稍加改变:
 
;;该程序画一条直线,一个圆,一个矩形
(defun c:test(/ f_name n)
  ;(setq f_name "c:/图层样式列表.ini")
  (setq f_name (getfiled "读取设置" "" "ini" 4))
  (R_File f_name)
  (setq n 1 s_color 1) ;;这里按需要取n的值
  (s_layer f_list n)
  (command "_layer" "m" g_layer "c" s_color  g_layer "L" "CONTINUOUS" g_layer "")
  (command "pline" (list 50 50) (list 200 50) "")
  (setq n 2 s_color 2)
  (s_layer f_list n)
  (command "_layer" "m" g_layer "c" s_color  g_layer "L" "CONTINUOUS" g_layer "")
  (command "circle" (list 75 100) 50)
  (setq n 3 s_color 3)
  (s_layer f_list n)
  (command "_layer" "m" g_layer "c" s_color  g_layer "L" "CONTINUOUS" g_layer "")
  (command "_.rectang" (list 10 10) (list 150 150))
)
(defun R_File(f_name / f a b)
    (setq f (open f_name "r") f_list '())
  (while (setq a (read-line f))
      (setq f_list (append f_list (list (read a))))
  )
  f_list
)
(defun s_layer(f_list n / b d)
    (vl-load-com)
    (setq b (vl-list->string  (vl-remove-if '(lambda(x)(< x 65)) (vl-string->list (nth n f_list)))))
    (setq g_layer (strcat (itoa n) b)) 
        g_layer
)
发表于 2005-11-1 13:03 | 显示全部楼层

Ea

_$ (vl-string-trim "\"" "\"2222\"")
"2222"
发表于 2005-11-1 13:08 | 显示全部楼层
他可能有两种格式的数据,如下:
其一
"0"
"REIN"
"TEXT"
"图层1"
"图层2"
"图层3"
"图层4"
"图层5"
其二
0
REIN
TEXT
图层1
图层2
图层3
图层4
图层5
发表于 2005-11-1 13:11 | 显示全部楼层
_$ (vl-string-trim "\"" "2222")
"2222"
_$
发表于 2005-11-1 13:47 | 显示全部楼层
(vl-string-trim "\"" "2222")
较之
(vl-list->string  (vl-remove-if '(lambda(x)(< x 65)) (vl-string->list "图层5")))
简洁,不过好像不能实现将 "图层5"转换成 "图层"
 
 楼主| 发表于 2005-11-1 13:47 | 显示全部楼层
谢谢各位楼主,我将写文件的PRINC改为PRIN1后图层列表就没有“”,读取后就没有\"这个符号了,列表样式为("0" "图层1")再次谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 11:23 , Processed in 0.195589 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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