乐筑天下

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

宏用字段替换文本

[复制链接]

238

主题

769

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1721
发表于 2015-6-1 08:38:01 | 显示全部楼层 |阅读模式
有人见过选择MTEXT然后单击将插入SheetSet标题以替换Mtext值的按钮或命令的方法吗?
谢谢

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2015-6-1 08:56:29 | 显示全部楼层
我相信您所要做的就是将文本替换为:%
%
所有字段表达式都可以在字段对话框的底部找到。
回复

使用道具 举报

51

主题

613

帖子

9

银币

中流砥柱

Rank: 25

铜币
815
发表于 2015-6-1 09:08:00 | 显示全部楼层
我不认为宏可以改变多行文字实体的值。
  1. (defun c:TextChange (/ a b)
  2.   (vl-load-com)
  3.   (while T
  4.       (setq a
  5.                  (car
  6.              (nentsel "\nSelect text or mtext entity to change")))
  7.                 (if (or a
  8.                                 (setq b(entget a))
  9.                                         (= (cdr (assoc 0 b)) "TEXT")
  10.                                         (= (cdr (assoc 2 b)) "MTEXT")
  11.                         ) ; end check
  12.         (vla-put-TextString(vlax-ename->vla-object a) "%% ")        
  13.         (princ "\n Invalid Selection")
  14.         ); end if
  15.                 ) ; end while
  16.    (princ)
  17. ); end

又快又脏。
回复

使用道具 举报

38

主题

1350

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1502
发表于 2015-6-1 09:56:03 | 显示全部楼层
或者,将该文本替换为标题栏、块…中的属性,然后将该属性设为字段…
attsync…并保存/重新保存。所有工作表都应达到所需的结果
回复

使用道具 举报

238

主题

769

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1721
发表于 2015-6-1 10:28:58 | 显示全部楼层

我确实尝试了上面的方法,我得到了著名的 (####). 当我双击该字段时,它会在对话框字段类别的左上方显示为(未知)。除此之外,它很棒。
回复

使用道具 举报

38

主题

1350

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1502
发表于 2015-6-1 10:58:22 | 显示全部楼层
这张纸是一套纸的一部分吗?
如果不是,那么人们应该期待####
回复

使用道具 举报

238

主题

769

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1721
发表于 2015-6-1 11:01:59 | 显示全部楼层
它是图纸集的一部分。我只是尝试了这个命令,保存了文件,关闭了它,然后通过图纸集管理器重新打开了图纸。还有著名的(##。CAD版本不重要,对吗?
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2015-6-1 11:15:04 | 显示全部楼层
只需快速查看一下,但实体检查永远不会在上面的代码中使用OR进行评估:
  1. (or a (setq b (entget a)) (= (cdr (assoc 0 b)) "TEXT") (= (cdr (assoc 2 b)) "MTEXT")) ; end check
相反,我会使用:
  1. (wcmatch (cdr (assoc 0 (entget a))) "*TEXT")
回复

使用道具 举报

238

主题

769

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1721
发表于 2015-6-1 11:21:38 | 显示全部楼层
感谢您查看。我想我发现了这个问题。在上面的lisp中,它要求完整的“%
%”。但是当我去编辑字段时,它将字段表达式显示为“%
%”,其中没有(\)。
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2015-6-1 11:23:11 | 显示全部楼层
使用:“%
%”
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

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

© 2020-2025 乐筑天下

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