chavlji 发表于 2022-7-6 15:00:53

VLA-*功能帮助(wher

你好
我知道我可以在vlisp帮助中搜索所有lisp函数。它解释了所有标准lisp函数以及vlax-*函数。
但是在哪里可以获得vla-*函数的帮助呢。我知道我可以使用VLisp的适当方法获得它们的列表,但没有提供此列表的帮助。。。

ASMI 发表于 2022-7-6 15:57:00

它不是AutoLISP函数,而是ActiveX对象的属性和方法。您可以在开发人员帮助中的ActiveX和VBA参考中找到它。虽然使用了VBA语法,但在AutoLISP语法中使用它们并不困难。
 
画一条线,在命令行中键入并拾取线:
 
Command: (vl-load-com)
Command: (setq vObj(vlax-ename->vla-object(car(entsel))))
Select object: #<VLA-OBJECT IAcadLine 026386b4>
 
现在你有了你行的ActiveX对象。通过vlax dump对象函数查看所有属性和方法:
 
Command: (vlax-dump-object vObj T)
; IAcadLine: AutoCAD Line Interface
; Property values:
;   Angle (RO) = 0.657912
;   Application (RO) = #<VLA-OBJECT IAcadApplication 00d73d3c>
;   Delta (RO) = (584.602 451.76 0.0)
;   Document (RO) = #<VLA-OBJECT IAcadDocument 090902a8>
;   EndPoint = (1887.85 1143.92 0.0)
;   Handle (RO) = "1AD"
;   HasExtensionDictionary (RO) = 0
;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 0edfe97c>
;   Layer = "0"
;   Length (RO) = 738.815
;   Linetype = "ByLayer"
;   LinetypeScale = 1.0
;   Lineweight = -1
;   Material = "ByLayer"
;   Normal = (0.0 0.0 1.0)
;   ObjectID (RO) = 2130342760
;   ObjectName (RO) = "AcDbLine"
;   OwnerID (RO) = 2130337016
;   PlotStyleName = "ByLayer"
;   StartPoint = (1303.24 692.161 0.0)
;   Thickness = 0.0
;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 0ee0de10>
;   Visible = -1
; Methods supported:
;   ArrayPolar (3)
;   ArrayRectangular (6)
;   Copy ()
;   Delete ()
;   GetBoundingBox (2)
;   GetExtensionDictionary ()
;   GetXData (3)
;   Highlight (1)
;   IntersectWith (2)
;   Mirror (2)
;   Mirror3D (3)
;   Move (2)
;   Offset (1)
;   Rotate (2)
;   Rotate3D (3)
;   ScaleEntity (2)
;   SetXData (2)
;   TransformBy (1)
;   Update ()
T
 
现在获取对象颜色:
Command: (vla-get-color vObj)
256
 
并将其更改为红色:
 
Command: (vla-put-Color vObj 1)
nil
 
如您所见,vla函数是对象属性。vla get-用于获取属性,vla put-用于更改属性。
 
现在将偏移方法应用于直线:
 
Command: (setq Res(vla-offset vObj -15))
#<variant 8201 ...>
 
变量Res是带有新对象的变量safearray。将其转换为列表:
 
Command: (vlax-safearray->list(vlax-variant-value Res))
(#<VLA-OBJECT IAcadLine 02638954>)

Lee Mac 发表于 2022-7-6 16:09:53

我们为这些方法和属性提供了一些帮助,请参见此处(您可以在下面找到属性列表)。
页: [1]
查看完整版本: VLA-*功能帮助(wher