logoin 发表于 2011-10-12 19:56:00

终极解决方案在这里
http://wenku.baidu.com/view/258c771d59eef8c75fbfb3f4.html

hhh454 发表于 2011-10-12 21:15:00

这次没有问题了,简单的command,感谢 GU_XL的帮助,
解释一下的我的代码思路,我是用点选的方法,记录2个点,然后执行命令的 ” f “ 栏选择,
下面是全部的代码:
(defun c:tt (/ ngc_pa ngc_pb ss)
(setvar "CMDECHO" 0);_关闭命令提示
(Setq osmode_bak (getvar "osmode"));_记录捕捉
(Setvar "osmode" 0);_关闭捕捉
(setq ngc_pa(getpoint "指定一点:")
      ngc_pb(getpoint "指定另一点")
      )      
(command ".region" "f" ngc_pa ngc_pb "" "")
(command ".union" "f" ngc_pa ngc_pb "" "")
(setq ss (ssget "p"))
(command ".Explode" ss)
(setq ss (ssget "p"))
(command "pedit" "m"ss "" "y" "j" "" "")
(Setvar "osmode" osmode_bak);_还原捕捉
(setvar "CMDECHO" 1);_打开命令提示
(princ)
),谁还有简单的方法也可以贴出来。

hhh454 发表于 2011-10-12 21:16:00


解释一下的我的代码思路,我是用点选的方法,记录2个点,然后执行命令的 ” f “ 栏选择,
页: 1 [2]
查看完整版本: 用lisp布尔多义线,合并的功能,我想了个路子,请高手指点