[求助]有关选择集过滤标注对象(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/> (SETQ osnap (Getvar "osmode"))<br/>(setvar "osmode" 0)<br/>(command "ucs" "w")<br/>(PRINC "\n局部放大图:")<br/> (SETQ pt (getpoint "\n请指定圆心点: "))<br/> (command "circle" pt pause)<br/>(command "chprop" (entlast) "" "lt" "DASHED" "s" "1" "c" "252" "")<br/>(SETQ E (entlast)<br/> PC (cdr (assoc 10 (entget E)))<br/> P (getpoint "\n->请指定视图放置点:")<br/> r (cdr (assoc 40 (entget e)))<br/> )<br/>(command "copy" "cp")<br/>(setq n 0)<br/>(repeat 180<br/> (command (polar pc (/(* 2 n pi)180) r))<br/> (setq n (+ n 1))<br/> )<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/> (setq n (+ n 1))<br/> (command (polar p(/(* 2 n pi) 180)(* r 1.01))"" )<br/> )<br/>(command "")<br/>(command "scale" "c" (list (-(car p) r)(- (cadr p)r))<br/> (list (+ (car p) r) (+ (cadr p)r)) "" p 2)<br/>(command "erase" ep "")<br/>;;;;;;;;;;;;;;;<br/><font style="BACKGROUND-COLOR: #ff0000"> (setq ss (ssget "c" '((0 . "dimension"))));此处如何过滤出标注对象<br/></font> (if ss<br/> (progn<br/> (setq oldds (getvar "dimstyle"))<br/> (command "_dimstyle" "restore" "" (ssname ss 0))<br/> (setq oldfac (getvar "dimlfac"))<br/> (SETVAR "DIMLFAC" (/ oldfac 2))<br/> (COMMAND "DIMSTYLE" "_APPLY" ss "")<br/> (command "-dimstyle" "r" oldds)))<br/> (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> <p>(command "erase" ep "")<br/>;;;;;;;;;;;;;;;<br/><font style="BACKGROUND-COLOR: #ffffff"> </font><font style="BACKGROUND-COLOR: #ffffff"> (setq ss (ssget "c" '((0 . "dimension"))));此处如何过滤出标注对象</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff">上面两行顺序掉换一下:</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff"> (setq ss (ssget "P" '((0 . "DIMENSION"))))</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff"> (command "ERASE" ep "")</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff">……<br/></p></font> 经调试已OK,谢谢ZZXXQQ版主 回复 AMTONNY 的帖子
楼主能把调试好的程序拿来看看吗 回楼上,我在前面的局部放大贴子是里不是有贴出来了吗?
页:
[1]