乐筑天下

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

[编程交流] 块编辑和旋转lisp req

[复制链接]

32

主题

131

帖子

99

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2022-7-5 15:56:45 | 显示全部楼层 |阅读模式
嗨,朋友们,
我需要一个lisp文件将块转换为所需格式的文本(如附图所示)。实际上,我的绘图中有很多块,都要转换为下图所示的格式,之前我正在手动执行以下步骤
1、块编辑
2.在块编辑器中删除下面的青色线和文本,
3、将字体高度更改为2.0,样式为Arial
4、退出块编辑器
5.使用ATTSYNC命令反映所有块中所做的更改,
6.选择相似的所有块并旋转到0度。
 
另附。有了这个,请帮帮我。
 
谢谢
Amb。
165656ozzquqlxwcmsdl7q.jpg
注释重新排列。图纸
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:05:21 | 显示全部楼层
  1. (defun c:foo (/ a p s)
  2. (if (setq s (ssget '((0 . "insert") (2 . "SITE_ANNO") (66 . 1))))
  3.    (foreach b (vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))
  4.      (and (setq p (cdr (assoc 10 (entget b))))
  5.    (setq a (vl-some '(lambda (x)
  6.                        (if (= "ADRESSE" (vla-get-tagstring x))
  7.                          (vla-get-textstring x)
  8.                        )
  9.                      )
  10.                     (vlax-invoke (vlax-ename->vla-object b) 'getattributes)
  11.            )
  12.    )
  13.    (entmake (list '(0 . "TEXT")
  14.                   '(100 . "AcDbEntity")
  15.                   '(67 . 0)
  16.                   '(8 . "SITE_ANNO")
  17.                   '(62 . 1)
  18.                   '(6 . "ByBlock")
  19.                   '(100 . "AcDbText")
  20.                   (cons 10 p)
  21.                   '(40 . 2.0)
  22.                   (cons 1 a)
  23.                   '(50 . 0.0)
  24.                   '(41 . 1.0)
  25.                   '(51 . 0.0)
  26.                   '(7 . "Style-Arial")
  27.                   '(71 . 0)
  28.                   '(72 . 1)
  29.                   (cons 11 p)
  30.                   '(100 . "AcDbText")
  31.                   '(73 . 0)
  32.             )
  33.    )
  34.    (entdel b)
  35.      )
  36.    )
  37. )
  38. (princ)
  39. )
回复

使用道具 举报

32

主题

131

帖子

99

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2022-7-5 16:17:04 | 显示全部楼层
 
 
 
嗨,Ronjonp,
出色的工作,它使我们的工作如此简单,非常感谢您的帮助:)我对您的lisp工作非常满意
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:26:07 | 显示全部楼层
 
很乐意帮忙
回复

使用道具 举报

32

主题

131

帖子

99

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2022-7-5 16:32:25 | 显示全部楼层
嗨,Ronjonb,
在同一个lisp上还有一个帮助,我尝试将字体样式改为“Arial Black”而不是“Arial”,但它不起作用,你能帮我检查一下吗?
 
谢谢
电磁轴承
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:34:20 | 显示全部楼层
也许是这个?
  1. (defun c:foo (/ a p s)
  2. (entmakex '((0 . "STYLE")
  3.       (100 . "AcDbSymbolTableRecord")
  4.       (100 . "AcDbTextStyleTableRecord")
  5.       (2 . "ArialBlack")
  6.       (70 . 0)
  7.       (40 . 0.0)
  8.       (41 . 1.0)
  9.       (50 . 0.0)
  10.       (71 . 0)
  11.       (42 . 0.125)
  12.       (3 . "ariblk.ttf")
  13.       (4 . "")
  14.      )
  15. )
  16. (if (setq s (ssget '((0 . "insert") (2 . "SITE_ANNO") (66 . 1))))
  17.    (foreach b (vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))
  18.      (and (setq p (cdr (assoc 10 (entget b))))
  19.    (setq a (vl-some '(lambda (x)
  20.                        (if (= "ADRESSE" (vla-get-tagstring x))
  21.                          (vla-get-textstring x)
  22.                        )
  23.                      )
  24.                     (vlax-invoke (vlax-ename->vla-object b) 'getattributes)
  25.            )
  26.    )
  27.    (entmake (list '(0 . "TEXT")
  28.                   '(100 . "AcDbEntity")
  29.                   '(67 . 0)
  30.                   '(8 . "SITE_ANNO")
  31.                   '(62 . 1)
  32.                   '(6 . "ByBlock")
  33.                   '(100 . "AcDbText")
  34.                   (cons 10 p)
  35.                   '(40 . 2.0)
  36.                   (cons 1 a)
  37.                   '(50 . 0.0)
  38.                   '(41 . 1.0)
  39.                   '(51 . 0.0)
  40.                   '(7 . "ArialBlack")
  41.                   '(71 . 0)
  42.                   '(72 . 1)
  43.                   (cons 11 p)
  44.                   '(100 . "AcDbText")
  45.                   '(73 . 0)
  46.             )
  47.    )
  48.    (entdel b)
  49.      )
  50.    )
  51. )
  52. (princ)
  53. )
回复

使用道具 举报

32

主题

131

帖子

99

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2022-7-5 16:42:11 | 显示全部楼层
 
 
 
嗨,Ronjonp,
这正是我想要的,你的工作很完美。
非常感谢你的帮助!!!
 
当做
电磁轴承
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:56:14 | 显示全部楼层
很乐意帮忙
回复

使用道具 举报

32

主题

131

帖子

99

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2022-7-5 16:59:48 | 显示全部楼层
 
 
嗨,Ronjonp,
类似的另一块我试图修改你给定的lisp,但它没有发生,我可以把它作为一个新的职位?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 19:52 , Processed in 0.423996 second(s), 73 queries .

© 2020-2025 乐筑天下

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