|
|
发表于 2007-2-27 16:14:50
|
显示全部楼层
来自: 中国吉林吉林市
你可以参考一下帮助文件,没有"e"这个参数,只有":e", 一般对象选择拾取框都设置的很小,用这个参数和单选的效果差不多,从程序的作用来看,是统计0层中有多段线属性的图元的数量,去掉 "e"就行了。! e$ w" c9 e+ A4 }
0 |- z: f* m' y) x N
这是按楼主的思路调整好的程序:
) R- ~8 l) n8 b1 H(defun c:tj (/ b,c,page)8 u7 x- L% N* q
(graphscr)
* j& C, S+ {* P- J% W (princ "请选择要统计的图纸")! v& @$ q2 ~$ z9 G- K
(setq b (ssget ":E" '((0 . "lwpolyline") (8 . "0"))))
" ]/ s( s+ m$ w( Q \* l (setq page (sslength b))5 g+ t5 o9 @. @* a! g& B
(setq c (rtos page 2 3))
* x7 N4 @& ?$ u% C/ \; o (prin1 c)" g5 l3 Q4 J9 ^1 l
(princ). i* C" [" x5 N& p
)
3 a: ]: ^5 C0 \2 k; r3 f+ L2 }9 K9 p5 b. u: H
摘录了一段帮助文件供参考
: o7 s- E( W2 {( E# ~. ]4 v
6 }- ~8 R& C' I9 ]. ]: N) d" Z(ssget [sel-method] [pt1 [pt2]] [pt-list] [filter-list])
* M q) ^$ C0 M9 Y* H; X1 T! B选择集中可以包含图纸空间和模型空间两个空间中的对象,但该选择集用于某操作时,那些在当前无效的空间中的对象会被 ssget 过滤掉。由 ssget 函数返回的选择集中仅包含主图元(不包含属性和多段线顶点)。
- u& g* W% v. H8 }3 q& t- Q, h0 m, Z参数
) H3 g4 s+ Q% {sel-method # ?8 E0 H, [* ]0 p
字符串,指定对象选择方法。有效选择方法包括:
4 j% I s2 w- U8 q* l, D7 jC 窗交。
* h4 }% u$ b- ^$ @! SCP 圈交(指定多段线内和与该多段线相交的所有对象)。2 p& y1 p y& X1 l; x1 n M
F 栏选。
! [( P* O" K, i5 e6 BI 隐含窗口选择(在执行 PICKFIRST 期间选择的对象)。
5 c, ^% H$ y, yL 添加到数据库的最后一个可见对象。2 H) {# p. h0 n! A0 v
P 最后一个创建的选择集。/ z" K: t7 o# G3 n% G
W 窗口选择。
" _4 V6 T3 D( L) n! ]; J) fWP 圈围(指定多边形内的所有对象)。( p2 U! f% p5 V3 A
X 整个数据库。如果指定了 X 选择方法,而又没有提供 filter-list 参数,则 ssget 选择数据库中的所有图元,包括关闭、冻结图层中的图元和可见屏幕外的图元。
& c2 j. u2 _4 f:E 光标的对象选择拾取框中的所有对象。
2 i8 A9 `2 f! P:N 在执行 ssget 操作的过程中,为选定图元调用 ssnamex 获得容器块和转换矩阵的附加信息。只有通过窗口、窗交点拾取等图形选择方法选定的图元,这一附加信息才可以使用。 E( _9 N/ J+ _$ H" z$ Y4 Y8 g
与其他对象选择方法不同,:N 可能会返回选择集中的多个同名图元。例如,如果用户选择了一个复杂图元(如 BlockReference、PolygonMesh 或老式多段线)的子图元,那么 ssget 将查看该子图元是否已被选中。不过,ssget 实际上会将主图元(如 BlockReference 和 PolygonMesh)添加到选择集中。这样就会在选择集中出现多个同名图元,而 ssnamex 获得的每个图元的子图元信息各不相同。( w. {; L; ~$ z# k2 @9 t! c
:S 仅允许单一选择集。 |
评分
-
查看全部评分
|