乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: dhl

[编程交流] 2010 lisp故障

[复制链接]
dhl

10

主题

36

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 10:39:37 | 显示全部楼层
2009年,dxf代码10包含插入点。
 
2010年,它似乎被隐藏了起来。mep设备的DXF输出如下:
 
  1. (-1 . <Entity name: 7ffff851c10>)
  2. (0 . "AECB_DEVICE")
  3. (330 . <Entity name: 7ffff8039f0>)
  4. (5 . "1E5E1")
  5. (100 . "AcDbEntity")
  6. (67 . 0)
  7. (410 . "Model")
  8. (8 . "E-63F--IE-N")

 
2009年,这是英里长
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:43:08 | 显示全部楼层
看起来你和这家伙的处境一样:
 
http://www.cadtutor.net/forum/showthread.php?54021-How-can-I-get-detailed-definition-of-AECC\u坐标几何点
 
你是通过VL获得信息的吗?
回复

使用道具 举报

dhl

10

主题

36

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 10:47:54 | 显示全部楼层
使用链接,dump lisp例程将在“location”下返回插入点
 
现在的问题是如何提取“位置”?
 
对于VL来说,我是个新手
 
  1. Command: dump
  2. >>  Select Object  >> ; IAecbDevice: Device entity
  3. ; Property values:
  4. ;   AlternateName (RO) = "28W"
  5. ;   Application (RO) = #<VLA-OBJECT IAcadApplication 0000000140b98ca0>
  6. ;   BoundSpaces = 1
  7. ;   Connectors (RO) = #<VLA-OBJECT IAecbConnectors 0000000032d59ba0>
  8. ;   Description = ""
  9. ;   Document (RO) = #<VLA-OBJECT IAcadDocument 000000000e1cbde0>
  10. ;   Elevation = 0.0
  11. ;   EngineeringData (RO) = #<VLA-OBJECT IAecbPartDataVariables 0000000032d59c30>
  12. ;   EngineeringID = ""
  13. ;   GUID (RO) = ""
  14. ;   Handle (RO) = "1E5E1"
  15. ;   HasExtensionDictionary (RO) = 0
  16. ;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 0000000032c86a28>
  17. ;   ID = ""
  18. ;   InsulationThickness = 0.0
  19. ;   Layer = "E-63F--IE-N"
  20. ;   Linetype = "ByLayer"
  21. ;   LinetypeScale = 1.0
  22. ;   Lineweight = -1
  23. ;   LiningThickness = 0.0
  24. ;   Load (RO) = "0"
  25. ;   Location = (286861.0 305315.0 0.0)
  26. ;   LockSize = 0
  27. ;   Material = "ByLayer"
  28. ;   MaximumSize = ...Indexed contents not shown...
  29. ;   Name (RO) = "28W"
  30. ;   Normal = (0.0 0.0 1.0)
  31. ;   ObjectID (RO) = 42
  32. ;   ObjectID32 (RO) = 42
  33. ;   ObjectName (RO) = "AecbDbDevice"
  34. ;   OwnerID (RO) = 43
  35. ;   OwnerID32 (RO) = 43
  36. ;   PartDescription (RO) = "28W"
  37. ;   PlotStyleName = "ByLayer"
  38. ;   Rotation = 6.10144
  39. ;   ShadowDisplay = 0
  40. ;   SizeName (RO) = "28W"
  41. ;   Style = #<VLA-OBJECT IAecbDeviceStyle 000000002ec963e0>
  42. ;   StyleName = "28W"
  43. ;   SubType (RO) = ""
  44. ;   System = #<VLA-OBJECT IAecbElecSystemDef 000000002ec96280>
  45. ;   SystemAbbreviation (RO) = ""
  46. ;   SystemFamily (RO) = ""
  47. ;   SystemName = "Standard"
  48. ;   SystemType (RO) = 100
  49. ;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 0000000032c896c0>
  50. ;   Type (RO) = "Lighting"
  51. ;   Visible = -1
  52. ;   Voltage (RO) = Exception occurred
  53. ; Methods supported:
  54. ;   ArrayPolar (3)
  55. ;   ArrayRectangular (6)
  56. ;   AttachAnchor (1)
  57. ;   ClosestNode (1)
  58. ;   Copy ()
  59. ;   Delete ()
  60. ;   GetAnchor ()
  61. ;   GetBoundingBox (2)
  62. ;   GetExtensionDictionary ()
  63. ;   GetXData (3)
  64. ;   Highlight (1)
  65. ;   IntersectWith (2)
  66. ;   Mirror (2)
  67. ;   Mirror3D (3)
  68. ;   Move (2)
  69. ;   NodeLocation (1)
  70. ;   ReleaseAnchor ()
  71. ;   Rotate (2)
  72. ;   Rotate3D (3)
  73. ;   ScaleEntity (2)
  74. ;   SetXData (2)
  75. ;   TransformBy (1)
  76. ;   Update ()
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:50:51 | 显示全部楼层
将其用于实体名称:
 
  1. (vlax-get (vlax-ename->vla-object [color=red]<entityname>[/color]) 'Location)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 10:52:07 | 显示全部楼层
 
我试过了,但没有得到实体的位置。它返回如下错误。
 
因此,如果位置意味着一个实体的起点,我认为我们可以用以下内容替换它。
 
  1. (vl-load-com)
  2. (setq e (car (entsel "\nSelect something :")))
  3. (vlax-get (vlax-ename->vla-object e) 'startpoint)

 
你怎么想?
 
塔瓦特
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:56:20 | 显示全部楼层
 
但是你在用MEP吗?
 
 
是否查询对象的StartPoint属性,或者这是猜测?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 11:00:37 | 显示全部楼层
这不是猜测。这只是一个讨论。
 
如果你对它那么生气,就忽略它。
回复

使用道具 举报

dhl

10

主题

36

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 11:02:41 | 显示全部楼层
 
谢谢这很有魅力。
 
作为VL的初学者,您是否介意仔细阅读您的代码,也许您可以解释一下为什么非VL命令不返回相同的输出?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:04:23 | 显示全部楼层
 
发怒的谁在生气?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:08:45 | 显示全部楼层
 
杰出的
 
 
在处理任何VL属性/方法之前,我们必须首先将实体名称转换为VLA对象,为此,我们使用vlax ename->VLA对象。
 
当我们拥有VLA对象时,我们可以查询其属性,并使用其方法。
 
有关ActiveX对象模型的更完整解释,请参阅此处:
http://www.cadtutor.net/forum/showthread.php?53374-xref clip boundry&p=361940&viewfull=1#post361940
 
杰出的
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-6 21:10 , Processed in 0.798441 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表