收藏0
分享

可否把你的lisp语句发一下吗,我测试-wblock在命令行操作还会重名提示

可否把你的lisp语句发一下吗,我测试-wblock在命令行操作还会重名提示

4 条评论 A文章作者 M管理员
  1. ay

    (Defun Ty-Wx (Ent /) (Vla-Getboundingbox (Vlax-Ename->Vla-Object Ent) ‘Minpoint ‘Maxpoint) (Setq Pmax (Trans (Vlax-Safearray->List Maxpoint) 0 1) Pmin (Trans (Vlax-Safearray->List Minpoint) 0 1)) ) (Defun C:WX (/ Osmode Yesno Frame N Ent Number Rev Pmin Pmax Directory Filename Pmin1 Pmax2) (Setvar “Cmdecho” 0) (Princ “n 执行本命令前请先执行MOI命令!”) (Vl-Cmdf “.Undo” “Be” “-Vports” “D” “Wx” “-Vports” “S” “Wx”) (Vl-Cmdf “Ucs” “W”) (Setq Osmode (Getvar “Osmode”)) (Setq $orr *error* *error* MyErr) (Setq Directory (Strcase “F:”)) ;输出文件夹名称 (Initget “Yes No”) (Setq Yesno (getkword “n 输入的图档名称带版次(Y)或不带版次(N)?:”)) (Setvar “Osmode” 0) (Setq Frame (Ssget(List ‘(-4 . “”))) N 0 M 0);选择含有”A3″及”A4″块名图框 (Repeat (Sslength Frame) (Ty-Wx (Ssname Frame N)) (Setq Pmin1 (List (- (Car Pmin) 0.1) (- (Cadr Pmin) 0.1)) Pmax2 (List (+ (Car Pmax) 0.1) (+ (Cadr Pmax) 0.1)) ) ;当前图框四周加大0.1 (IF (= (Ssget “_C” Pmin1 Pmax2 (List ‘(-4 . “”))) NIL) ;排除被选中图框块名含有”B4″ (Progn (Setq Ent (Entget (Ssname Frame N))) (If (/= “SEQEND” (Cdr (Assoc 0 Ent))) (Progn (While (= (Cdr (Assoc 0 (Setq ENT (Entget (Entnext (Cdr (Assoc -1 ENT))))))) “ATTRIB”) ;以下取得图框中件号及版次 (Cond ((= (Cdr (Assoc 2 ENT)) “REV”) (Setq Rev (Cdr (Assoc 1 ENT)))) ((= (Cdr (Assoc 2 ENT)) “NUMBER”) (Setq Number (Cdr (Assoc 1 ENT)))) ) ;Cond End );Whiel End (If (= Yesno “Yes”) (Setq Filename (Strcase (Strcat Directory Number “-Rev-” Rev “.dwg”))) ;Y->输出文件名带版次 (Setq Filename (Strcase (Strcat Directory Number “.dwg”))));;N->输出文件名不带版次 (Vl-Cmdf “-Wblock” Filename “” Pmin (Ssget “_W” Pmin Pmax) “”) ) ) ) );If End (Setq N (1+ N)) );Repeat End (Setvar “Osmode” Osmode) (Vl-Cmdf “Undo” “E”) (Setq *error* $orr) (Setvar “Cmdecho” 1) (Princ) ) 测试用的图档我不知道怎么上传。图档中需要写出图框块名为A4, 带有属性文字 (”NUMBER”), 写出块名就取自这个 NUMBER

    • 一个大大的苹果

      可以再次发一个评论吧,在讨论区发代码会乱

  2. ay

    怎么发给您?

    • 周永成

      可以直接在这留言也行的,其他开发者看到了如果知道怎么回事也可以回复

购物车
优惠劵
今日签到
有新私信 私信列表
搜索
复制链接
微信扫码
已复制到剪贴板