symoin 发表于 2022-7-6 10:56:10

按比例缩放文本并移动文本

海,
 
我有很多平行于多段线的文本,我必须缩放它们以减小大小,然后我必须将文本移向多段线以减小多段线和文本之间的间隙。这些多段线和文本位于不同的方向。
我正在寻找lisp代码。
 
帮助总是值得感激的。

Tharwat 发表于 2022-7-6 11:01:21

你好
你可以试试这个;
(defun c:gap (/ scalefactor input ent xcar)
(setq scalefactor(getreal(strcat "\nSpecify scale factor:")))
(setq input scalefactor)
(setq ent (car (entsel "\nSelect text: ")))
(setq xcar(cdr (assoc 10 (entget ent))))
(command "_scale" ent "" xcar input "")
(princ "CadTutor Forum")
(princ))

当做
塔瓦特

symoin 发表于 2022-7-6 11:03:42

谢谢Tharwat313,
 
当我将lisp复制到autocad 2009或将内容复制到记事本并保存为lisp并在autocad 2009中应用时,会显示错误消息。
 
(加载“d:/moin/gap.lsp”);
错误:错误的参数类型:numberp:nil
 
你能修好这个吗。
谢谢
 

Tharwat 发表于 2022-7-6 11:07:47

你好
不用担心,这是下面附带的lisp文件。
 
当做
萨尔瓦特
缺口LSP

asos2000 发表于 2022-7-6 11:11:28

这两条线的用途是什么?
 
(setq scalefactor(getreal(strcat "\nSpecify scale factor:")))
(setq input scalefactor)
 
不应该是
(setq input (getreal(strcat "\nSpecify scale factor:")))
 
strcat的用途是什么?
 

(setq input (getreal "\nSpecify scale factor:"))

或者你想把实数转换成字符串
(setq input (rtos (getreal "\nSpecify scale factor:")))
 
当做

symoin 发表于 2022-7-6 11:14:58

asos2000年
你能解决这个问题吗?我完全没有编码知识。iam请求用户提供代码。

Tharwat 发表于 2022-7-6 11:17:01

我使用strcat是因为我想添加用户输入的值
由于个人原因,我改变了主意。
 
所以这不会影响程序的性能Asooooos先生
 
塔瓦特

symoin 发表于 2022-7-6 11:19:08

所有人,
 
如果你能看看这个链接http://www.4d-technologies.com/geotools/manual/text_tools.htm.
 
我的要求与此完全相同。你能编写这样的代码吗。

Tharwat 发表于 2022-7-6 11:22:08

 
这些命令中的大多数都包含在Autocad express菜单中,因此请尝试使用它们,除特殊例程外,您将不需要任何代码。
 
当做
塔瓦特

alanjt 发表于 2022-7-6 11:27:42

为什么不使用他们提供的?实际上,编写代码很容易。只需选择文字/多行文字,定义旋转和距离,然后使用polar命令为文字/多行文字定义并放置新的插入点。
 
如。
 
页: [1] 2
查看完整版本: 按比例缩放文本并移动文本