找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
12
返回列表 发新帖
打印 上一主题 下一主题

[原创] 请教一些LISP命令的运用

[复制链接]
11
发表于 2011-10-19 00:04:52 | 只看该作者
(defun C:EPT (/ olds oldss olds1 stp h txt wf st x0 y0 l n yes
                TXTA TXT1 NN AR AD CL cst)
   (setq olderr *error*
         *error* myerror)
   (setvar "BLIPMODE" 0)
   (setvar "CMDECHO" 0)
   (SETQ CL (GETVAR "CLAYER"))
   (setq cst (getvar "textstyle"))
   (setq olds (entsel "\nSelect the string :"))
   (SETQ OLDSS (CAR OLDS))
   (setq olds (entget  (car  olds)))
   (setq olds1 (cdr (assoc 0 olds)))
   (if (= "TEXT" oldS1)
       ( progn
          (COMMAND "ERASE" (SSADD OLDSS) "")
          (COMMAND "LAYER" "S"  (CDR (ASSOC 8 OLDS)) "")
          (setq stp  (trans (cdr (assoc 10 olds)) 0 1))
          (setq h   (cdr (assoc 40 olds)))
          (setq aR (cdr (assoc 50 olds)))
          (setq aD  (RTD (cdr (assoc 50 olds))))
          (setq txt (cdr (assoc 1 olds)))
          (setq wf (Cdr (assoc 41 olds)))
          (SETQ ST (CDR (ASSOC 7 OLDS)))
          (SETQ X0 (CAR STP) Y0 (CADR STP))
          (setq l (strlen txt))
          (setq n 1) (setq nn 2)
          (setq yes 1)
          (while (<= N L)
                  (setq tXT1 (substr txt n 2))
                  (SETQ TXTA (ASCII TXT1))
                  (setq nn (cond
                            ((= TXT1 "%%") 3)
                            ((> Txta 160) 2)
                            ((< Txta 129) 1)
                           )
                  )
                  (setq txt1 (substr txt n nn))
                  (setq n (+ n nn))
                  (COMMAND "text" "S" ST stp h aD txt1)

                  (IF (= NN 2)
                      (PROGN
                         (cond ((eq cst "HZ")   (setq wscale 1.0625))
                               ((eq cst "HZ1")  (setq wscale 1.20))
                               ((eq cst "HZ0")  (setq wscale 1.40))
                              )
                         (SETQ X0 (+ X0 (* (cos aR)  H WF wscale)))
                         (SETQ y0 (+ Y0 (* (sin aR)  H WF wscale)))
                      )
                      (PROGN
                         (SETQ JF (COND
                                     ((= TXTA 49) 0.65)
                                     ((= TXTA 46) 0.3)
                                     (T 1)
                                  )
                          )
                         (setq wf1 (* JF WF))
                         (SETQ X0 (+ X0 (* (cos aR)  H WF1)))
                         (SETQ y0 (+ Y0 (* (sin aR)  H WF1)))
                      )
                   )
                  (SETQ STP (LIST X0 Y0))

         )
     )
  )
(COMMAND "LAYER" "S" CL "")
  (COMMAND "text" "s" cst ^c)
(setq *error* olderr)
(princ)
)

