明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1099|回复: 1

[求助]:[0210]修正图层输出与输入程序问题

[复制链接]
发表于 2006-2-10 06:29 | 显示全部楼层 |阅读模式
[求助]:[0210]修正图层输出与输入程序问题
请教各位高手们
以下这程序是用来输出及输入图档内图层的设定
但目前这程序有各问题
就是已存在的图层会出现些讯息
如果要改正这问题该怎样处理呢?
另外请教关于串列读取问题,假设为
   A B C D ...
1. 2 8 1 6 ...
2. 5 7 3 4 ...
3. 7 5 4 3 ...
如果说要读取的位置是 B-3 ,或 D-2 ;
请问该怎样选取到要读取的位置?
另外关于程式中用到数值记忆时,
有位高手说可以用这种读写档案的方式存取数值,
该怎样由这种方式存取呢?
最后,请问外部档案内可以设定注解吗?
以上问题烦请各位帮忙解答一下
谢谢~
  1. (defun c:kP1()
  2.        (setvar "cmdecho" 0)
  3.        (setq ffn "c:\\layall.txt")
  4.        (initget "r w")
  5.        (setq ans (getkword "\n(W)图层写出 (R)读取外档<W>:"))
  6.        (if (null ans)(setq ans "w"))
  7.        (if (= ans "w")
  8.            (w_lay)
  9.            (r_lay)
  10.       )
  11.       (prin1)
  12.     )
  13. (defun w_lay()
  14.        (setq ff (open ffn "w"))
  15.        (close ff)
  16.          (setq ff (open ffn "a"))
  17.          (princ "图层名称    颜色    线型" ff)
  18.          (princ "\n" ff)
  19.           (close ff)
  20.        (setq lay_a (tblnext "layer" t))
  21.         (while lay_a
  22.           (setq ff (open ffn "a"))
  23.           (setq layname (cdr (assoc 2 lay_a)))
  24.           (setq laycolor (cdr (assoc 62 lay_a)))
  25.           (setq laylitype (cdr (assoc 6 lay_a)))
  26.           (princ layname ff)
  27.           (princ "," ff)
  28.           (princ laycolor ff)
  29.           (princ "," ff)
  30.           (princ laylitype ff)
  31.            (princ "\n" ff)
  32.           (close ff)
  33.           (setq lay_a (tblnext "layer"))
  34.          )
  35.      )
  36. (defun r_lay()
  37.        (setq ffk (open ffn "r"))
  38.          (setq kaka (read-line ffk))
  39.          (setq kaka (read-line ffk))
  40.          (while kaka
  41.            (setq pk 1 k "" kk "" kkk '())
  42.            (repeat (strlen kaka)
  43.            (setq k (substr kaka pk 1))
  44.            (if (/= k ",")
  45.            (setq kk (strcat kk k))
  46.            (setq kkk (cons kk kkk) kk "")
  47.            )   ; 结束if
  48.            (setq pk (+ 1 pk))
  49.            )  ;结束repeat
  50.            (setq kkk (cons kk kkk))
  51.            (setq keyt (reverse kkk))
  52.          (setq tx0 (nth 0 keyt))
  53.          (setq tx1 (nth 1 keyt))
  54.          (setq tx2 (nth 2 keyt))
  55.          (setq tstyle (tblsearch "ltype" tx2))
  56. (if (= tstyle nil)
  57. (command "linetype" "L" tx2 "acadiso" "" "")
  58. (command "layer" "n" tx0 "c" tx1 tx0 "l" tx2 tx0 ""))
  59. ) ;;_(if
  60.          (setq kaka (read-line ffk))
  61.          )
  62. (close ffk)
  63. (prin1)
  64. )

发表于 2006-2-10 18:12 | 显示全部楼层

就是已存在的图层会出现些讯息
如果要改正这问题该怎样处理

可能与系统变量"expert"的设定有关.

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 05:22 , Processed in 0.176036 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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