如何更改块特性
您好,我已经解决了如何在dwg中获取所有块。现在我想把它们都设置为“X”刻度为1。
我对lisp还比较陌生,还不知道如何应用新属性。我只会读,不会写。
有人能给我指出正确的方向吗? 使用dumpit。lsp选择一个区块并查看结果,而不是vla get use vla put。
; XEffectiveScaleFactor=1.0
; XScaleFactor=1.0
; YeEffectiveScaleFactor=1.0
; YScaleFactor=1.0
; ZeEffectiveScaleFactor=1.0
; ZScaleFactor=1.0 谢谢Bigal!vla是否为区块专用?或者我可以用它来发短信吗?
请原谅我的无知,这是什么。lsp? Vla put属性在一个对象中有很多属性,比如你向文本询问块比例(Vla put XScaleFactor blockobj 2.0)
Command: DUMPIT
Select object: ; IAcadText: AutoCAD Text Interface
; Property values:
; Alignment = 0
; Application (RO) = #<VLA-OBJECT IAcadApplication 00007ff76c493318>
; Backward = 0
; Document (RO) = #<VLA-OBJECT IAcadDocument 000000002a4ad9f8>
; EntityTransparency = "ByLayer"
; Handle (RO) = "606C"
; HasExtensionDictionary (RO) = 0
; Height = 0.2
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 00000000317c7e48>
; InsertionPoint = (7267.25 2461.08 0.0)
; Layer = "0"
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Material = "ByLayer"
; Normal = (0.0 0.0 1.0)
; ObjectID (RO) = 43
; ObjectID32 (RO) = 43
; ObjectName (RO) = "AcDbText"
; ObliqueAngle = 0.0
; OwnerID (RO) = 44
; OwnerID32 (RO) = 44
; PlotStyleName = "ByLayer"
; Rotation = 0.0
; ScaleFactor = 1.0
; StyleName = "Standard"
; TextAlignmentPoint = (0.0 0.0 0.0)
; TextGenerationFlag = 0
; TextString = "asdfg"
; Thickness = 0.0
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 00000000317c8920>
; UpsideDown = 0
; Visible = -1
;;;===================================================================;
;;; DumpIt ;
;;;-------------------------------------------------------------------;
;;; Dump all methods and properties for selected objects ;
;;;===================================================================;
(defun C:DumpIt ( / ent)
(while (setq ent (entsel))
(vlax-Dump-Object
(vlax-Ename->Vla-Object (car ent))
)
)
(princ)
)
注意:这是(vlax转储对象)的签名:
(vlax-dump-object obj )
如果没有可选的第二个参数,将不会列出方法。
页:
[1]