乐筑天下

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

[编程交流] 获取并设置

[复制链接]

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 16:05:54 | 显示全部楼层
@DGRL不客气
 
@杰夫@齐拉
谢谢你的信息,我想我已经在李Mac动态块功能,但没有运气看到
用于旧pc上的AC2007。将很快升级
 
根据Ronjonp的例子
  1. (vlax-get obj 'insertionpoint)
  2. (getpropertyvalue obj "insertionpoint")

相同的
回复

举报

28

主题

317

帖子

292

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 16:09:54 | 显示全部楼层
 
含糖的匿名锁定层。我喜欢在早餐前把它们作为开胃菜。这在另一个论坛中被列为不可能完成的任务?香草对我来说没问题。。。香草和咖啡很配。法国瓦尼尔咖啡馆。六羟甲基三聚氰胺六甲醚。
  1. (defun c:breakfast ( / sset sspos e laydef)
  2. (if (setq sset (ssget "_X" '((410 . "Model"))))
  3.      (progn
  4.        (setq sspos (sslength sset))
  5.        (while (setq e (ssname sset (setq sspos (1- sspos))))
  6.               (if (= 4 (logand 4 (cdr (assoc 70 (setq laydef (entget(tblobjname "layer" (cdr (assoc 8 (entget e))))))))))
  7.                   (entmod (subst (cons 70 (boole 6 4 (cdr (assoc 70 laydef)))) (assoc 70 laydef) laydef))
  8.               )
  9.               (entdel e)
  10.        )
  11.      )
  12. )
  13. (princ)
  14. )

下一个
 
对正如人们所说,剥猫皮的方法很多
回复

举报

18

主题

111

帖子

93

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 16:13:18 | 显示全部楼层
漂亮的1@Jef!
回复

举报

46

主题

161

帖子

104

银币

后起之秀

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

铜币
242
发表于 2022-7-5 16:18:56 | 显示全部楼层
这被列为没有任何编码是不可能做到的。
 
现在来看下一个例子:
以下是从gile到unformat mtext的代码
  1. (setpropertyvalue mtext "Contents" (getpropertyvalue mtext "Text"))

要使用lisp实现这一点,您必须编写更多的代码行
无论如何哪些“新”功能对我有用?当我在advance steel工作时。它有自己的元素,如梁、板、特殊零件等。
没有dumpallproperties/getpropertyvalue,我无法通过lisp与这些元素交互。
卸载推进钢梁元件示例:
  1. ; IAcadEntity: Interfejs AutoCAD Entity
  2. ; Wartości właściwości:
  3. ;   Application (RO) = #<VLA-OBJECT IAcadApplication 00007ff672f370f8>
  4. ;   Document (RO) = #<VLA-OBJECT IAcadDocument 000002336a0fec68>
  5. ;   EntityTransparency = "JakWarstwa"
  6. ;   Handle (RO) = "2E0"
  7. ;   HasExtensionDictionary (RO) = 0
  8. ;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 000002334c108548>
  9. ;   Layer = "AS_Belki"
  10. ;   Linetype = "ByLayer"
  11. ;   LinetypeScale = 20.0
  12. ;   Lineweight = -1
  13. ;   Material = "ByLayer"
  14. ;   ObjectID (RO) = 42
  15. ;   ObjectName (RO) = "AstBeamRepr"
  16. ;   OwnerID (RO) = 43
  17. ;   PlotStyleName = "ByLayer"
  18. ;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 000002334c109620>
  19. ;   Visible = -1
  20. ; Obsługiwane metody:
  21. ;   ArrayPolar (3)
  22. ;   ArrayRectangular (6)
  23. ;   Copy ()
  24. ;   Delete ()
  25. ;   GetBoundingBox (2)
  26. ;   GetExtensionDictionary ()
  27. ;   GetXData (3)
  28. ;   Highlight (1)
  29. ;   IntersectWith (2)
  30. ;   Mirror (2)
  31. ;   Mirror3D (3)
  32. ;   Move (2)
  33. ;   Rotate (2)
  34. ;   Rotate3D (3)
  35. ;   ScaleEntity (2)
  36. ;   SetXData (2)
  37. ;   TransformBy (1)
  38. ;   Update ()

和相同元素的dumpallproperties:
  1. Begin dumping object (class: AstBeamRepr)
  2. Annotative (type: bool)  (LocalName: Opisowy) = Failed to get value
  3. AnnotativeScale (type: AcString)  (RO)  (LocalName: Skala opisu) = Failed to get value
  4. Atrybut Użytkownika 1 (type: AcString)  (RO) = -
  5. Atrybut Użytkownika 10 (type: AcString)  (RO) = -
  6. Atrybut Użytkownika 2 (type: AcString)  (RO) = -
  7. Atrybut Użytkownika 3 (type: AcString)  (RO) = -
  8. Atrybut Użytkownika 4 (type: AcString)  (RO) = -
  9. Atrybut Użytkownika 5 (type: AcString)  (RO) = -
  10. Atrybut Użytkownika 6 (type: AcString)  (RO) = -
  11. Atrybut Użytkownika 7 (type: AcString)  (RO) = -
  12. Atrybut Użytkownika 8 (type: AcString)  (RO) = -
  13. Atrybut Użytkownika 9 (type: AcString)  (RO) = -
  14. BlockId (type: AcDbObjectId)  (RO) = 233510f99f0
  15. CastShadows (type: bool) = 1
  16. Ciężar (type: AcString)  (RO) = 21.61
  17. ClassName (type: AcString)  (RO) =
  18. CollisionType (type: AcDb::CollisionType)  (RO) = 1
  19. Color (type: AcCmColor)  (LocalName: Kolor) = JAKWARSTWA
  20. Data dostawy (type: AcString)  (RO) = -
  21. Data wysyłki (type: AcString)  (RO) = -
  22. Dokładna waga (type: AcString)  (RO) = 21.61
  23. Dostawca (type: AcString)  (RO) = -
  24. Etap (type: AcString)  (RO) = -
  25. ExtensionDictionary (type: AcDbObjectId)  (RO) = 0
  26. Funkcja (type: AcString)  (RO) = Brak
  27. Handle (type: AcDbHandle)  (RO) = 2e0
  28. HasFields (type: bool)  (RO) = 0
  29. HasSaveVersionOverride (type: bool) = 0
  30. Hyperlinks (type: AcDbHyperlink*)
  31. IsA (type: AcRxClass*)  (RO) = AstBeamRepr
  32. IsAProxy (type: bool)  (RO) = 0
  33. IsCancelling (type: bool)  (RO) = 0
  34. IsEraseStatusToggled (type: bool)  (RO) = 0
  35. IsErased (type: bool)  (RO) = 0
  36. IsModified (type: bool)  (RO) = 0
  37. IsModifiedGraphics (type: bool)  (RO) = 0
  38. IsModifiedXData (type: bool)  (RO) = 0
  39. IsNewObject (type: bool)  (RO) = 0
  40. IsNotifyEnabled (type: bool)  (RO) = 0
  41. IsNotifying (type: bool)  (RO) = 0
  42. IsObjectIdsInFlux (type: bool)  (RO) = 0
  43. IsPersistent (type: bool)  (RO) = 1
  44. IsPlanar (type: bool)  (RO) = 0
  45. IsReadEnabled (type: bool)  (RO) = 1
  46. IsReallyClosing (type: bool)  (RO) = 1
  47. IsTransactionResident (type: bool)  (RO) = 0
  48. IsUndoing (type: bool)  (RO) = 0
  49. IsWriteEnabled (type: bool)  (RO) = 0
  50. Klasa konstrukcji (type: AcString)  (RO) = Brak
  51. Klasa profilu (type: AcString)  (RO) = HEA DIN 1025-3
  52. Klasa szczegółów (type: AcString)  (RO) = Brak
  53. Kod stanu zatwierdzenia (type: AcString)  (RO) = -
  54. Komentarz do zatwierdzenia (type: AcString)  (RO) = -
  55. L przekrój [%s]: (type: AcString)  (RO) = 511
  56. L system [%s]: (type: AcString)  (RO) = 511
  57. LayerId (type: AcDbObjectId)  (LocalName: Warstwa) = 233510f9c50
  58. LineWeight (type: AcDb::LineWeight)  (LocalName: Szerokość linii) = -1
  59. LinetypeId (type: AcDbObjectId)  (LocalName: Rodzaj linii) = 233510f9950
  60. LinetypeScale (type: double)  (LocalName: Skala rodzaju linii) = 20.000000
  61. LocalizedName (type: AcString)  (RO) =
  62. MaterialId (type: AcDbObjectId)  (LocalName: Materiał) = 233510f9ec0
  63. Materiał (type: AcString)  (RO) = S235JR
  64. MergeStyle (type: AcDb::DuplicateRecordCloning)  (RO) = 1
  65. Nazwa (type: AcString)  (RO) = HEA200
  66. Nr produktu (type: AcString)  (RO) = -
  67. Numer elementu pozycji (type: AcString)  (RO) = Niezdefiniowany
  68. Numer elementu wysyłkowego (type: AcString)  (RO) = Niezdefiniowany
  69. Numer polecenia zakupu (type: AcString)  (RO) = -
  70. Numer wytopu (type: AcString)  (RO) = -
  71. Numer zapotrzebowania (type: AcString)  (RO) = -
  72. Numer ładunku (type: AcString)  (RO) = -
  73. ObjectId (type: AcDbObjectId)  (RO) = 233510f1e00
  74. OwnerId (type: AcDbObjectId)  (RO) = 233510f99f0
  75. Oznaczenie (type: AcString)  (RO) = -
  76. PlotStyleName (type: AcString)  (RO)  (LocalName: Styl wydruku) = JakKolor
  77. Powłoka (type: AcString)  (RO) = Brak
  78. Predefiniowane oznacz. (type: AcString)  (RO) = -
  79. Profile (type: AcString)  (RO) = HEA200
  80. Przewoźnik (type: AcString)  (RO) = -
  81. ReceiveShadows (type: bool) = 1
  82. ShadowDisplay (type: AcDb::ShadowFlags)  (LocalName: Wyświetlanie cieni) = 0
  83. Skróć na rys. (type: AcString)  (RO) = 0
  84. Stan zatwierdzenia (type: AcString)  (RO) = Nie ustawiono
  85. Stanowisko produkcyjne (type: AcString)  (RO) = -
  86. Transparency (type: AcCmTransparency)  (LocalName: Przezroczystość) = 0
  87. Typ (type: AcString)  (RO) = Belka prosta
  88. Ufność (type: AcString)  (RO) = Brak
  89. Visible (type: AcDb::Visibility) = 0
  90. Wstępna numeracja (type: AcString)  (RO) = Niezdefiniowany
  91. End object dump

正如你所见,我可以读取更多的属性(其中大多数是RO)。
 
最后一件事。来自AC2017中心线和中心标记的新对象。使用get/setproperty比使用老式的visual/vanilla lisp更容易处理它们。
回复

举报

28

主题

317

帖子

292

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 16:23:32 | 显示全部楼层
令人惊叹的
整洁的是的,我记得我看过一个例程“用lisp”来做这个,它很长很复杂,有很多修改。也许我的记忆在玩弄我,但我认为这是李的。我不认为Getpropertyvalue是“另一种编码”tho,与你似乎认为的相反(指的是“用lisp做这件事……”),Getproperty仍然是AutoLISP函数。
 
我确实看到它与vlax get/set有一些不同,对于text属性,它肯定有一个边缘,但根据我碰巧测试它的第一个属性(IsDynamicBlock),它也有一些限制。如果没有深入的分析,我很难相信它可以获得许多其他方式无法获得的房产。我必须承认,这绝对值得进一步调查。我们在这里都学到了新东西!
 
我的感觉是它可能是扩展数据、ldata或xrecord。我很想看看这些钢构件的图纸。。。你能上传一个吗? 
谢谢DGRL!
回复

举报

46

主题

161

帖子

104

银币

后起之秀

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

铜币
242
发表于 2022-7-5 16:25:36 | 显示全部楼层
 
有很多LISP可以去除多行文字,其中一个(我认为最完善的)是李的ofc代码
 
 
不幸的是,对我来说不是这样,因为我总是在Autocad的衍生程序上测试我的Lisp,这些程序没有实现这些函数。
 
 
我必须调查IsDynamicBlock道具。无论如何,这也是我的观点,知道这些函数很好,但没有它们,我们会更有乐趣
 
 
是的,但你必须等到星期二,或者你可以看看autodesk advance steel论坛,从那里你可以下载一些文件。
回复

举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 09:02 , Processed in 2.258030 second(s), 62 queries .

© 2020-2025 乐筑天下

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