明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1502|回复: 4

[基础] 紧急求助:如何完善以下两个填充lisp并合并成一个lisp!!!!

[复制链接]
发表于 2013-4-29 00:54 | 显示全部楼层 |阅读模式
以下是关于两个填充的lisp,第一个lisp是实现了点选填充,但是有一个缺点是每次只能选中一个区域,不能连续多选几个区域进行填充。譬如我有5个矩形需要填充,就必须每次输入h1,一次只能填充一个矩形,无法连续填充。

第二个lisp是实现选择边界进行填充
我的问题是如何将两个lisp合并成一个命令,根据你点选或者选择边界程序自动完成填充,且点选填充时能对多个同时区域进行填充。这样就基本上实现了用lisp对封闭图形的填充问题。

由于本人对lisp所学有限,希望高手指教,感激不尽!!
(defun c:h1 ()
(command "color" "8")
(prompt "\n二次浇灌,请指定内部点:\n")
(setq pt (getpoint))
(command "bhatch" "p" "二次浇灌" "20" "0" pt "")
(princ)
)


(defun c:h2 ()
(command "color" "8")
(prompt "\n二次浇灌,请指定内部点:\n")
(setq pt (ssget))
(command "bhatch" "p" "二次浇灌" "20" "0" "s"pt """")
(princ)
)

发表于 2013-4-29 08:59 | 显示全部楼层
  1. (defun c:h1 ()
  2. (command "color" "8")
  3. (prompt "\n二次浇灌,请指定内部点:\n")
  4. (command "bhatch" "p" "二次浇灌" "20" "0")
  5. (while (> (getvar "CMDACTIVE") 0) (command PAUSE))
  6. (princ)
  7. )
发表于 2013-4-29 11:56 | 显示全部楼层
路过。只有等高手解决了
发表于 2013-4-29 14:24 | 显示全部楼层
路过,学习学习!
 楼主| 发表于 2013-5-3 23:45 | 显示全部楼层
非常感谢ZZXXQQ
我试了一下确实可以

我还有一个问题就是如何实现既可以点选又可以选择边界即两种方式合二为一。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 14:05 , Processed in 1.430390 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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