Glen Smith 发表于 2022-7-5 17:21:20

注释性文字转换

有人有LISP帮助将注释性文本更改为非注释性文本吗?我可以快速选择并更改样式,但我希望能够根据注释性文本的“模型文本高度”值设置每一位文本的文本高度。
 
我们的办公室已经购买了一些AutoCAD FreeStyle许可证,允许我们的技术人员创建现场检查和现场调查,并至少将初稿输入CAD,而不是在填塞的餐巾纸上乱涂乱画。这很好。
 
自由泳有一些问题和限制,我必须处理一旦我得到这些图纸虽然。我没有把自由泳弄得一团糟,看看是否有办法解决这个问题。我正在绘制的图形中有文字,但FreeStyle似乎使用注释性文字来调整大小。因此,一旦图纸最终打印出来,它们的比例很少适合注释性特征。
 
格伦
PS编辑:
目前,我正在处理它,将标题栏插入模型空间,缩放它,并根据Mspace进行绘图,但我对此并不满意。(上传示例)
自由泳anno txt。图纸

alanjt 发表于 2022-7-5 17:26:48

似乎你在破坏注释性文本的目的。
 
Command: CHANGE

Select objects: Specify opposite corner: 2 found

Select objects:
Specify change point or : P

Enter property to change
: A

Make Annotative? <Yes>:

Enter property to change

Glen Smith 发表于 2022-7-5 17:31:22

是的,这正是我想要做的——删除注释性文本。不管是好是坏,我们在主图形中没有使用注释性文字。但是,只需将其更改为具有大小的非注释性螺钉。我注意到,注释性文字的属性之一是在模型空间和图纸空间中显示的大小。我要做的是逐步遍历所有注释性文字,查询其在模型空间中显示的大小,将其设置为非注释性,并将文字高度设置为该大小。
 
是否有LISP命令可以回显选定多行文字的所有属性?

alanjt 发表于 2022-7-5 17:35:54

正如我在上面展示的那样,只需使用CHANGE。如果它是注释性的,它会将其更改为非注释性,并保持大小不变。

Lee Mac 发表于 2022-7-5 17:39:37

我自己从来没做过,但用艾伦的指示。。。
 

(defun c:test ( / ss )
(if (setq ss (ssget "_X" '((0 . "TEXT,MTEXT"))))
   (command "_.change" ss "" "_P" "_A" "_No" "")
)
(princ)
)

alanjt 发表于 2022-7-5 17:41:14

那会有用的。我有时使用CHANGE将非注释性文本(取自旧图形)转换为注释性文本。

Glen Smith 发表于 2022-7-5 17:46:03

我尝试使用change命令,结果如下:左侧原始,右侧更改:

David Bethel 发表于 2022-7-5 17:51:20

使用change命令获得以下信息:
 
 
来自A2K帮助
 
-大卫

Glen Smith 发表于 2022-7-5 17:53:21

我希望它是那么简单,但在上面的“好”版本的左下角四分之一处可以看到ucs图标。与文本平行。

alanjt 发表于 2022-7-5 17:57:58

??
(defun c:Test (/ ss)
(if (setq ss (ssget "_:L" '((0 . "MTEXT,TEXT"))))
   ((lambda (i / e)
      (while (setq e (ssname ss (setq i (1+ i))))
      (if (entmakex (vl-remove-if
                        (function (lambda (x) (vl-position (car x) '(-1 102 330 360))))
                        (entget e)
                      )
            )
          (entdel e)
      )
      )
    )
   -1
   )
)
(princ)
)
页: [1] 2
查看完整版本: 注释性文字转换