[求助]希望高手对FIND命令做个扩展?
<p>希望高手对FIND命令做个扩展</p><p>在使用FIND命令的时候,需要人为用鼠标去确定一个选择范围.</p><p>但是在画梁配筋图的时候,为了查梁编号是否重复</p><p>使用FIND后,每次要在大图上大大的框选择一下</p><p>图纸很大的时候,就很费劲和费时间。</p><p>能否使FIND达到这样一个功能,使得:</p><p>1.不用选择,自动默认选择范围为全图的内容?</p><p>2.图形自动缩放到符合选择要求的文字项上,按回车即刻切换到下一个符合选择要求的文字</p> <p>1.不用选择,自动默认选择范围为全图的内容?</p><p>find命令本来就可以选择全图啊.不用选择.</p> <p>find命令选择全图,不用选择的情况下,过滤选择到的文字只在find命令对话框中有提示.在图形中确定不了位置啊</p> <p>;find扩展 by weltion chen<br/>;全选输入all<br/>;*匹配模糊查找<br/>;查找字符a,输入a<br/>;查找字符a开头的字符串,输入a*<br/>;查找字符a结尾的字符串,输入*a<br/>;查找带字符a的字符串,输入*a*<br/>(defun c:finde( / ACADAPP ACADDOC FINDSTR LEFTDOWNPOINT NEWSTR RIGHTUPPOINT SELECTIONSET)</p><p> ;加载Vlisp函数<br/> (vl-load-com)</p><p> (setq</p><p> ;AutoCAD<br/> acadapp (vlax-get-acad-object)</p><p> ;当前文档<br/> acaddoc (vla-get-activedocument acadapp)</p><p> )<br/> <br/> (if (and<br/> ;搜索内容,匹配"*"<br/> (setq findstr (getstring "\n输入查找字符串,输入*匹配搜索: "))<br/> ;处理范围<br/> (ssget (list '(0 . "TEXT") (cons 1 findstr)))<br/> <br/> )<br/> (progn<br/> <br/> ;当前选集<br/> (setq selectionset (vla-get-activeselectionset acaddoc))</p><p> ;遍历选集<br/> (vlax-for obj selectionset</p><p> ;获取外框<br/> (vla-getboundingbox obj 'leftdownpoint 'rightuppoint)</p><p> ;锁定目标<br/> (vla-zoomwindow acadapp leftdownpoint rightuppoint)</p><p> ;扩大视图范围<br/> (vla-zoomscaled acadapp 0.5 acZoomScaledRelative)</p><p> </p><p> ;修改内容<br/> (setq newstr (getstring 0 "\n输入修改内容或<回车查找下一个>: "))</p><p> (if newstr</p><p> ;替换文字内容<br/> (vla-put-textstring obj newstr)</p><p> )<br/> )<br/> )<br/> )<br/> <br/> ;静默退出<br/> (princ)<br/> )</p> <p>谢谢!</p><p>我回去试试</p> <p>其实我初始想法是这样的!</p><p>在梁编号的时候,用最简单的方法,查出是否有重复的编号</p><p>不用选择,直接得到答案</p><p>呵呵</p> 点缩放为就可以 <p>你的梁编号有没有特殊的写法</p><p>我工作中,所有杆件的编号都是<*></p><p>所以做了个程序,可以做到</p><p>如果你的编号有什么特定的特征,就联系我吧</p> phoenixdjq发表于2008-7-10 22:04:00static/image/common/back.gif你的梁编号有没有特殊的写法我工作中,所有杆件的编号都是<*>所以做了个程序,可以做到如果你的编号有什么特定的特征,就联系我吧<p>没有什么特殊的地方<br/>为什么要在编号里面加*呢?</p><p>你说的是标注梁的跨数吧?<br/>我也是这样</p><p></p> 本帖最后由 作者 于 2008-7-13 21:01:57 编辑 <br /><br /> <p><strong><font face="Verdana" color="#61b713">sailorcwx兄,你的程序很好,但是如果一直回车按下去,当回车的次数大与查找到的文字的个数,会把查找的内容替换成“ ”了。<br/>能不能改进一下?<br/>谢谢</font></strong></p><p></p><p></p><p>另外还有2个问题<br/>1.如何去掉选择时候“ALL”的输入选项,简化操作?</p><p>2.如何直接“点取”要查找的文字,而不需要再在命令行中输入?</p>
页:
[1]
2