找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 587|回复: 0

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

[复制链接]
发表于 2006-2-10 06:26:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
[求助]:[0210]修正图层输出与输入程序问题
请教各位高手们
以下这程序是用来输出及输入图档内图层的设定
但目前这程序有各问题
就是已存在的图层会出现些讯息
如果要改正这问题该怎样处理呢?

另外请教关于串列读取问题,假设为

   A B C D ...
1. 2 8 1 6 ...
2. 5 7 3 4 ...
3. 7 5 4 3 ...

如果说要读取的位置是 B-3 ,或 D-2 ;
请问该怎样选取到要读取的位置?
另外关于程式中用到数值记忆时,
有位高手说可以用这种读写档案的方式存取数值,
该怎样由这种方式存取呢?

最后,请问外部档案内可以设定注解吗?

以上问题烦请各位帮忙解答一下
谢谢~


[PHP]
(defun c:kP1()
       (setvar "cmdecho" 0)
       (setq ffn "c:\\layall.txt")
       (initget "r w")
       (setq ans (getkword "\n(W)图层写出 (R)读取外档<W>:"))
       (if (null ans)(setq ans "w"))
       (if (= ans "w")
           (w_lay)
           (r_lay)
      )
      (prin1)
    )
(defun w_lay()
       (setq ff (open ffn "w"))
       (close ff)
         (setq ff (open ffn "a"))
         (princ "图层名称    颜色    线型" ff)
         (princ "\n" ff)
          (close ff)
       (setq lay_a (tblnext "layer" t))
        (while lay_a
          (setq ff (open ffn "a"))
          (setq layname (cdr (assoc 2 lay_a)))
          (setq laycolor (cdr (assoc 62 lay_a)))
          (setq laylitype (cdr (assoc 6 lay_a)))
          (princ layname ff)
          (princ "," ff)
          (princ laycolor ff)
          (princ "," ff)
          (princ laylitype ff)
           (princ "\n" ff)
          (close ff)
          (setq lay_a (tblnext "layer"))
         )
     )


(defun r_lay()
       (setq ffk (open ffn "r"))
         (setq kaka (read-line ffk))
         (setq kaka (read-line ffk))
         (while kaka
           (setq pk 1 k "" kk "" kkk '())
           (repeat (strlen kaka)
           (setq k (substr kaka pk 1))
           (if (/= k ",")
           (setq kk (strcat kk k))
           (setq kkk (cons kk kkk) kk "")
           )   ; 结束if
           (setq pk (+ 1 pk))
           )  ;结束repeat
           (setq kkk (cons kk kkk))
           (setq keyt (reverse kkk))

         (setq tx0 (nth 0 keyt))
         (setq tx1 (nth 1 keyt))
         (setq tx2 (nth 2 keyt))

         (setq tstyle (tblsearch "ltype" tx2))
(if (= tstyle nil)
(command "linetype" "L" tx2 "acadiso" "" "")
(command "layer" "n" tx0 "c" tx1 tx0 "l" tx2 tx0 ""))
) ;;_(if
         (setq kaka (read-line ffk))
         )

(close ffk)
(prin1)
)
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-29 02:37 , Processed in 0.161968 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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