所以我喜欢的是一个例行程序,它“扫描”布局,并给出一个列表,其中列出了每个布局的大小。所以我可以使用pagesetup例程在组中设置相应的页面。
对不起,不是母语英语,所以解释可能有点奇怪;
这就是你的意思吗?
(defun c:TesT (/ papersize prnt)
(vl-load-com)
;;; Tharwat 19. Oct. 2011 ;;;
(foreach x (layoutlist)
(cond ((not lay)
(setq lay (vla-get-activelayout
(vla-get-activedocument (vlax-get-acad-object))
)
)
)
)
(setq papersize (vla-getpapersize lay 'w 'h))
(setq prnt (cons (strcat "Name of layout :"
""
x
""
"Paper Size :"
" "
(rtos w 2 1)
""
(rtos h 2 1)
)
prnt
)
)
)
(foreach lays (reverse prnt)
(print lays)
)
(textpage)
(princ)
)
塔瓦特 这就是我的意思
但我每次测试A4和A4肖像A1和A0时,都会从你的例程210 297中得到相同的尺寸
但我的外表
thx Tharwat公司
你说得对,纸的大小总是一样的。我不知道为什么!!
谢谢你的邀请,但我不能让它工作。我没有收到任何错误消息,也没有从autocad执行任何操作。
我加载lisp(拖放),然后运行它(命令测试)
插入点0,0,0正确,我的块名与lisp中的名称相同
我忘了什么吗?
我应该更改这一行吗?(cons 2 Block);;Block的名称?
谢谢你的时间
由于您始终在活动布局对象上操作,因此不会更改:
试试这个:
(defun c:test ( / width height )
(vlax-for layout (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object)))
(if (not (eq "MODEL" (strcase (vla-get-name layout))))
(progn
(vla-getpapersize layout 'width 'height)
(princ
(strcat "\n" (vla-get-name layout)
", Paper Size: " (rtos width 2 2) " x " (rtos height 2 2)
)
)
)
)
)
(princ)
)
(vl-load-com) (princ)
如果图形中不存在块定义,则无法输入插入图元。
DXF第2组代码仅需要块名称,以引用块表中的条目。
太好了,谢谢你的更正,李。
还有一个很棒的信息。
非常感谢。 谢谢所有回复。。。
我现在知道我在找别的东西。。更像是我所有布局的边界框。。。
格里茨·约翰
也许看看这个
页:
1
[2]