乐筑天下

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

[编程交流] [Civil 3D]命名点编组g

[复制链接]

46

主题

92

帖子

45

银币

后起之秀

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

铜币
235
发表于 2022-7-5 22:54:06 | 显示全部楼层 |阅读模式
你好
如何通过检查entsel函数来获取点组的名称?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:11:41 | 显示全部楼层
尝试此操作以获取与选定对象相关的所有dxf代码。
 
  1. (entget (car (entsel)))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:16:25 | 显示全部楼层
此实用程序可能会帮助您:实体列表
回复

使用道具 举报

46

主题

92

帖子

45

银币

后起之秀

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

铜币
235
发表于 2022-7-5 23:30:41 | 显示全部楼层
我使用了:
  1. (entget(car(entsel)))

我得到:
  1. Wybierz obiekt: ((-1 . <Nazwa elementu: 7ef18568>)
  2. (0 . "AECC_COGO_POINT")
  3. (330 . <Nazwa elementu: 7ef01cf8>) (5 . "80F5") (100 . "AcDbEntity")
  4. (67 . 0) (410 . "Model") (8 . "C-PUNKTY") (100 . "AeccDbCogoPoint"))

我使用了:
  1. (vl-load-com)
  2. (vlax-dump-object (vlax-ename->vla-object(car (entsel))) 'T)

我得到:
  1. Wybierz obiekt: ; IAeccPoint: Interfejs IAeccPoint
  2. ; Wartości właściwości:
  3. ;   Application (RO) = #<VLA-OBJECT IAeccApplication 18b42f20>
  4. ;   Convergence (RO) = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ
  5. nie określono układu współrzędnych geodezyjnych.
  6. ;   Description = Civil 3D API: Parametr jest niepoprawny.
  7. ;   DescriptionFormat = ""
  8. ;   DisplayName (RO) = Civil 3D API: Parametr jest niepoprawny.
  9. ;   Document (RO) = #<VLA-OBJECT IAeccDocument 18bf3b60>
  10. ;   Easting = 20580.3
  11. ;   Elevation = 100.0
  12. ;   FullDescription (RO) = ""
  13. ;   GridEasting = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ nie
  14. określono układu współrzędnych geodezyjnych.
  15. ;   GridNorthing = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ nie
  16. określono układu współrzędnych geodezyjnych.
  17. ;   Handle (RO) = "80F5"
  18. ;   HasExtensionDictionary (RO) = 0
  19. ;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 18b033bc>
  20. ;   LabelStyle = nil
  21. ;   Latitude = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ nie
  22. określono układu współrzędnych geodezyjnych.
  23. ;   Layer = "C-PUNKTY"
  24. ;   Linetype = "ByLayer"
  25. ;   LinetypeScale = 1.0
  26. ;   Lineweight = -1
  27. ;   Location = (20580.3 3776.2 100.0)
  28. ;   Longitude = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ nie
  29. określono układu współrzędnych geodezyjnych.
  30. ;   Material = "ByLayer"
  31. ;   Name = ""
  32. ;   Northing = 3776.2
  33. ;   Number = 1
  34. ;   ObjectID (RO) = 2129757544
  35. ;   ObjectName (RO) = "AeccDbCogoPoint"
  36. ;   OwnerID (RO) = 2129665272
  37. ;   PlotStyleName = "ByLayer"
  38. ;   ProjectVersion (RO) = Civil 3D API: Parametr jest niepoprawny.
  39. ;   RawDescription = ""
  40. ;   Rotation = 0.0
  41. ;   Scale (RO) = Civil 3D API: Ta operacja nie jest obsługiwana, ponieważ nie
  42. określono układu współrzędnych geodezyjnych.
  43. ;   ShowToolTip = Civil 3D API: Nieprawidłowe dojście.
  44. ;   Style = nil
  45. ;   StyleName (RO) = "<brak>"
  46. ;   SurveyPoint (RO) = 0
  47. ;   TrueColor = Program AutoCAD.Aplikacja: Niepoprawna klasa
  48. ;   Visible = Program AutoCAD.Aplikacja: Niepoprawna klasa
  49. ;   XYScale = 1.0
  50. ;   ZScale = 1.0
  51. ; Obsługiwane metody:
  52. ;   ArrayPolar (3)
  53. ;   ArrayRectangular (6)
  54. ;   Copy ()
  55. ;   Delete ()
  56. ;   GetBoundingBox (2)
  57. ;   GetExtensionDictionary ()
  58. ;   GetUserDefinedPropertyValue (1)
  59. ;   GetXData (3)
  60. ;   Highlight (1)
  61. ;   IntersectWith (2)
  62. ;   IsReferenceObject ()
  63. ;   IsReferenceStale ()
  64. ;   IsReferenceSubObject ()
  65. ;   IsReferenceValid ()
  66. ;   Mirror (2)
  67. ;   Mirror3D (3)
  68. ;   Move (2)
  69. ;   Rotate (2)
  70. ;   Rotate3D (3)
  71. ;   ScaleEntity (2)
  72. ;   SetUserDefinedPropertyValue (2)
  73. ;   SetXData (2)
  74. ;   TransformBy (1)
  75. ;   Update ()

 
如何访问几何空间点组的名称?
回复

使用道具 举报

46

主题

92

帖子

45

银币

后起之秀

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

铜币
235
发表于 2022-7-5 23:38:22 | 显示全部楼层
我使用此代码读取信息:
  1. (prompt "\ngr-nam")
  2. (defun c:gr-nam (/ e d obj L1)
  3. (vl-load-com)
  4. (if (setq e (car (entsel "\nSelect COGO: " )))
  5.    (progn
  6.      (setq d (entget e))
  7.      (if (= (cdr (assoc 0 d)) "AECC_COGO_POINT")
  8. (progn
  9.   (setq obj (vlax-ename->vla-object e))
  10.   (setq L1 (vlax-get obj '[color="red"]Location[/color]))
  11.   (princ L1)
  12.   );progn
  13. (princ "\nInvalid object: ")
  14. );if
  15.      );progn
  16.    (princ "\nNothing selected: ")
  17.    );if
  18. (princ)
  19. )

在这种情况下,点的坐标。
如何获取组的名称。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:51:35 | 显示全部楼层
我看到这个物体的名字是零,如你第4号帖子所示!
 
在黑暗中拍摄,试试这个。
 
  1. (vla-get-name (vlax-ename->vla-object e))
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:03:15 | 显示全部楼层
这将为您提供点编组的名称,最后几行是您需要的位。
  1. (if ((lambda (vrsn)
  2.        (cond
  3.         ((vl-string-search "R17.2" vrsn) (setq appstr "6.0")) ;09
  4.         ((vl-string-search "R18.0" vrsn) (setq appstr "7.0")) ;10
  5.         ((vl-string-search "R18.1" vrsn) (setq appstr "8.0")) ;11
  6.         ((vl-string-search "R18.2" vrsn) (setq appstr "9.0")) ;12 ?
  7.         ((vl-string-search "R19.0" vrsn) (setq appstr "10.0")) ;13
  8.        ((alert "This version of C3D not supported!"))
  9.        )
  10.       )
  11.       (vlax-product-key)
  12.      )                         ; end if condition progn is true
  13.      (progn
  14.        (cond (*AeccDoc*)
  15.          ((setq *AeccDoc*
  16.            (vlax-get
  17.              (cond (*AeccApp*)
  18.                ((setq *AeccApp*
  19.                  (vla-getinterfaceobject
  20.                     (cond (*Acad*)
  21.                     ((setq *Acad* (vlax-get-acad-object)))
  22.                     )
  23.                     (strcat "AeccXUiLand.AeccApplication." appstr)
  24.                  )
  25.                 )
  26.                )
  27.              )
  28.              'ActiveDocument
  29.            )
  30.           )
  31.          )
  32.        ) ; end main cond
  33.      ) ; end progn
  34. ) ; end if vsrn
  35. (vlax-for j (vlax-get *AeccDoc* 'Pointgroups)
  36. (setq lst (cons (cons (vla-get-name j) j) lst))
  37. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 03:24 , Processed in 0.466442 second(s), 66 queries .

© 2020-2025 乐筑天下

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