明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 541|回复: 3

[提问] 各位请修改不框选,执行命令读写0层。

[复制链接]
发表于 2018-12-6 20:01:04 | 显示全部楼层 |阅读模式
(defun c:db()
   (setvar "cmdecho" 0)
   (setq FN (getvar "dwgname")); PCB1234MT.dwg
   (setq n 1 k 0)
   (While (> n 0)
     (setq Tac (vl-string-elt FN k))
         (if (and (> Tac 47)(< Tac 58));0是48,9是57
             (setq n 0)
                 (setq k (1+ k))
     )
   )
   (setq FN (substr FN (+ k 1)))
   (setq n 1 k 0)
   (While (> n 0)
     (setq Tac (vl-string-elt FN k))
         (if (> Tac 64);65是大写字母A
             (setq n 0)
                 (setq k (1+ k))
     )
   )
   (setq FN (substr FN 1 k))
   (setq file2 (strcat "C:\\NC\\" FN "p.NC"))
   ;(setq file2 (getstring "\n 请输入路径及文件名"))
   (setq file3(open file2 "w"))
   (if(= file3 nil)
      (progn
      (alert  "路径或文件名错误!")
      (exit)
      )
      )
  (princ "请选择要钻孔的圆:")
   (setq a (ssget))
   (setq n (sslength a))
   (setq i 0 m 0 Lzb nil)
   (repeat n
     (setq en(ssname a i))
     (setq endata(entget en))
     (setq entype(cdr (assoc 0 endata)))
     (if(= entype "CIRCLE")
      (progn
           (setq ZB (cdr(assoc 10 endata)))
           (setq Lzb (cons ZB Lzb))
       (setq x(cadr(assoc 10 endata)))
       (setq y(caddr(assoc 10 endata)))
       (princ "X" file3)
       (princ (rtos x 2 3) file3)
       (princ "  " file3)
       (princ "Y" file3)
       (princ (rtos y 2 3) file3)
       (princ "\n" file3)
       (setq m (+ 1 m))  
      )
     )
     (setq i (+ 1 i))
   )
(princ (strcat "\n共有<" (itoa m) ">孔被选取!"))
(prin1)
(close file3)
(setq R_c (cdr(assoc 40 endata)))
        (setq Tzb1(Last Lzb))        
        (setq Tzb2 (last (reverse Lzb)))
        (setq Txzb (- (* 1.5 (car Tzb1)) (* 0.5 (car Tzb2))))
        (setq Tyzb (* 0.5 (+ (cadr Tzb2) (cadr Tzb1))))
        (setq Tzb (list Txzb Tyzb))
        (prin1)
;;;;写字: PCB板钻孔文件为FN;;;;;;;;
(setq Txt (strcat "PCB板钻孔文件为" FN "P.NC"))
(entmake (list        
                 (cons 0 "TEXT")
                         (cons 100 "AcDbEntity")
                         (cons 100 "AcDbTexe")
                 (cons 62 6);颜色粉红
                         (cons 10 Tzb)
                         (cons 40 (/ R_c 3));字高2.5
                 (cons 7  "standard")
                 (cons 1  Txt)
                       )
  )
)
发表于 2018-12-6 20:45:28 | 显示全部楼层
看不明白楼主的意思。。。。。
发表于 2018-12-7 13:51:14 | 显示全部楼层
把(setq a (ssget))
改成(setq a (ssget  "x"  (list         (cons 8 “0”)          ) ))
是这个意思吗?
 楼主| 发表于 2018-12-7 22:20:12 | 显示全部楼层
fl202 发表于 2018-12-7 13:51
把(setq a (ssget))
改成(setq a (ssget  "x"  (list         (cons 8 “0”)          ) ))
是这个意思吗?

是这个意思没有0层不提示呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 03:04 , Processed in 0.165551 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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