乐筑天下

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

[编程交流] 添加修改文本b的例程

[复制链接]

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:17:21 | 显示全部楼层 |阅读模式
大家好,
 
我不知道最好的方式来解释我在寻找什么-但我想有一个LISP例程,将复制和替换文本。
 
我是一名钢铁详图设计师,最近我们从一个AutoCAD附加软件包切换到另一个。原始软件包能够复制自身下方的文本,然后用新文本替换复制的文本(大小、样式相同……并将其复制到现有文本下方的标准距离)。在标注尺寸时,此功能非常方便。
 
请参阅所附图片的例子…
 
新文本复制到现有文本下方的距离将与文本高度(样式)成比例。
 
非常感谢你的帮助。
 
Ps。。。我认为还值得注意的是,它将是预定义的文本,添加到现有文本的下方。所以可能有一系列命令。。。例如,命令“TYP”将添加文本“TYP”,“EQ”将添加“==”,等等。。。
 
101726jsxh5oxza5bohg6g.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:27:01 | 显示全部楼层
在维度上使用DDEdit,然后使用XTYP或XREF如何
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:28:47 | 显示全部楼层
李,谢谢你的回复。。
 
你能详细说明一下这个回答吗?X的功能是什么?我怎么用呢?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:35:11 | 显示全部楼层
编辑标注时,您正在修改标注的文字替代内容。
 
表示此替代字符串中的尺寸测量值,X将在尺寸线下方放置其后的任何文本。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:44:15 | 显示全部楼层
哇,太棒了。非常感谢李的帮助和快速反应。
 
我知道需要将“\X”输入写入例程,而不是简单地将其添加到autoCAD中?(否则,“”将显示为维度文本的一部分?)
 
实际上,我刚刚找到了一个例程,它将完全满足我的需要——使用与您描述的相同的方法。
 
  1. (Defun c:fieldverify ()
  2. (setq newdim (entsel "\n Select Dimension to Add FIELD VERIFY to:"))
  3. (setq newdimvalue "<>\\X FIELD VERIFY")
  4. (command "dimedit" "n" newdimvalue newdim "")
  5. (princ)
  6. )

 
http://www.archidigm.com/lounge/autocad%20tips/adding_text_to_dimensions.htm
 
再次感谢你的帮助。
 
干杯
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:45:17 | 显示全部楼层
文本覆盖可以手动键入或在程序中使用。
 
举几个例子:
 
  1. (defun c:test1 ( / e )
  2. (if
  3.    (and
  4.      (setq e (car (entsel "\nSelect Dimension: ")))
  5.      (wcmatch (cdr (assoc 0 (setq e (entget e)))) "*DIMENSION")
  6.    )
  7.    (entmod (subst (cons 1 "<>\\XTYP") (assoc 1 e) e))
  8. )
  9. (princ)
  10. )

可能有打字错误,因为我刚刚在手机上输入了代码。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 09:55:06 | 显示全部楼层
太好了,再次感谢李的帮助。
 
这些例程中有哪一个可以在dtext或mtext上工作?我主要使用这些例程在维度上运行,但也希望在普通文本上使用它们。
 
再次感谢你抽出时间,朋友。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 10:00:01 | 显示全部楼层
而且是否可以在维度下方添加多行注释?
 
这样地。。。
 
101727e6eg6ksxy21sg131.jpg
 
再次感谢。
回复

使用道具 举报

VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-6 10:05:00 | 显示全部楼层
  1. 3
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:10:19 | 显示全部楼层
 
您可以使用“\\P”字符串在多行文字字符串的末尾插入新行,但是,对于DText,您需要在根据选定DText的文字高度和行距因子(如1.5)计算的原始距离以下创建一个新的DText对象。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 02:50 , Processed in 0.374570 second(s), 75 queries .

© 2020-2025 乐筑天下

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