|
发表于 2007-2-27 16:14:50
|
显示全部楼层
来自: 中国吉林吉林市
你可以参考一下帮助文件,没有"e"这个参数,只有":e", 一般对象选择拾取框都设置的很小,用这个参数和单选的效果差不多,从程序的作用来看,是统计0层中有多段线属性的图元的数量,去掉 "e"就行了。# r9 e2 X; [' Z3 ~& S1 n) D6 Z: g7 W
' n9 o, U- ~$ ~+ L
这是按楼主的思路调整好的程序:
4 h8 U! z" d2 h3 V \(defun c:tj (/ b,c,page)7 R( E- |/ k. ^* p s) J
(graphscr); d1 \6 o9 ^. n3 @+ d
(princ "请选择要统计的图纸")- _' \. _3 c/ b$ i( Y1 w' c
(setq b (ssget ":E" '((0 . "lwpolyline") (8 . "0"))))2 k- N3 `0 _7 n! A
(setq page (sslength b))
* c$ l2 w+ v9 ?. S0 b. l1 Z$ ]1 W (setq c (rtos page 2 3)); b' P* ~# l8 P7 n
(prin1 c)
' k7 @, g4 p% A. D (princ)
7 _& g }9 q1 b& v9 ]8 |! p0 l)
9 q* q8 ? \6 S8 y, W
b0 Y4 C: [" U- O4 C+ p摘录了一段帮助文件供参考
2 `+ L9 | i( w9 N; R 5 N5 ]' S9 j- J2 W+ W0 H7 F& f
(ssget [sel-method] [pt1 [pt2]] [pt-list] [filter-list])
, |) t) U9 s8 i% f: S选择集中可以包含图纸空间和模型空间两个空间中的对象,但该选择集用于某操作时,那些在当前无效的空间中的对象会被 ssget 过滤掉。由 ssget 函数返回的选择集中仅包含主图元(不包含属性和多段线顶点)。/ H% D- r( i! x
参数
9 Y3 Z x) w8 n2 z* asel-method
5 E0 `' I) u: `' ]( q$ Y( M$ F字符串,指定对象选择方法。有效选择方法包括:6 I! b% J% O! o l
C 窗交。, U5 ]' f; h0 `5 y% h) g) ^& g9 \3 F& q
CP 圈交(指定多段线内和与该多段线相交的所有对象)。0 z( S" e2 d7 [. G, i
F 栏选。
7 u- J$ c/ z3 D j. f% |. w5 GI 隐含窗口选择(在执行 PICKFIRST 期间选择的对象)。; d' n& j9 g: @! X
L 添加到数据库的最后一个可见对象。, u1 J$ q8 j5 \9 q; t
P 最后一个创建的选择集。
1 a; L H* O& JW 窗口选择。
$ e) V$ A% f% ~3 W. B9 kWP 圈围(指定多边形内的所有对象)。
/ g/ g% ]" z c- \; U. [X 整个数据库。如果指定了 X 选择方法,而又没有提供 filter-list 参数,则 ssget 选择数据库中的所有图元,包括关闭、冻结图层中的图元和可见屏幕外的图元。9 v" E3 A( }4 h% L* g, s6 Q
:E 光标的对象选择拾取框中的所有对象。
3 m4 P- Q. A" w, R:N 在执行 ssget 操作的过程中,为选定图元调用 ssnamex 获得容器块和转换矩阵的附加信息。只有通过窗口、窗交点拾取等图形选择方法选定的图元,这一附加信息才可以使用。
) m1 Y, c* e" b, b与其他对象选择方法不同,:N 可能会返回选择集中的多个同名图元。例如,如果用户选择了一个复杂图元(如 BlockReference、PolygonMesh 或老式多段线)的子图元,那么 ssget 将查看该子图元是否已被选中。不过,ssget 实际上会将主图元(如 BlockReference 和 PolygonMesh)添加到选择集中。这样就会在选择集中出现多个同名图元,而 ssnamex 获得的每个图元的子图元信息各不相同。 z8 M" @8 b7 Q1 a
:S 仅允许单一选择集。 |
评分
-
查看全部评分
|