|
|
发表于 2007-2-27 16:14:50
|
显示全部楼层
来自: 中国吉林吉林市
你可以参考一下帮助文件,没有"e"这个参数,只有":e", 一般对象选择拾取框都设置的很小,用这个参数和单选的效果差不多,从程序的作用来看,是统计0层中有多段线属性的图元的数量,去掉 "e"就行了。
6 ?, w: t3 {; ]7 m 5 H$ h3 p+ Q: {! E+ v0 k
这是按楼主的思路调整好的程序:7 }9 S5 ]3 O T6 Z* O
(defun c:tj (/ b,c,page)
9 R8 d4 R7 j* w( T4 p; T& l (graphscr)
# q( y5 s/ D; x& l (princ "请选择要统计的图纸")7 x# k; {5 b8 o5 ]
(setq b (ssget ":E" '((0 . "lwpolyline") (8 . "0"))))( b" p. C8 e5 B" g" G% V% @ i
(setq page (sslength b))
. P! f9 T" J, l1 U+ N (setq c (rtos page 2 3))
0 l( n& A* A2 o/ q (prin1 c)
j; X8 N! q* n3 u3 g (princ)3 {1 F+ j0 u& R3 |: Y8 b& i
)
. d( C# d4 E5 j4 N$ O. j: Z
! R6 P. }0 B1 _+ ~" |# d& Z1 T# J摘录了一段帮助文件供参考7 ^% d+ g+ q. I
3 \: F2 G7 \% T) j8 e
(ssget [sel-method] [pt1 [pt2]] [pt-list] [filter-list])
$ i/ _" l$ Y" }% n5 v$ x. t+ h f选择集中可以包含图纸空间和模型空间两个空间中的对象,但该选择集用于某操作时,那些在当前无效的空间中的对象会被 ssget 过滤掉。由 ssget 函数返回的选择集中仅包含主图元(不包含属性和多段线顶点)。! P7 l. ^+ x' x) g* ^, Y
参数* \# P! a2 F+ _5 O7 T/ L
sel-method $ \7 O9 p$ s6 s
字符串,指定对象选择方法。有效选择方法包括:
# ^+ Q. |$ g' r4 aC 窗交。) p: \/ w2 W; ~& a% B+ l
CP 圈交(指定多段线内和与该多段线相交的所有对象)。" j9 K- S' n) P, m
F 栏选。6 y- {4 A6 C. ?. g
I 隐含窗口选择(在执行 PICKFIRST 期间选择的对象)。2 d( V3 [7 S4 ?& O- b
L 添加到数据库的最后一个可见对象。
5 I H* z! O5 ^5 Z! B4 oP 最后一个创建的选择集。5 F+ \& C& r8 b5 E+ g* q, A0 P
W 窗口选择。
9 V, `. }8 B6 L* HWP 圈围(指定多边形内的所有对象)。
# t9 D& E+ L: ?3 `4 ]4 B8 {X 整个数据库。如果指定了 X 选择方法,而又没有提供 filter-list 参数,则 ssget 选择数据库中的所有图元,包括关闭、冻结图层中的图元和可见屏幕外的图元。) A$ X. ~& _) |) ?; R% m
:E 光标的对象选择拾取框中的所有对象。- J1 e6 S+ \# G( T
:N 在执行 ssget 操作的过程中,为选定图元调用 ssnamex 获得容器块和转换矩阵的附加信息。只有通过窗口、窗交点拾取等图形选择方法选定的图元,这一附加信息才可以使用。
5 k$ U' B8 a2 z与其他对象选择方法不同,:N 可能会返回选择集中的多个同名图元。例如,如果用户选择了一个复杂图元(如 BlockReference、PolygonMesh 或老式多段线)的子图元,那么 ssget 将查看该子图元是否已被选中。不过,ssget 实际上会将主图元(如 BlockReference 和 PolygonMesh)添加到选择集中。这样就会在选择集中出现多个同名图元,而 ssnamex 获得的每个图元的子图元信息各不相同。
1 g! F6 w, n9 J2 ]4 `" Z/ A:S 仅允许单一选择集。 |
评分
-
查看全部评分
|