创建显示的字段
你好我创建了一个显示视口(自定义)比例的字段,在图纸空间中,图形大小为A3。所以我的领域说,例如1:1000@A3。现在,我们的图形也打印在A1,我想创建一个字段,将我的视口比例缩放2,并显示自定义比例等效值。一、 e对于1:1000,它将显示1:500。
我不熟悉这个领域,如有任何想法/建议,将不胜感激。 可以在公式字段中创建对象字段。
请看发布的示例。
新建块。图纸 试一试:
(defun c:VPortField (/ *error* DOC ENT OBJ PT UFLAG)
(vl-load-com)
;; Lee Mac~25.02.10
(defun *error* (msg)
(and UFlag (vla-EndUndoMark doc))
(or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
(princ (strcat "\n** Error: " msg " **")))
(princ))
(while
(progn
(setq ent (car (entsel "\nSelect Viewport to Retrieve Scale: ")))
(cond ((eq 'ENAME (type ent))
(if (eq "AcDbViewport"
(vla-get-Objectname
(setq Obj (vlax-ename->vla-object ent))))
(if (setq pt (getpoint "\nSelect Point for Field: "))
(progn
(setq uFlag
(not (vla-StartUndomark
(setq doc
(vla-get-ActiveDocument
(vlax-get-acad-object)))))
pt (trans pt 1 0))
(vla-AddMText
(if (zerop (vla-get-ActiveSpace doc))
(if (eq :vlax-true
(vla-get-mspace doc))
(vla-get-ModelSpace doc)
(vla-get-PaperSpace doc))
(vla-get-ModelSpace doc))
(vlax-3D-point pt) 0.
(strcat "%<\\AcExpr %<\\AcObjProp Object(%<\\_ObjId "
(itoa (vla-get-ObjectId obj))
">%).CustomScale >% * 2.0 \\f \"1:%lu2%ct1%qf2816\">%"))
(setq uFlag (vla-EndUndomark doc))))
(princ "\n** Object Must be a Viewport **"))))))
(princ))
这是一口。
Indeedy公司 不过,他没有学到任何关于田地的知识。Tsk Tsk。
但是如果那样的话,我就没有写作的乐趣了 只是在捣乱。
呵呵,我知道 jimwithaj,你把事情安排好了吗?
页:
[1]
2