明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4352|回复: 12

[源码] 关于wipeout的问题,请教高手

[复制链接]
发表于 2013-4-10 09:30:34 | 显示全部楼层 |阅读模式
本帖最后由 llsheng_73 于 2013-4-10 09:34 编辑

我在对界址点进行消隠处理的时候,自己用ENTMAKE的方法绘制WIPEOUT,
但是结果是它不能绘出光栅图像来,没办法了只好在ENTMAKE之前用commnd调用了一下WIPEOUT命令.
然后ENTMAKE就能出来光栅图像了达到了消隠的效果
现在我想知道的是WIPEOUT命令它到底做了什么,如果不使用WIPEOUT命令,entmake里边是不是必须加上(340 . <图元名:0>)或者是加上后它就能行了?
(defun wipejzd(a pt / m n e d p)
  (setq e(entget a)d(*(cdr(assoc 40 e))2)p(cdr(assoc 10 e))
p(append(list 10)(polar p(* pi -0.75)(/ d(sqrt 2))))
e(APPEND(list(cons 0 "WIPEOUT")(cons 100 "AcDbEntity")(CONS 8 "TK")(cons 100 "AcDbWipeout")(cons 90 0)P(LIST 11 D 0 0)(LIST 12 0 D 0)(LIST 13 1 1 0)
       (cons 70 7)(cons 280 1)(cons 71 2)(cons 91 (length pt)))PT)
)
  (ENTMAKE E)(princ)
  )
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-4-10 11:54:41 | 显示全部楼层
llsheng_73 发表于 2013-4-10 10:53
难道是要用ENTMAKEX问题是改了之后它还是不出来
感谢Gu_xl 版主, 继续学习去,实在弄不 ...

使用之前要确保"acwipeout.arx"已加载!
在函数开始处添加如下代码确保"acwipeout.arx"加载:
(if (not (member "acwipeout.arx" (arx)))
    (ARXLOAD "acwipeout.arx")
    )
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2013-9-25 09:59:45 | 显示全部楼层
Gu_xl 发表于 2013-6-19 19:46
加载 acismui.arx即可!

谢谢了,原来这么回事。。。
回复 支持 1 反对 0

使用道具 举报

发表于 2020-4-14 22:14:05 | 显示全部楼层
谢谢G版和llsheng! 分享程序!!!!
发表于 2013-4-10 10:28:53 | 显示全部楼层
本帖最后由 Gu_xl 于 2013-4-10 11:55 编辑

  1. ;;(gxl-makewipeout pts) 绘制WipeOut By Gu_xl
  2. ;;用法: (gxl-makewipeout (list (getpoint "\n点:") (getpoint "\n点:") (getpoint "\n点:") (getpoint "\n点:")))
  3. (defun gxl-makewipeout (PTS / LL UR wh w h CP LST ANG)
  4. (if (not (member "acwipeout.arx" (arx)))
  5.     (ARXLOAD "acwipeout.arx")
  6.     )
  7.   (if (not (equal (car pts) (last pts) 1e-6))
  8.     (setq pts (cons (last pts) pts))
  9.     )
  10.   (setq ll (apply 'mapcar (cons 'min pts))
  11.         ur (apply 'mapcar (cons 'max pts))
  12.         wh (mapcar '- ur ll)
  13.         w  (car wh)
  14.         h  (cadr wh)
  15.         cp (mapcar '* (mapcar '+ ll ur) '(0.5 0.5 0.5))
  16.         )
  17.   (foreach pt pts
  18.     (setq lst (cons (list 14
  19.                           (/ (car (setq pt (mapcar '- pt cp))) w)
  20.                           (- (/ (cadr pt) h))
  21.                           )
  22.                     lst
  23.                     )
  24.           )
  25.     )
  26.   (setq lst (reverse lst))
  27.   (entmakex
  28.     (append
  29.       (list
  30.         '(0 . "WIPEOUT")
  31.         '(100 . "AcDbEntity")
  32.         '(100 . "AcDbWipeout")
  33.         (cons 10 ll)
  34.         (list 11 w 0.0)
  35.         (list 12  0.0 h)
  36.         '(280 . 1)
  37.         '(71 . 2)
  38.         )
  39.       lst
  40.       )
  41.     )
  42.   )

 楼主| 发表于 2013-4-10 10:53:45 | 显示全部楼层
本帖最后由 llsheng_73 于 2013-4-10 11:05 编辑

难道是要用ENTMAKEX问题是改了之后它还是不出来
感谢Gu_xl 版主, 继续学习去,实在弄不出来的话我就先调用一下WIPEOUT命令了
 楼主| 发表于 2013-4-10 12:00:07 | 显示全部楼层
真心感谢Gu_xl版主
发表于 2013-4-24 17:18:52 | 显示全部楼层
acwipeout.arx 这是谁编写的软件?

点评

可能是自动桌子公司  发表于 2013-5-18 13:12
发表于 2013-6-19 08:16:04 | 显示全部楼层
acwipeout.arx在2013下不能用!
发表于 2013-6-19 18:03:04 | 显示全部楼层
发表于 2013-6-19 19:46:04 | 显示全部楼层
q3_2006 发表于 2013-6-19 08:16
acwipeout.arx在2013下不能用!

加载 acismui.arx即可!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 10:36 , Processed in 0.189937 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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