乐筑天下

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

[编程交流] 删除图形中的属性(n

[复制链接]

20

主题

81

帖子

61

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 10:07:24 | 显示全部楼层 |阅读模式
所以我有一个库,里面充满了导出的块(wblock)
现在,我想用零件名称为这些块添加一个属性,以便使用eattext。(因为我们使用2d块,并且它们有多个视图,所以我无法使用块名称)
由于我不是在块中工作,而是在导出块的dwg文件中工作。我不能使用任何标准的属性LISP。我甚至不能使用attedit,因为这也需要一个块。
所以当我写这篇文章的时候,我自己想出来了,下面是代码:
要在块编辑器中向图形或块的中心添加属性,请执行以下操作:
  1. (command "-Attdef" "I" "P" "L" "" "partnr" "enter part number" "partnr" "style" "style1" (getvar "viewctr") "0")

要删除旧属性(我修改了块删除例程):
  1. (defun C:delblk3 (blk / SS FILTER SSLEN ENT)
  2.   (progn
  3.   (setq        FILTER (list (cons 0 "ATTDEF")
  4.              (cons 2 blk)
  5.        )
  6. SS     (ssget "_X" FILTER)
  7. )
  8. (if SS
  9.    (progn
  10.      (vl-load-com)
  11.      (repeat (setq SSLEN (sslength SS))
  12. (vlax-invoke-method (vlax-ename->vla-object (ssname ss (setq SSLEN (1- SSLEN)))) 'Delete)
  13.      )
  14.    )
  15. )
  16.   )
  17. )
  18. (c:delblk3 "partnr") ;; call it with this line.

分享它,因为90%是从这里无论如何,我希望有人觉得它有帮助
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 21:24 , Processed in 0.368086 second(s), 65 queries .

© 2020-2025 乐筑天下

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