zgyxn 发表于 2007-7-19 10:44:00

点选择模式的填充lisp代码

<p>bhatch提供两种选择模式的填充,一个是选择多一线,一个是选择区域内的点,</p><p>请哪个告诉我一下点选择模式的&nbsp;lisp代码</p>

caoyin 发表于 2007-7-19 12:21:00

<p>AutoCAD 2006 可以用</p><p>&nbsp;(command "_.-hatch" point .........)</p><p>AutoCAD 2004可能不行!</p><p>只能通过点选封闭区域生成边界,然后再对边界填充...</p>

zgyxn 发表于 2007-7-19 14:10:00

<p></p><p>我搞来搞去,可以用下面和程序实现</p><p>(defun c:zzz()<br/> &nbsp;&nbsp; (vl-cmdf ".bhatch" (getpoint"点位置?")'(0 0)"")<br/>&nbsp;&nbsp; (princ)<br/>)</p><p>还有个问题,我想点多个点的话,怎么重复?有两种方法,一个是先选很多点再去一个个填充,这个比较麻烦,另一个是,选一个点,马上给我填充这个封闭区域,我想用这种方法,我现在的问题是怎么可以让他点左键就重复选点,点右键就退出来呢,有没有谁告诉我</p>

无痕 发表于 2007-7-19 14:44:00

还不如直接用命令呢

zgyxn 发表于 2007-7-19 15:07:00

直接用命令主要是有个问题,一次点很多个点,那么填充的图块即使不是一起,都是一个整体,不方便单独编缉。我想要他们各个独立,方便修改

zgyxn 发表于 2007-7-19 15:38:00

<p>搞定了,分享一下</p><p>(defun c:bhb()<br/>&nbsp; (setq d "T")<br/>&nbsp; (while (= d "T")<br/>&nbsp; (setq p (getpoint "请选择坐标注记处(右键或ESC键退出):\r"))<br/>&nbsp; (vl-cmdf ".bhatch" p "")<br/>&nbsp;&nbsp;&nbsp; (if (= nil p)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq d "F")<br/>&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp; (princ)<br/>)<br/>)</p>

zgyxn 发表于 2007-7-19 15:44:00

<p>有bug哦,如果当前填充样式不是solid,有时候比例太大,会不能填充,只有用bhatch命令去改小一点比例,才能执行,谁又能帮我消掉这个bug呀</p>

jaminth 发表于 2007-7-22 08:47:00

<p>回答第7楼,楼主,你需要做多两步工作.</p><p>第一,检察ltscale 是否与图形比例相符.比如,图形比例是1:100,那么建议ltscale 设置为1000.(ltscale=图形比例 x 10)</p><p>第二,关键是measrement 变量,这与你的图形初始设置有关,如果图形一开始就是英制,那么measrement 就设为1;如果是公制,measrement就设为0</p><p>试试吧^_^</p>

MaKaiJin 发表于 2011-11-1 14:51:27

caoyin 发表于 2007-7-19 12:21 static/image/common/back.gif
AutoCAD 2006 可以用&nbsp;(command "_.-hatch" point .........)AutoCAD 2004可能不行!只能通过点选封闭区 ...

可不可以不用默认的填充图案啊?
也就是说输入图案点击填充

caoyin 发表于 2011-11-2 00:45:56

修改系统变量hpName
页: [1]
查看完整版本: 点选择模式的填充lisp代码