明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1557|回复: 2

如何得到面域之间布尔运算差值之后的新面域呢?

[复制链接]
发表于 2015-8-8 05:14:29 | 显示全部楼层 |阅读模式
本帖最后由 楚留香 于 2015-8-8 05:23 编辑

1、以前都是通过entlast得到最后的图元名字;
2、可是通过布尔运算差值得的新图元确不能通过这个函数获得;
3、我用选择的办法查询的新图元的名字,确实是新的,可是不通过选择直接得到最后生成的图元名字呢?
4、如果不能判断新的图元产生,怎样能知道布尔运算成功了呢?恳请高手解答一下,谢谢!
发表于 2015-8-8 09:50:40 | 显示全部楼层
  1. (defun c:uni (/ osmode_bak ss e getss);UNI后转换为PLINE        
  2.   (defun getss (e / ss)
  3.     (setq ss (ssadd))
  4.     (while (setq e (entnext e))
  5.       (setq ss (ssadd e ss))
  6.     );while
  7.     ss
  8.   )
  9.   (setvar "CMDECHO" 0)
  10.   (Setq osmode_bak (getvar "osmode"))
  11.   (Setvar "osmode" 0)
  12.   (setq ss (ssget))
  13.   (setq e (entlast))
  14.   (command ".region" ss "")
  15.   (command ".union" (getss e) "")
  16.   (setq e (entlast))
  17.   (command ".Explode" (entlast))
  18.   (if (= 0 (getvar "peditaccept"))
  19.            (setvar "peditaccept" 1)
  20.                                   )        ;if
  21.   (command "_.pedit" "m" (getss e) "" "j" "0.005" "")
  22.   (Setvar "osmode" osmode_bak)
  23.   (setvar "CMDECHO" 1)
  24.   (princ)
  25. )
 楼主| 发表于 2015-8-8 23:13:02 | 显示全部楼层
基本搞清楚了:
1、CAD面域布尔差集计算时,差集后形成的图元名与面积大的图元名一致,不是新增加图元名;
2、CAD面域布尔并集计算时,并集后形成的图元名与面积大的图元名一致,不是新增加图元名;
3、所以entlast是得不到准确的名字的;
4、感兴趣的可以用(entsel)函数测试下验证;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 17:35 , Processed in 0.202928 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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