|
|
发表于 2007-2-27 16:14:50
|
显示全部楼层
来自: 中国吉林吉林市
你可以参考一下帮助文件,没有"e"这个参数,只有":e", 一般对象选择拾取框都设置的很小,用这个参数和单选的效果差不多,从程序的作用来看,是统计0层中有多段线属性的图元的数量,去掉 "e"就行了。% p; `; k h C! F2 |& ?
5 y" e5 `& Z+ g2 d这是按楼主的思路调整好的程序:
! A- w6 v6 C ?* l6 u7 {. S) T(defun c:tj (/ b,c,page)& D9 c! \5 h- e# `* r
(graphscr). ?7 }# `' b" c' \) B, O* q; w. M
(princ "请选择要统计的图纸")
! O0 Q3 y- }* x% @1 T, O3 l/ \' } (setq b (ssget ":E" '((0 . "lwpolyline") (8 . "0"))))
3 v6 n2 ~3 Y& Y) l C3 Q (setq page (sslength b))' a- z8 n+ E6 q) r5 }4 i5 W
(setq c (rtos page 2 3)). U( g$ n0 T C; F
(prin1 c)
3 I$ Z+ v& E3 p% W4 C' V; |0 h (princ)% M) O$ H4 Z k2 H$ C! C
)
% |$ N* ^9 V* `" `) _" g% |. P! O# _4 }; F V7 O' Y7 t% r
摘录了一段帮助文件供参考
' g5 f. d7 X% p
2 A( X, v( q6 Z M! }* |+ ]/ E(ssget [sel-method] [pt1 [pt2]] [pt-list] [filter-list])
+ U7 ^ ^; {6 y5 t9 L选择集中可以包含图纸空间和模型空间两个空间中的对象,但该选择集用于某操作时,那些在当前无效的空间中的对象会被 ssget 过滤掉。由 ssget 函数返回的选择集中仅包含主图元(不包含属性和多段线顶点)。
, G4 h5 W! P4 s) T1 K参数
1 N( ?/ U: x* ?5 msel-method
- M; a$ ]( k0 Y4 Y字符串,指定对象选择方法。有效选择方法包括:
8 a3 s" X% U8 m" ^' HC 窗交。
0 K' J( J9 y% b) f$ y( hCP 圈交(指定多段线内和与该多段线相交的所有对象)。/ t2 E- n' i0 t P) _+ T
F 栏选。
, \) R$ ~: o$ j( K3 f9 Z) ~I 隐含窗口选择(在执行 PICKFIRST 期间选择的对象)。% p8 y* z, X. X8 s! h
L 添加到数据库的最后一个可见对象。; n7 z- w4 M, l3 z; J
P 最后一个创建的选择集。
5 M- B& K+ i% v5 m* m/ D: YW 窗口选择。
2 a$ R! \7 L( B0 j" j/ VWP 圈围(指定多边形内的所有对象)。8 G+ c/ p% w6 s/ _) f3 R
X 整个数据库。如果指定了 X 选择方法,而又没有提供 filter-list 参数,则 ssget 选择数据库中的所有图元,包括关闭、冻结图层中的图元和可见屏幕外的图元。/ Q) r. W% }3 t5 p
:E 光标的对象选择拾取框中的所有对象。
5 i5 B, A4 K) P8 q7 I5 I& M3 t:N 在执行 ssget 操作的过程中,为选定图元调用 ssnamex 获得容器块和转换矩阵的附加信息。只有通过窗口、窗交点拾取等图形选择方法选定的图元,这一附加信息才可以使用。4 s- d6 t; i$ J5 {9 j$ M
与其他对象选择方法不同,:N 可能会返回选择集中的多个同名图元。例如,如果用户选择了一个复杂图元(如 BlockReference、PolygonMesh 或老式多段线)的子图元,那么 ssget 将查看该子图元是否已被选中。不过,ssget 实际上会将主图元(如 BlockReference 和 PolygonMesh)添加到选择集中。这样就会在选择集中出现多个同名图元,而 ssnamex 获得的每个图元的子图元信息各不相同。
- k, \! h1 t* {" b. |2 u. n: C:S 仅允许单一选择集。 |
评分
-
查看全部评分
|