明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 573|回复: 1

[源码] 帮忙注记一段代码

[复制链接]
发表于 2016-10-9 15:48:35 | 显示全部楼层 |阅读模式
帮忙注记下面一段代码,谢谢!
***************************************************分割线***************************************************
(defun LPOUT ()
  (setq NOPRN 1)
  (setq PIPELS0 "continuous")
  (setq PIPELS1 "2_1")
  (setq PIPELS2 "0_1")
  (setq PIPELS3 "3_1.5")
  (setq LNA2_1 "continuous")
  (setq GKMAX 1.0)
  (setq BXLAY "ANNEXE")
  (SETVAR "SNAPMODE" 0)
  (SETVAR "OSMODE" 0)
  (setq LSTCOLOR (READTYPF))
  (setq PTEXT 1)
  (setq F (OPEN FNTX "r"))
  (if (NOT F)
    (progn (ALERT (STRCAT FNTX " 文件未找到!")) (EXIT))
  )
  (SETVAR "SNAPMODE" 0)
  (CRELA)
  (setq SXY (READ-LINE F))
  (setq PSAQ (LN_LST SXY))
  (setq PSAQ (NTH 4 PSAQ))
  (setq NS 1)
  (while (= NS 1)
    (setq TYP_A (READ-LINE F))
    (setq LENTYP (STRLEN TYP_A))
    (if (= TYP_A "ENDLINE")
      (setq NS 0)
      (if (= TYP_A "ZZ")
(ZLINE)
(progn (setq LSTTYPE (LN_LST TYP_A))
        (setq TYP (NTH 0 LSTTYPE))
        (setq TYP1 (NTH 1 LSTTYPE))
        (setq LN (NTH 2 LSTTYPE))
        (setq CV (NTH 3 LSTTYPE))
        (CLONE TYP LN CV)
        (setq NE 1)
        (while (= NE 1)
   (setq TT (READ-LINE F))
   (if (= TT "END")
     (setq NE 0)
     (progn (ONELN TT TYP LN PSAQ BXLAY)
     (setq ENT (ENTLAST))
     (SAVXD ENT TT)
     )
   )
        )
)
      )
    )
  )
  (command "ZOOM" "E")
  (while (setq TYP_A (READ-LINE F))
    (setq LSTTYPE (LN_LST TYP_A))
    (setq TYP (NTH 0 LSTTYPE))
    (setq TYP1 (NTH 1 LSTTYPE))
    (setq LN (NTH 2 LSTTYPE))
    (setq CV (NTH 3 LSTTYPE))
    (CLONE TYP LN CV)
    (setq LAP (STRCAT LN "POINT"))
    (setq LAT (STRCAT LN "TEXT"))
    (setq NE 1)
    (while (= NE 1)
      (setq TT (READ-LINE F))
      (if (= TT "END")
(setq NE 0)
(progn (setq LST (LN_LST TT))
        (setq DF (NTH 9 LST))
        (setq SANGLE (NTH 10 LST))
        (if (or (= SANGLE nil) (= SANGLE "") (= SANGLE " "))
   (setq SANGLE "0")
   (setq SANGLE (ANGTOS (ATOF SANGLE)))
        )
        (setq S (NTH 0 LST))
        (setq Y (ATOF (NTH 4 LST)))
        (setq X (ATOF (NTH 5 LST)))
        (setq Z (ATOF (NTH 6 LST)))
        (setq PT (LIST X Y Z))
        (if (or (= DF nil) (= DF "0") (= DF ""))
   (PRINC (STRCAT "N" S "点符号DWG文件未找到" " " DF))
   (progn (setq FN (STRCAT "D:/东莞/符号/" DF ".DWG"))
   (command "_.LAYER" "S" LAP "")
   (command "_.INSERT" FN PT "0.5" "0.5" SANGLE)
   )
        )
        (setq ENT (ENTLAST))
        (SAVXDP ENT TT)
)
      )
    )
  )
  (CLOSE F)
  (command "_.LAYER" "S" "0" "")
)
发表于 2016-10-9 22:21:17 来自手机 | 显示全部楼层
本帖最后由 lostbalance 于 2016-10-9 22:41 编辑

手机看的帖子,水平也较低,随便说说。1. 大小写近乎混乱,看着比较麻烦。
2. 大部分都是最基本的函数,setq if while 以及command,就是赋值、判断、判断循环以及调用cad命令。
3. 另外有部分函数,应该是自定义函数,但相关代码,就不好说了。4. 通篇下来,大概是查找某个配置文件,然后按某种规则读取该文件的内容,最后根据内容插入对应的块?自定义函数有点多,好多地方看不明白…
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-20 05:49 , Processed in 0.153006 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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