乐筑天下

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

[编程交流] 多引线的块描述

[复制链接]

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:04:52 | 显示全部楼层 |阅读模式
嗨,设计师们,
 
我希望有一个lisp可以读取一个块的描述,并在多重引线上显示它,这样你就不必在块注册后键入文本。
 
我知道这个话题以前在一篇更老的帖子中有过——大约10年前——但我花了几个小时以不同的方式尝试Lisp,仍然无法100%地实现。
 
http://www.cadtutor.net/forum/showthread.php?39301-块到多重引线文本
 
有人能解决这个问题吗?
回复

使用道具 举报

15

主题

315

帖子

361

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 15:13:19 | 显示全部楼层
以下是我写的:
-客户端选择一个块(我假设它有一个描述,我假设客户端单击一个块…没有反虚拟保护)
-客户现在必须绘制多重引线:两点:箭头+引线
-例程将填充标题,作为块的描述。
 
命令:SAD(可能是双关语,尽管它只是一个缩写)
 
  1. (defun getBlockProperties ( #Entsel / )
  2.      (setq #Entsel   (vlax-ename->vla-object (car #Entsel))
  3.            ;; insertion point
  4.            #InsPoint (vlax-safearray->list
  5.                        (vlax-variant-value
  6.                          (vla-get-InsertionPoint #Entsel)
  7.                        ) ;_ vlax-variant-value
  8.                      ) ;_ vlax-safearray->list
  9.            ;; block name
  10.            #Name     (vla-get-name #Entsel)
  11.            ;; block description
  12.            #Desc     (vla-get-comments
  13.                        (vla-item
  14.                          (vla-get-blocks
  15.                            (vla-get-activedocument (vlax-get-acad-object))
  16.                          ) ;_ vla-get-blocks
  17.                          #Name
  18.                        ) ;_ vla-item
  19.                      ) ;_ vla-get-comments
  20.      ) ;_ setq
  21. (list #Name #InsPoint #Desc)
  22. )
  23. ;; create Mleader with caption.
  24. (defun wmt (caption / )
  25. ;;(vl-cmdf "_.MLEADER" PAUSE PAUSE "" "_.TEXTEDIT" "_L")
  26. (vl-cmdf "_.MLEADER" PAUSE PAUSE  caption)
  27. )
  28. ;; Select And get Description
  29. (defun c:sad ( / desc)  
  30. (setq desc (nth 2 (getBlockProperties (entsel "\nSelect a block: "))))
  31. (princ "\nNow draw the MLeader:\n")
  32. (wmt desc)
  33. (princ)
  34. )

 
对这个满意吗?
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:24:33 | 显示全部楼层
几乎
 
它标识描述,但不会填充标题。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 15:27:27 | 显示全部楼层
我想这是最简单的。
 
  1. (defun c:d2ml ( / s d)
  2. (and (princ "\nPick a block :")
  3.       (setq s (ssget "_+.:S:E" '((0 . "INSERT"))))
  4.       (or (setq d (cdr (assoc 4 (entget (tblobjname "BLOCK" (cdr (assoc 2 (entget (ssname s 0)))))))))
  5.           (alert "Block does not have a description <!>")
  6.           )
  7.       (vl-cmdf "_.Mleader" "\" "\" d)
  8.       )
  9. (princ)
  10. )
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:33:42 | 显示全部楼层
相同的结果。
 
我不知道为什么它不在描述中。。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 15:38:39 | 显示全部楼层
 
你能贴一张包括区块的图纸吗?
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:46:08 | 显示全部楼层
见附件。
测验图纸
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 15:53:20 | 显示全部楼层
就这样,让我知道。
  1. (defun c:d2ml ( / s d l n e)
  2. (and (princ "\nPick a block :")
  3.       (setq s (ssget "_+.:S:E" '((0 . "INSERT"))))
  4.       (or (setq d (cdr (assoc 4 (entget (tblobjname "BLOCK" (cdr (assoc 2 (entget (ssname s 0)))))))))
  5.           (alert "Block does not have a description <!>")
  6.           )
  7.       (setq l (entlast))
  8.       (vl-cmdf "_.Mleader" "\" "\" "")
  9.       (and (not (= l (setq n (entlast))))
  10.            (entmod (subst (cons 304 d) (assoc 304 (setq e (entget n))) e))
  11.            )
  12.       )
  13. (princ)
  14. )
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:00:24 | 显示全部楼层
你是传说中的塔尔瓦特!!
 
它工作得很好,非常感谢!
 
伊曼纽尔,你试一试,我很感激。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:06:28 | 显示全部楼层
谢谢你的好话AlexP。
 
随时欢迎你。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 00:44 , Processed in 2.283425 second(s), 72 queries .

© 2020-2025 乐筑天下

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