dnovember99 发表于 2022-7-5 15:35:32

将文本添加到现有文本

好的,我发现这个lisp例程能够在现有文本的前缀或后缀处添加文本。它还在新文本和旧文本之间添加了一个空格。
 
(旧文本3“GW的示例-此lisp(E)3”GW中的新文本)
 
有没有办法删除它正在添加的空间?
 
(defun c:PST (/ PreSuf Str ent Cstr)
(vl-load-com)
(initget "PS")
(setq PreSuf (getkword "\nChoose <Prefix>: "))
(if (not PreSuf)
   (setq PreSuf "S")
)
(while (not str)
   (setq str (getstring T "\nEnter String: "))
   (cond ((and (eq str "")
(princ "Null Input Try again")
(setq str nil)
   )
)
   )
)
(while (and (setq ent (car (nentsel "\nSelect Text/Attribute: ")))
      (member (cdr (assoc 0 (entget ent)))
       '("TEXT" "MTEXT" "ATTRIB")
      )
)
   (setq ent(vlax-ename->vla-object ent)
Cstr (vla-get-textstring ent)
   )
   (vla-put-textstring
   ent
   (if (eq PreSuf "S")
(strcat Cstr " " str)
(strcat str " " Cstr)
   )
   )
)(princ)
)

ronjonp 发表于 2022-7-5 15:41:15

(if (eq presuf "S")
(strcat cstr " " str)
(strcat str " " cstr)
)

dnovember99 发表于 2022-7-5 15:50:40

太神了谢谢你指出这一点!!这个网站太棒了

Lee Mac 发表于 2022-7-5 15:55:35

你也会发现这篇文章很有帮助。

dnovember99 发表于 2022-7-5 15:59:36

 
Mac先生!谢谢你这么做。我必须承认,你的网站总是我寻找可能有用的东西的第一个地方。
 
这是我最先读到的几本书之一,一开始我是。。。老实说,我迷失了方向,不知所措。但是,回头看几次,这肯定会有所帮助。
 
另一个注意事项是:您是否碰巧有或知道要加载到Autocad中的某些内容在打开图形时会有一个时间开始?如果你的网站上有什么东西,就说出来,我会找的。(我在那里找到了很多很酷的工具)但总而言之,谢谢你!

BIGAL 发表于 2022-7-5 16:03:50

这可能有助于打开和关闭dwg。
Productivity_Analysis_工具。lsp

Lee Mac 发表于 2022-7-5 16:13:16

 
不客气,我希望这会有所帮助。
 
 
我不知道你说的是什么意思:
 
您是指与AutoCAD中程序的计划任务等效的任务吗?

dnovember99 发表于 2022-7-5 16:14:21

 
老实说,我不确定那到底是什么。但我在想一个计时器之类的东西。原因是我的公司在每个项目上花费的时间太多了。
 
打开autocad文件时,如果文件名中有作业编号,则会将其记录到一个文件中,仅针对该作业编号或源文件夹中的任何cad文件,以便您可以更仔细地记录时间。由于每个out项目都有不同的作业编号,请记录打开autocad时使用图形名称(即文件上的作业编号)的时间。
 
这可能完全牵强,但前几天我在想这个。我有一个logitec G13键盘。我附上了一个屏幕截图的秒表是在那。我可以用它,但很难记住每次都要停下来走走。windows 10也有一个在那里,只是想它会真的很酷,有一个用于autocad。这可以记录你花在工作上的时间。

Grrr 发表于 2022-7-5 16:24:29

作为一个通用的pref/suff函数,我一直喜欢这种方法:
(defun pstxt ( p txt s )
(strcat (cond (p)("")) txt (cond (s)("")))
)

Lee Mac 发表于 2022-7-5 16:26:26

 
在我看来,用空字符串调用pstxt比提供nil更有用——考虑一下getstring在null输入上返回一个空字符串。
 
但是,似乎没有必要为单个字符串串联单独定义函数:(pstxt p txt s)与(strcat p txt s)没有什么不同
 
@dnovember99,你关于绘图时间记录系统的帖子对于这个线程来说是离题的,理想情况下应该属于一个新的线程-版主可以为你移动它们。
页: [1] 2
查看完整版本: 将文本添加到现有文本