2010年,它似乎被隐藏了起来。mep设备的DXF输出如下:
(-1 . <Entity name: 7ffff851c10>)
(0 . "AECB_DEVICE")
(330 . <Entity name: 7ffff8039f0>)
(5 . "1E5E1")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "E-63F--IE-N")
2009年,这是英里长 看起来你和这家伙的处境一样:
http://www.cadtutor.net/forum/showthread.php?54021-How-can-I-get-detailed-definition-of-AECC\u坐标几何点
你是通过VL获得信息的吗? 使用链接,dump lisp例程将在“location”下返回插入点
现在的问题是如何提取“位置”?
对于VL来说,我是个新手
Command: dump
>>Select Object>> ; IAecbDevice: Device entity
; Property values:
; AlternateName (RO) = "28W"
; Application (RO) = #<VLA-OBJECT IAcadApplication 0000000140b98ca0>
; BoundSpaces = 1
; Connectors (RO) = #<VLA-OBJECT IAecbConnectors 0000000032d59ba0>
; Description = ""
; Document (RO) = #<VLA-OBJECT IAcadDocument 000000000e1cbde0>
; Elevation = 0.0
; EngineeringData (RO) = #<VLA-OBJECT IAecbPartDataVariables 0000000032d59c30>
; EngineeringID = ""
; GUID (RO) = ""
; Handle (RO) = "1E5E1"
; HasExtensionDictionary (RO) = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 0000000032c86a28>
; ID = ""
; InsulationThickness = 0.0
; Layer = "E-63F--IE-N"
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; LiningThickness = 0.0
; Load (RO) = "0"
; Location = (286861.0 305315.0 0.0)
; LockSize = 0
; Material = "ByLayer"
; MaximumSize = ...Indexed contents not shown...
; Name (RO) = "28W"
; Normal = (0.0 0.0 1.0)
; ObjectID (RO) = 42
; ObjectID32 (RO) = 42
; ObjectName (RO) = "AecbDbDevice"
; OwnerID (RO) = 43
; OwnerID32 (RO) = 43
; PartDescription (RO) = "28W"
; PlotStyleName = "ByLayer"
; Rotation = 6.10144
; ShadowDisplay = 0
; SizeName (RO) = "28W"
; Style = #<VLA-OBJECT IAecbDeviceStyle 000000002ec963e0>
; StyleName = "28W"
; SubType (RO) = ""
; System = #<VLA-OBJECT IAecbElecSystemDef 000000002ec96280>
; SystemAbbreviation (RO) = ""
; SystemFamily (RO) = ""
; SystemName = "Standard"
; SystemType (RO) = 100
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 0000000032c896c0>
; Type (RO) = "Lighting"
; Visible = -1
; Voltage (RO) = Exception occurred
; Methods supported:
; ArrayPolar (3)
; ArrayRectangular (6)
; AttachAnchor (1)
; ClosestNode (1)
; Copy ()
; Delete ()
; GetAnchor ()
; GetBoundingBox (2)
; GetExtensionDictionary ()
; GetXData (3)
; Highlight (1)
; IntersectWith (2)
; Mirror (2)
; Mirror3D (3)
; Move (2)
; NodeLocation (1)
; ReleaseAnchor ()
; Rotate (2)
; Rotate3D (3)
; ScaleEntity (2)
; SetXData (2)
; TransformBy (1)
; Update ()
将其用于实体名称:
(vlax-get (vlax-ename->vla-object <entityname>) 'Location)
我试过了,但没有得到实体的位置。它返回如下错误。
因此,如果位置意味着一个实体的起点,我认为我们可以用以下内容替换它。
(vl-load-com)
(setq e (car (entsel "\nSelect something :")))
(vlax-get (vlax-ename->vla-object e) 'startpoint)
你怎么想?
塔瓦特
但是你在用MEP吗?
是否查询对象的StartPoint属性,或者这是猜测? 这不是猜测。这只是一个讨论。
如果你对它那么生气,就忽略它。
谢谢这很有魅力。
作为VL的初学者,您是否介意仔细阅读您的代码,也许您可以解释一下为什么非VL命令不返回相同的输出?
发怒的谁在生气?
杰出的
在处理任何VL属性/方法之前,我们必须首先将实体名称转换为VLA对象,为此,我们使用vlax ename->VLA对象。
当我们拥有VLA对象时,我们可以查询其属性,并使用其方法。
有关ActiveX对象模型的更完整解释,请参阅此处:
http://www.cadtutor.net/forum/showthread.php?53374-xref clip boundry&p=361940&viewfull=1#post361940
杰出的
页:
1
[2]