查看dwg后,这将使用调整后的A2图纸尺寸将新标题栏自动化为布局。我确实需要一些帮助错误捕捉“外部参照丢失”,但它似乎是一个标志,所以应该工作。看看文字大小。
如果所有dwg都相同,则一次测试几个dwg不会出错。我可以给你一些关于写剧本的提示。
- ; Fit model space to a fixed size title block in a layout
- ; By Alan H Aug 2017
- (vl-load-com)
- (defun c:ktnl ( / ss lay alllayouts)
- (setvar "ctab" "Model")
- (command "erase" (ssget "x" (list (cons 0 "insert")(cons 2 "JE_BORDER")(cons 410 "Model"))) "")
- (setq alllayouts (vla-get-Layouts (vla-get-activedocument (vlax-get-acad-object))))
- (vlax-for lay alllayouts
- (if (= 1 (vla-get-taborder lay))
- (setvar "ctab" (vla-get-name lay))
- )
- )
- (command "erase" (ssget "x" (list (cons 0 "Viewport"))) "")
- (setvar "attdia" 0)
- (command "insert" "JE_BORDER" (list 0 0) 1 1 0 "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "")
- (command "-layer" "M" "Vport" "")
- (command "mview" (list 7.75 42.0) (list 576.5 405.5))
- (setq obj (vlax-ename->vla-object (entlast)))
- (command "zoom" "E")
- (command "mspace")
- (command "zoom" "E")
- (command "zoom" 0.95x)
- (setq sc (vla-get-customscale obj))
- (vla-put-DisplayLocked obj -1)
- (setq ss (ssget "X" (list (cons 0 "Text"))))
- (repeat (setq x (sslength ss))
- (setq tobj (vlax-ename->vla-object (ssname ss (setq x (- x 1)))))
- (vla-put-height tobj(/ (vla-get-height tobj) sc))
- )
- (command "pspace")
- (command "zoom" "E")
- )
- (c:ktnl)
如果没有外部参照,则编写脚本
- Open dwg1 (load "kntl") close "y")
- Open dwg2 (load "kntl") close "y")
- Open dwg3 (load "kntl") close "y")
|