乐筑天下

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

[编程交流] 如何获取现有标签名称

[复制链接]

46

主题

92

帖子

45

银币

后起之秀

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

铜币
235
发表于 2022-7-5 16:04:28 | 显示全部楼层 |阅读模式
如何使用visuallisp获取图形中存在的标签名称。
170428adszs8pbh7c8o3zc.jpg
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-5 16:17:32 | 显示全部楼层
看这里
回复

使用道具 举报

46

主题

92

帖子

45

银币

后起之秀

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

铜币
235
发表于 2022-7-5 16:34:12 | 显示全部楼层
谢谢Commandobill。
我修改了这个论坛的一些代码。
也许有人会用它。
该程序仅适用于Civil 3D 2014,但这不是问题。
  1. (prompt "\ncglab")
  2. (vl-load-com)
  3. (defun c:cglab (/ C3Ddoc ptlblstyles styl lst)
  4. (setq C3Ddoc (vla-get-activedocument (vla-getinterfaceobject (vlax-get-acad-object) "AeccXUiLand.AeccApplication.10.3")))
  5. (setq ptlblstyles (vlax-get C3Ddoc 'pointlabelstyles))
  6. (vlax-for styl ptlblstyles
  7.    (print (vlax-get styl 'name))
  8.    (setq lst (cons (vlax-get styl 'name) lst))
  9.    )
  10. (print lst)
  11. (princ)
  12. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:40:22 | 显示全部楼层
这里有一种获取版本的方法。你想做什么?玩弄这些风格会变得很复杂,有些你想要的东西并没有放在你认为应该放的地方。
 
  1. ;vercheck.lsp  version check for *aecc objects
  2. (defun ah:vercheck ( / vrsn appstr)
  3. (vl-load-com)
  4. (if ((lambda (vrsn)
  5.        (cond
  6.         ((vl-string-search "R17.2" vrsn) (setq appstr "6.0")) ;09
  7.         ((vl-string-search "R18.0" vrsn) (setq appstr "7.0")) ;10
  8.         ((vl-string-search "R18.1" vrsn) (setq appstr "8.0")) ;11
  9.         ((vl-string-search "R18.2" vrsn) (setq appstr "9.0")) ;12 ?
  10.         ((vl-string-search "R19.0" vrsn) (setq appstr "10.0")) ;13
  11.         ((vl-string-search "R19.1" vrsn)(setq appstr "10.3"));;2014
  12.         ((vl-string-search "R20.0" vrsn)(setq appstr "10.4"));;2015
  13.         ((vl-string-search "R20.1" vrsn)(setq appstr "10.5"));;2016     
  14.         ((vl-string-search "R21.0" vrsn)(setq appstr "11.0"));;2017  
  15. ((vl-string-search "R22.0" vrsn)(setq appstr "12.0"));;2018   
  16. ((alert "This version of C3D not supported!"))
  17.        )
  18.       )
  19.       (vlax-product-key)
  20.      )                         ; end if condition progn is true
  21.      (progn
  22.        (cond (*AeccDoc*)
  23.          ((setq *AeccDoc*
  24.            (vlax-get
  25.              (cond (*AeccApp*)
  26.                ((setq *AeccApp*
  27.                  (vla-getinterfaceobject
  28.                     (cond (*Acad*)
  29.                     ((setq *Acad* (vlax-get-acad-object)))
  30.                     )
  31.                     (strcat "AeccXUiLand.AeccApplication." appstr)
  32.                  )
  33.                 )
  34.                )
  35.              )
  36.              'ActiveDocument
  37.            )
  38.           )
  39.          )
  40.        ) ; end main cond
  41.      ) ; end progn
  42. ) ; end if vsrn
  43. )

 
你可能对此感兴趣。
CH点样式。拉链
Chtourstolbar。拉链
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:47:48 | 显示全部楼层
这是获取版本的另一种方法(杰夫M)
回复

使用道具 举报

46

主题

92

帖子

45

银币

后起之秀

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

铜币
235
发表于 2022-7-5 16:55:43 | 显示全部楼层
谢谢你的帮助。
谢谢你的节目。
我还需要一个信息。如何将标签设置为无?
如果未设置任何标签。
  1. (vlax-get-property (vlax-ename->vla-object (car (entsel))) 'LabelStyle)

回报:零
如果设置了任何标签。
  1. (vlax-get (vlax-get-property (vlax-ename->vla-object (car (entsel))) 'LabelStyle) 'Name)

返回例如:“仅点编号”
 
将标签设置为nil将返回错误。
  1. (vlax-put-property (vlax-ename->vla-object (car (entsel))) 'LabelStyle nil)

如何将标签设置为无?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:07:38 | 显示全部楼层
看看这个。您可以更改“点组”样式,而不是实体。这就是我在别处看到的改变一些东西。实体显示正在使用的样式。
CH点样式。拉链
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:08 , Processed in 0.547988 second(s), 70 queries .

© 2020-2025 乐筑天下

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