qiiqii 发表于 2010-11-2 15:59:00

[求助]如何在指定的区域半径内搜索文本图元

<p><font face="Verdana">[求助]如何在指定的区域半径内搜索文本图元</font></p>
<p>如图:</p>
<p>点边缘的文字代表改点处的高程,及Z坐标</p>
<p>图中有好多这样的点(块、形、圆等代表的点)和文字,我的思路是创建一个新层,在该层上统一创建统一格式的代z坐标的点。</p>
<p>&nbsp;</p>
<p>第一步</p>
<p>可以用选择集选择这些点,查出他的插入点坐标</p>
<p>第二步</p>
<p>在这些点周围(半径为R区域内)查找文字,如果为数字,就赋值给新层下新创建的点</p>
<p>。。。</p>
<p>。。。</p>
<p>&nbsp;</p>
<p>第二步,不知道如何实现?</p>
<p>如果遍历,速度太慢!</p>
<p>&nbsp;</p>
<p>盼大大们能指点一二,感激不尽~</p>

20060510412 发表于 2022-6-18 14:11:30

Gu_xl 发表于 2010-11-4 16:46
;;;ssget&nbsp; "c" 只能再屏幕显示下才能选择,你可以按下列方式选择试试!pt 点 r 半径
(defun tt (pt r ...

这个方法好,多谢Gu版

qiiqii 发表于 2010-11-3 09:47:00

无人理睬,只得厚颜顶起~

gzxl 发表于 2010-11-3 22:02:00

<p>给个参考下:</p>
<p><font face="Verdana">&nbsp;(defun getCircle_name (ob / i pt_center radius ss_name)<br/>&nbsp;(setq Radius (Vlax-Get ob 'Radius ))<br/>&nbsp;(setq Pt_center (Vlax-Get ob 'Center ))<br/>&nbsp;(setq i 1)<br/>&nbsp;(while (and (&lt; i 10) (not ss_name))<br/>&nbsp;&nbsp;(setq ss_name (ssget&nbsp; "c" (polar Pt_center (* pi 0.25) (* Radius i)) (polar Pt_center (* pi 1.25) (* Radius i)) '((0 . "*TEXT"))))<br/>&nbsp;&nbsp;(setq i (1+ i))<br/>&nbsp;)<br/>&nbsp;(if ss_name (ssname ss_name 0))<br/>&nbsp;)</font></p>

qiiqii 发表于 2010-11-4 13:51:00

<p>努力学习中~</p>
<p>&nbsp;</p>
<p>感谢楼上~~</p>

gchcad 发表于 2010-11-4 16:09:00

不错

Gu_xl 发表于 2010-11-4 16:46:00

<p><font face="Verdana">;;;ssget&nbsp; "c" 只能再屏幕显示下才能选择,你可以按下列方式选择试试!pt 点 r 半径</font></p>
<p><font face="Verdana">(defun tt (pt r)<br/>&nbsp; (setq x(car pt)<br/>&nbsp;minX (- x r)<br/>&nbsp;maxX (+ x r)<br/>&nbsp;y (cadr pt)<br/>&nbsp;minY (- y r)<br/>&nbsp;maxY (+ Y r)<br/>&nbsp;)<br/>&nbsp; (setq ss (ssget "X" (list '(-4 . "&lt;and") '(-4 . "&gt;=,&gt;=,*")(list 10 minX minY 0)'(-4 . "&lt;=,&lt;=,*")(list 10 maxX maxY 0)'(0 . "TEXT")'(-4 . "and&gt;"))) )<br/>&nbsp; )<br/></p></font>

2005lyf 发表于 2010-11-4 21:50:00

学习了。。。。

yoyoho 发表于 2010-11-4 22:11:00

感谢分享程序,收藏了!

qiiqii 发表于 2010-11-10 01:36:00

<p>6楼的简单易懂</p>
<p>灰常实用</p>
<p>方形选择,也够用了!</p>
<p>&nbsp;</p>
<p>三楼回复的VLAX函数非常的不熟悉,还待以后慢慢提高自己,现在只能收藏了先,谢过二位了!</p>

qiiqii 发表于 2010-11-10 11:38:00

<p>最新心得报告:</p>
<p>&nbsp;</p>
<p>关键是ssget函数的熟练掌握~</p>
<p>&nbsp;</p>
<p>三楼的设计更为巧妙,逐步扩大搜索半径,直至搜索到目标文本停止搜索,</p>
<p>关于“c”的选取方式,</p>
<p>可以加入这么一句</p>
<p>(command "zoom" "c" Pt_center&nbsp; "")就OK了</p>
<p>&nbsp;</p>
<p></p>
页: [1] 2
查看完整版本: [求助]如何在指定的区域半径内搜索文本图元