如果你下载了Dumpit的副本。lsp并选择一个对象,它将显示有关“实体”的许多信息,然后使用下面的简单代码,您可以看到如何检索信息。我发现它比使用DXF代码的旧ASSOC方法更容易。
这里是一个简单的文本转储
- Here is a simple text dump
- Select object: ; IAcadText: AutoCAD Text Interface
- ; Property values:
- ; Alignment = 0
- ; Application (RO) = #<VLA-OBJECT IAcadApplication 000000013fc43318>
- ; Backward = 0
- ; Document (RO) = #<VLA-OBJECT IAcadDocument 000000003025d5c8>
- ; EntityTransparency = "ByLayer"
- ; Handle (RO) = "11AEE"
- ; HasExtensionDictionary (RO) = -1
- ; Height = 2.5
- ; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 000000002caacab8>
- ; InsertionPoint = (312.301 280.565 0.0)
- ; Layer = "DEFAULT"
- ; Linetype = "ByLayer"
- ; LinetypeScale = 1.0
- ; Lineweight = -1
- ; Material = "ByLayer"
- ; Normal = (0.0 0.0 1.0)
- ; ObjectID (RO) = 51
- ; ObjectID32 (RO) = 51
- ; ObjectName (RO) = "AcDbText"
- ; ObliqueAngle = 0.0
- ; OwnerID (RO) = 50
- ; OwnerID32 (RO) = 50
- ; PlotStyleName = "ByLayer"
- ; Rotation = 0.0
- ; ScaleFactor = 1.0
- ; StyleName = "Standard 2.5"
- ; TextAlignmentPoint = (0.0 0.0 0.0)
- ; TextGenerationFlag = 0
- ; TextString = "aaaa"
现在看一下获取值方法,注意逆是Put,Vlax Put属性
- (setq obj (entsel "\nPick an object"))
- (setq Textvals (vlax-get-property (vlax-ename->vla-object (car obj)) 'Textstring)) ; this is the actual text type see is it text next
- (setq layeris (vlax-get-property (vlax-ename->vla-object (car obj)) 'Layer)) ; this is the layer
- (setq whatisit (vlax-get-property (vlax-ename->vla-object (car obj)) 'ObjectName)) ; what is it text line pline etc
|