明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1982|回复: 7

[提问] 矩形框批量wipeout

[复制链接]
发表于 2013-12-12 08:59:56 | 显示全部楼层 |阅读模式
(defun c:Jx ()
(setvar "CMDECHO" 0)
(if (setq ss (ssget '((0 . "LWPOLYLINE")))) (progn
(setq i -1)
(repeat (sslength ss)
(setq ent (entget (ssname ss (setq i (1+ i))))
       p1 (cddr(assoc 10 ent))
       p2 (caDdr(assoc 10 ent)))
(command "_.wipeout" (p1,p2) (p1+20.8333,p2) (p1+20.8333,p2-12.5) (p1,p2-12.5) "" "" "N")
)
(command "_.ERASE" ss "")
))
(setvar "CMDECHO" 1)
(princ)
)
问题在什么地方,请各路大神指出来,为什么还要选择封闭多线段,为什么批量不了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2013-12-12 09:09:43 | 显示全部楼层
真是汗啊,(command "_.wipeout" (p1,p2) (p1+20.8333,p2) (p1+20.8333,p2-12.5) (p1,p2-12.5) "" "" "N"))这一句问题太多了。程序不是你写得吧,怎么会有这么奇葩的写法?
 楼主| 发表于 2013-12-12 09:13:18 | 显示全部楼层
zyhandw 发表于 2013-12-12 09:09
真是汗啊,(command "_.wipeout" (p1,p2) (p1+20.8333,p2) (p1+20.8333,p2-12.5) (p1,p2-12.5) "" "" "N")) ...

哈哈,怎么改啊
 楼主| 发表于 2013-12-12 09:36:51 | 显示全部楼层
  1. (defun wipeout2plst (wo / elst u v mat)
  2.   (setq         elst (entget wo)
  3.          u    (cdr (assoc 11 elst))
  4.          v    (cdr (assoc 12 elst))
  5.          mat  (list u (mapcar '- v) '(0. 0. 1.))
  6.   )
  7.   (mapcar
  8.     '(lambda (p)
  9.        (mapcar '+
  10.                 (mxv (trp mat) p)
  11.                 (mapcar '(lambda (x y) (/ (+ x y) 2.)) u v)
  12.                 (cdr (assoc 10 elst))
  13.        )
  14.      )
  15.     (cdr
  16.       (mapcar 'cdr
  17.                (vl-remove-if-not '(lambda (x) (= (car x) 14)) elst)
  18.       )
  19.     )
  20.   )
  21. )

  22. ;; Transpose a matrix Doug Wilson
  23. (defun trp (m)
  24.   (apply 'mapcar (cons 'list m))
  25. )
  26. (mapcar 'list '(1 2 3) '(4 5 6)  '(7 8 9 10))

  27. ;; Apply a transformation matrix to a vector by Vladimir Nesterovsky
  28. (defun mxv (m v)
  29.   (mapcar '(lambda (r) (apply '+ (mapcar '* r v))) m)
  30. )
  31. (defun delblkwipe  (blkname / blkdef objname)

  32.   (setq        blkdef

  33.          (vla-item (vla-get-blocks

  34.                      (vla-get-ActiveDocument (vlax-get-acad-object)))

  35.                    blkname))

  36.   (if (/= :vlax-true (vla-get-IsXRef blkdef))

  37.     (vlax-for obj  blkdef

  38.       (cond

  39.         ((= "AcDbWipeout" (setq objname (vla-get-ObjectName obj)))
  40.          (setq pl (wipeout2plst (vlax-vla-object->ename obj))
  41.                pl (apply 'append (mapcar '(lambda (X) (list (car x) (cadr x)) ) pl))
  42.                )
  43.          (setq o
  44.                 (vla-AddLightWeightPolyline blkdef (vlax-safearray-fill
  45.                                               (vlax-make-safearray
  46.                                                 vlax-vbDouble
  47.                                                 (cons 0 (1- (length pl)))
  48.                                               )
  49.                                               pl
  50.                                             )
  51.            )
  52.                )
  53.          (vla-put-closed o :vlax-true)
  54.          (vla-put-layer o (vla-get-layer obj))
  55.          (vla-delete obj)

  56.          )

  57.         ((or (= "AcDbMInsertBlock" objname)

  58.              (= "AcDbBlockReference" objname)

  59.              )

  60.          (delblkwipe (vla-get-name obj))

  61.          )

  62.         )

  63.       )

  64.     )

  65.   )

  66. ;;

  67. (defun c:111(/ e)

  68.   (while (and (setq e (car(entsel)))

  69.               (=  "INSERT" (cdr (assoc 0 (entget e))))

  70.               )

  71.     (delblkwipe (cdr (assoc 2 (entget e))))

  72.     (command "_.regen")

  73.     )

  74.   (princ)

  75.   )
发表于 2013-12-12 09:37:22 | 显示全部楼层
实在看不懂你这是要做什么,是要以多段线的起点做个矩形遮盖吗?改了下,不一定能达到你的要求,你下载试试!最好能把你的要求详细说明下,并附上测试的dwg。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2013-12-12 09:49:56 | 显示全部楼层
zyhandw 发表于 2013-12-12 09:37
实在看不懂你这是要做什么,是要以多段线的起点做个矩形遮盖吗?改了下,不一定能达到你的要求,你下载试试 ...

感谢
发表于 2013-12-13 13:30:26 | 显示全部楼层
学习,谢谢!!!!!!!1
 楼主| 发表于 2013-12-14 12:58:34 | 显示全部楼层
为什么会出现这样的效果,实在看不明白,计算没有问题啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-25 22:43 , Processed in 0.199148 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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