缩放问题
我有密码(setq i 0)
(repeat (sslength selpline)
(setq pline_ent (ssname selpline i))
(setq lis_ent (entget pline_ent))
(setq j 0)
(setq b 0)
(setq lis_coords '())
(repeat (length lis_ent)
(if (= (car (nth j lis_ent)) 10)
(setq lis_coords (append lis_coords (list (cdr (nth j lis_ent)))))
)
(setq j (+ j 1))
)
(print "001")
(setq selec (ssget "wp" lis_coords))
(print "002")
(repeat (sslength selec)
(print "003")
(setq entblk (ssname selec b))
(print "004")
(setq tipo_l (cdr(assoc 0 (entget entblk))))
(print "005")
如果使用“缩小”命令,则可以在(打印005)处运行该命令
但是,如果我在命令“002”中使用“缩放”
指定拉伸点或[基点/复制/撤消/退出]:1
"001"
"002" ; 错误:错误的参数类型:lselsetp nil
错误就在这条线上
(重复(sslength selec)
并显示消息request Select Object
有什么帮助吗? 您好,Rodrigo,要将ssget与图形窗口选择模式(C、CP、F、W、WP)结合使用,指定区域应在屏幕上可见,因此最好在之前使用最大化显示。或者,如果图形太大,可以将窗口缩放到选定多段线的范围。
在这种情况下,可以使用该实体的边界框:
(vla-GetBoundingBox (vlax-ename->vla-object (car (entsel))) 'pmin 'pmax)
(vla-zoomwindow (vlax-get-acad-object) pmin pmax)
这些是不规则形状的多段线吗? 雷纳尔多,你的小费帮了我。
如果多段线未显示整个屏幕,则返回null。
使用缩放解决
感谢所有人(雷纳尔多和pBe!) 不客气!
页:
[1]