sunqv 发表于 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" "")
)

lostbalance 发表于 2016-10-9 22:21:17

本帖最后由 lostbalance 于 2016-10-9 22:41 编辑

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