QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2677|回复: 5
收起左侧

[已解决] 帮忙看看这程序,加载之后说参数太少

[复制链接]
发表于 2007-2-27 09:58:57 | 显示全部楼层 |阅读模式 来自: 中国辽宁大连

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
帮忙看看这程序。加载之后说参数太少。看了半天没整明白。8 s$ Y8 F6 L9 ]6 A+ q
(defun c:tj (/ b,c,page)* S+ J( c& b! M# o
  (graphscr)1 a8 v+ }6 l$ A9 |& D
  (princ "请选择要统计的图纸")$ n  i) T, L2 s* u, X" n
  (setq b (ssget "e" '((0. "lwpolyline") (8."0"))))0 p6 s) Q0 J$ B+ h
  (setq page (sslength b))
% z" r3 U. E! c: E  (setq c (rtos page 2 3)): @; b1 D2 X+ h" |( o
  (prin1 c)
! X6 ^! l0 j- A1 S/ L  (princ)! W3 J5 P- m$ N* [/ E
)( |/ t+ {" m5 h9 B, _
6 ^5 r4 p2 D4 M+ M, w  x6 |( |
[ 本帖最后由 ★新手★ 于 2007-2-27 12:16 编辑 ]
发表于 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   仅允许单一选择集。

评分

参与人数 1三维币 +8 收起 理由
★新手★ + 8 技术讨论

查看全部评分

 楼主| 发表于 2007-2-28 08:16:50 | 显示全部楼层 来自: 中国辽宁大连
谢谢2楼的细心帮助。+ ]8 l: e5 f4 X! O* z' N5 A
但按上面的改法问题仍然存在。我试了一下发现是这条语句出了问题。5 ^3 Z0 _, H" W- A6 g) z$ a5 ~4 y
(setq b (ssget :E '((0 . "lwpolyline") (8 . "0"))))% X) C& W: \7 e* _) J& _# _
改成这个后就没事了。
* ]. _$ }1 c: i; r( @6 z  |, F  _(setq b (ssget :E ))* {5 d! x/ _- j4 h
但这样就少了筛选的功能。4 b% m/ j8 E- \
苦恼。希望再能帮着看看。谢了
发表于 2007-2-28 08:34:19 | 显示全部楼层 来自: 中国吉林吉林市
仔细看一下,没问题的。! }5 b. d2 [# T# s3 U8 a9 N
  (setq b (ssget ":E" '((0 . "lwpolyline") (8 . "0"))))
3 T! t- Y" t  S  |/ c* J: m
: K, x- h3 e' A$ @4 x你的语句里 :e 没有引号。
发表于 2007-2-28 08:45:58 | 显示全部楼层 来自: 中国台湾
(defun c:tj (/ b c page)
9 O* e: N+ Y+ B2 ?  (graphscr)/ B! {$ g  d: H; j
  (princ "请选择要统计的图纸")
6 _3 _  \- I0 h: s6 [$ i/ g  (setq b (ssget ":E" '((0 . "LWPOLYLINE") (8 . "0"))))
* t7 A9 ]7 r: K. K* _. S" ]) W  (cond
4 H+ i1 l, K, P. ^' U# F  J   ((null b) (princ "\n未选中!? ..."))
4 _% g% Q3 `, H8 A8 J   (T
3 g! d1 R# Y- y" P  K# Y# g    (setq page (sslength b))
6 A) p- v! G6 t( Z: z    ;; (setq c (rtos page 2 3)); Z7 h3 P8 G5 Y- A7 K0 V
    ;; (prin1 c)
  q6 \1 B' r. ]- }8 {$ t# Y8 v6 `    (princ "\n图纸 ==> ")
# y. p9 l+ g& x0 c    (princ page)0 W0 [; U9 \" N
  ))7 d: ?$ V( ~0 b, J
  (princ). |  }& O+ \# i# L6 ]% Q
)
 楼主| 发表于 2007-2-28 08:56:07 | 显示全部楼层 来自: 中国辽宁大连
弄明白了。确实是我没看清楚。谢谢了。也谢谢五楼。我新手。以后常讨论。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表