designerstuart 发表于 2022-7-6 08:43:37

询问纸张大小

很抱歉,术语不好。。。。
 
我想有一个脚本,它可以在图纸空间中插入一个块,但布局中的纸张大小将决定要插入的块。
 
有没有办法在脚本、宏、lisp等文件中询问当前布局的大小?
 
谢谢大家

Tharwat 发表于 2022-7-6 08:47:59

你说的版面大小是什么意思?它是一个具有特定纸张大小边框的块吗?
 
塔瓦特

designerstuart 发表于 2022-7-6 08:50:42

嗨tharwat
不,不是块,而是布局的页面大小。例如,当我进入文件>页面设置管理器时,页面大小为A1。你知道如果你有一个模型图,有几个不同大小的布局-可能有些图纸的页面大小A1,一些A2,一些A3等。
 
我希望有某种方法可以提取当前布局中页面的大小,这样当我插入一个块时,它就适合布局中已经生成的页面大小。
 
我将为A1创建一个块,另一个为A2等创建一个块,并有一个按钮,它做了如下操作:
如果papersize=A1,则插入区块“blockA1”
如果papersize=A2,插入区块“blockA2”
 
谢谢你的帮助

Tharwat 发表于 2022-7-6 08:55:07

我懂了。
 
这应该让你开始。。。。
 

(setq lay (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object ))))
(setq papersize (vla-getpapersize lay 'w 'h))
w
h

 
如果你需要帮助,尽管问。
 
塔瓦特

designerstuart 发表于 2022-7-6 08:57:27

谢谢tharwat
请原谅我的无知,但这是怎么回事?我将其加载为lisp,它返回594.0,这是当前布局的正确高度。顺便说一句,您已经指出,我不需要同时测量高度和宽度,因为只有一个测量值就可以告诉我布局的大小(它们总是横向的)。
 
那么我该如何使用它来选择不同的块呢?我打算用一个简单的脚本,比如
insert
"C:/AUTOCAD FILES/blockA1.dwg"
0,0,0
1


 
但是理解“如果”部分会让事情变得更复杂。我会以某种方式将这两个脚本结合起来吗?
 
再次感谢您抽出时间

Tharwat 发表于 2022-7-6 09:01:50

如果我能很好地理解你的需求,这应该能帮到你。。
 
不要忘记根据纸张大小和块的插入点更改块的名称。
 

(defun c:TesT (/ papersize Block)(vl-load-com)
;;; Tharwat 18. Oct. 2011 ;;;
(cond ((not lay)
      (setq lay (vla-get-activelayout
                  (vla-get-activedocument (vlax-get-acad-object))
                  )
      )
       )
)
(setq papersize (vla-getpapersize lay 'w 'h))
(cond ((eq w 210.0)(setq Block "C:/AUTOCAD FILES/blockA4.dwg"))
       ((eq w 297.0)(setq Block "C:/AUTOCAD FILES/blockA3.dwg"))
       ((eq w 594.0)(setq Block "C:/AUTOCAD FILES/blockA2.dwg"))
       ((eq w 841.0)(setq Block "C:/AUTOCAD FILES/blockA1.dwg"))
       ((eq w 1189.0) (setq Block "C:/AUTOCAD FILES/blockA0.dwg"))
)
(entmakex (list '(0 . "INSERT")
               (cons 2 Block) ;; Name of Block
               (cons 10 '(0. 0. 0.)) ;; Insertion point for the chosen block
               '(41 . 1.)
               '(42 . 1.)
               '(43 . 1.)
         )
)
(princ)
)
Tharwat

designerstuart 发表于 2022-7-6 09:05:31

太好了,谢谢。
它看起来正是我想要的。
我会玩它,让你知道!
干杯

Tharwat 发表于 2022-7-6 09:08:19

 
 
欢迎你的朋友。
 
听到这个消息我真的很高兴。
 
 
塔瓦特

johmmeke 发表于 2022-7-6 09:09:23

大家好。。。看起来不错
 
如果我用另一种方式说。。。需要测量我的布局以设置页面设置。
我们不使用边界,而是使用来自客户的块。。从那时起,我该如何测量轮廓。。。。
 
格里茨·约翰

Tharwat 发表于 2022-7-6 09:12:30

约翰,至少你的解释我不清楚。
 
当做
 
塔瓦特
页: [1] 2
查看完整版本: 询问纸张大小