(DEFUN C:HZFILE(/ TXT SP TH INS WD STL LS DT)
(setvar "BLIPMODE" 0)
(SETVAR "CMDECHO" 0)
(modes '("BLIPMODE" "CMDECHO"))
(graphscr)
(SETQ TXT (OPEN (GETSTRING "\n Name of Text File(WordStar): ") "r"))
(SETQ SP (GETPOINT "\n Text String Start Point :"))
(SETQ INS (GETSTRING"\n Enter Line Spacing in Drawing Units :"))
(SETQ HT (GETSTRING "\n Enter Text Height in Drawing Units :"))
(SETQ WD (GETSTRING "\n Enter Text Width Factor :"))
(princ "Please select HZ style:")
(initget 2 "Singleline-hz Doubleline-hz")
(setq hz (getstring "\nSingleline-hz/Doubleline-hz/<standard-hz>:"))
(setq pname (getvar "dwgprefix"))
(cond ((eq hz "s")  (COMMAND "STYLE" "HZ" "txt,hztxt" HT WD "" "" ""))
      ((eq hz "d")  (COMMAND "STYLE" "HZ1" "txt,hztxt1" HT WD "" "" ""))
      ((eq hz "")   (COMMAND "STYLE" "HZ0" "txt,hztxt0" HT WD "" "" ""))
      (T (princ "Unknown HZ style ! Restart HZFILE COMMAND."))
      )

(SETQ DT (READ-LINE TXT))
(SETQ LS (STRCAT "@"INS"<-90"))
(COMMAND"TEXT" SP "" DT)
(WHILE (/= DT NIL)
(SETQ DT (READ-LINE TXT))
(COMMAND"TEXT" LS "" DT)
)
(COMMAND"REDRAW")
)
12
发表于 2011-10-19 00:05:06 | 只看该作者
zengzheng00o 发表于 2011-10-18 23:47
(DEFUN C:HZFILE(/ TXT SP TH INS WD STL LS DT)
(setvar "BLIPMODE" 0)
(SETVAR "CMDECHO" 0)

(defun C:EPT (/ olds oldss olds1 stp h txt wf st x0 y0 l n yes
                TXTA TXT1 NN AR AD CL cst)
   (setq olderr *error*
         *error* myerror)
   (setvar "BLIPMODE" 0)
   (setvar "CMDECHO" 0)
   (SETQ CL (GETVAR "CLAYER"))
   (setq cst (getvar "textstyle"))
   (setq olds (entsel "\nSelect the string :"))
   (SETQ OLDSS (CAR OLDS))
   (setq olds (entget  (car  olds)))
   (setq olds1 (cdr (assoc 0 olds)))
   (if (= "TEXT" oldS1)
       ( progn
          (COMMAND "ERASE" (SSADD OLDSS) "")
          (COMMAND "LAYER" "S"  (CDR (ASSOC 8 OLDS)) "")
          (setq stp  (trans (cdr (assoc 10 olds)) 0 1))
          (setq h   (cdr (assoc 40 olds)))
          (setq aR (cdr (assoc 50 olds)))
          (setq aD  (RTD (cdr (assoc 50 olds))))
          (setq txt (cdr (assoc 1 olds)))
          (setq wf (Cdr (assoc 41 olds)))
          (SETQ ST (CDR (ASSOC 7 OLDS)))
          (SETQ X0 (CAR STP) Y0 (CADR STP))
          (setq l (strlen txt))
          (setq n 1) (setq nn 2)
          (setq yes 1)
          (while (<= N L)
                  (setq tXT1 (substr txt n 2))
                  (SETQ TXTA (ASCII TXT1))
                  (setq nn (cond
                            ((= TXT1 "%%") 3)
                            ((> Txta 160) 2)
                            ((< Txta 129) 1)
                           )
                  )
                  (setq txt1 (substr txt n nn))
                  (setq n (+ n nn))
                  (COMMAND "text" "S" ST stp h aD txt1)

                  (IF (= NN 2)
                      (PROGN
                         (cond ((eq cst "HZ")   (setq wscale 1.0625))
                               ((eq cst "HZ1")  (setq wscale 1.20))
                               ((eq cst "HZ0")  (setq wscale 1.40))
                              )
                         (SETQ X0 (+ X0 (* (cos aR)  H WF wscale)))
                         (SETQ y0 (+ Y0 (* (sin aR)  H WF wscale)))
                      )
                      (PROGN
                         (SETQ JF (COND
                                     ((= TXTA 49) 0.65)
                                     ((= TXTA 46) 0.3)
                                     (T 1)
                                  )
                          )
                         (setq wf1 (* JF WF))
                         (SETQ X0 (+ X0 (* (cos aR)  H WF1)))
                         (SETQ y0 (+ Y0 (* (sin aR)  H WF1)))
                      )
                   )
                  (SETQ STP (LIST X0 Y0))

         )
     )
  )
(COMMAND "LAYER" "S" CL "")
  (COMMAND "text" "s" cst ^c)
(setq *error* olderr)
(princ)
)

(DEFUN C:HZFILE(/ TXT SP TH INS WD STL LS DT)
(setvar "BLIPMODE" 0)
(SETVAR "CMDECHO" 0)
(modes '("BLIPMODE" "CMDECHO"))
(graphscr)
(SETQ TXT (OPEN (GETSTRING "\n Name of Text File(WordStar): ") "r"))
(SETQ SP (GETPOINT "\n Text String Start Point :"))
(SETQ INS (GETSTRING"\n Enter Line Spacing in Drawing Units :"))
(SETQ HT (GETSTRING "\n Enter Text Height in Drawing Units :"))
(SETQ WD (GETSTRING "\n Enter Text Width Factor :"))
(princ "Please select HZ style:")
(initget 2 "Singleline-hz Doubleline-hz")
(setq hz (getstring "\nSingleline-hz/Doubleline-hz/<standard-hz>:"))
(setq pname (getvar "dwgprefix"))
(cond ((eq hz "s")  (COMMAND "STYLE" "HZ" "txt,hztxt" HT WD "" "" ""))
      ((eq hz "d")  (COMMAND "STYLE" "HZ1" "txt,hztxt1" HT WD "" "" ""))
      ((eq hz "")   (COMMAND "STYLE" "HZ0" "txt,hztxt0" HT WD "" "" ""))
      (T (princ "Unknown HZ style ! Restart HZFILE COMMAND."))
      )

(SETQ DT (READ-LINE TXT))
(SETQ LS (STRCAT "@"INS"<-90"))
(COMMAND"TEXT" SP "" DT)
(WHILE (/= DT NIL)
(SETQ DT (READ-LINE TXT))
(COMMAND"TEXT" LS "" DT)
)
(COMMAND"REDRAW")
)
13
发表于 2011-10-24 14:35:02 | 只看该作者
高手在那里?
14
发表于 2011-10-25 22:42:00 | 只看该作者
不是 由于LISP是比较老旧的语言,这个语言据我知是92年的富士康编写的,上面其实就CTEXT与EPT命令我不知道。其他是网速卡。重复了。若有人知道,我会把其他的命令全部带上说明整理出来,全是我自己摸索的。主动标注,自动换层等等。(这样的命令小,不同于外挂,很好用)比如我直接W1输入1层的线,W3是3层。
15
发表于 2012-3-21 01:08:16 | 只看该作者
研究一下先
16
发表于 2012-11-11 12:46:30 | 只看该作者
看看!!!!!!!!!!!!!!
17
发表于 2014-10-27 11:34:17 | 只看该作者
看不懂
18
发表于 2014-12-1 17:33:20 | 只看该作者
顶一下.....
19
发表于 2014-12-1 17:34:50 | 只看该作者
顶一下.....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-2-2 12:03 , Processed in 0.032273 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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