AMTONNY 发表于 2010-7-7 20:31:00

[求助]有关选择集过滤标注对象(ssget)已解决

本帖最后由 作者 于 2010-7-7 23:36:39 编辑 <br /><br /> <font face="Verdana">
<p><font style="BACKGROUND-COLOR: #008000" face="Verdana"><font style="BACKGROUND-COLOR: #ff9900">以下为局部放大图程序</font>,求助高手优化此程序的红色部分</font></p>
<p><font face="Verdana">(DEFUN C:SC2( / E P PC K R N EP)<br/>(setvar "CMDECHO" 0)<br/>&nbsp;&nbsp; (SETQ osnap (Getvar "osmode"))<br/>(setvar "osmode" 0)<br/>(command "ucs" "w")<br/>(PRINC "\n局部放大图:")<br/>&nbsp; (SETQ pt (getpoint "\n请指定圆心点: "))<br/>&nbsp; (command "circle" pt pause)<br/>(command "chprop" (entlast) "" "lt" "DASHED" "s" "1" "c" "252" "")<br/>(SETQ E (entlast)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PC (cdr (assoc 10 (entget E)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P (getpoint "\n-&gt;请指定视图放置点:")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r (cdr (assoc 40 (entget e)))<br/>&nbsp; )<br/>(command "copy" "cp")<br/>(setq n 0)<br/>(repeat 180<br/>&nbsp; (command (polar pc (/(* 2 n pi)180) r))<br/>&nbsp; (setq n (+ n 1))<br/>&nbsp;)<br/>(command "" "" pc p)<br/>(setq n 0)<br/>(setvar "pickbox" 5)<br/>(command "circle" p r)<br/>(setq ep (entlast))<br/>(command "trim" ep "")<br/>(repeat 180 <br/>;;; (command (polar p (/(* 2 n pi)180 )(* r 1.1)))<br/>(command "f" (polar p (/ (* 2 n pi)180)(* r 1.01)))<br/>&nbsp;&nbsp; (setq n (+ n 1))<br/>&nbsp;&nbsp; (command (polar p(/(* 2 n pi) 180)(* r 1.01))"" )<br/>&nbsp;)<br/>(command "")<br/>(command "scale" "c" (list (-(car p) r)(- (cadr p)r))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (list (+ (car p) r) (+ (cadr p)r)) "" p 2)<br/>(command "erase" ep "")<br/>;;;;;;;;;;;;;;;<br/><font style="BACKGROUND-COLOR: #ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq ss (ssget "c" '((0 . "dimension"))));此处如何过滤出标注对象<br/></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if ss<br/>&nbsp;(progn<br/>&nbsp;&nbsp; (setq oldds (getvar "dimstyle"))<br/>&nbsp;&nbsp; (command "_dimstyle" "restore" "" (ssname ss 0))<br/>&nbsp;&nbsp; (setq oldfac (getvar "dimlfac"))<br/>&nbsp;&nbsp; (SETVAR "DIMLFAC" (/ oldfac 2))<br/>&nbsp;&nbsp; (COMMAND "DIMSTYLE" "_APPLY" ss "")<br/>&nbsp;&nbsp; (command "-dimstyle" "r" oldds)))<br/>&nbsp;(command "-insert" "SC2" P "" 1 0)<br/>;;;;;;;;;;;;;;;</font></p>
<p><font face="Verdana">(setvar "osmode" osnap)<br/>(command "UCS" "P")<br/>(command "UNDO" "e")<br/>(setvar "CMDECHO" 1)<br/>(princ)<br/>)</font></p></font>

ZZXXQQ 发表于 2010-7-7 21:26:00

<p>(command "erase" ep "")<br/>;;;;;;;;;;;;;;;<br/><font style="BACKGROUND-COLOR: #ffffff">&nbsp;</font><font style="BACKGROUND-COLOR: #ffffff">&nbsp;&nbsp;&nbsp;&nbsp; (setq ss (ssget "c" '((0 . "dimension"))));此处如何过滤出标注对象</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff">上面两行顺序掉换一下:</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff">&nbsp;&nbsp;&nbsp;&nbsp; (setq ss (ssget "P" '((0 . "DIMENSION"))))</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff">&nbsp;&nbsp;&nbsp;&nbsp; (command "ERASE" ep "")</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff">……<br/></p></font>

AMTONNY 发表于 2010-7-7 21:31:00

经调试已OK,谢谢ZZXXQQ版主

yxl88168 发表于 2011-4-30 16:52:29

回复 AMTONNY 的帖子

楼主能把调试好的程序拿来看看吗

AMTONNY 发表于 2011-4-30 17:10:13

回楼上,我在前面的局部放大贴子是里不是有贴出来了吗?
页: [1]
查看完整版本: [求助]有关选择集过滤标注对象(ssget)已解决