suryacad 发表于 2022-7-5 20:22:53

将Autocad中的Word分解为ind

分解多个单词
分解后,单词应拆分为
W=单个字符
O=个性等等。
 
谢谢

suryacad 发表于 2022-7-5 20:32:41

谢谢你的引导
http://www.eng-tips.com/viewthread.cfm?qid=95572
但是,lisp在Autocad 2012-Start命令中使用XTEXT返回错误。;错误:输入列表格式不正确
我需要它在一张乱七八糟的图纸上做一些数字和单词排序。

Tharwat 发表于 2022-7-5 20:36:51

 
这意味着例程需要一个紧括号,在该程序中,它需要位于程序的末尾。

suryacad 发表于 2022-7-5 20:39:00

 
谢谢塔瓦。
 
; TIP #637 XTEXT.LSP By Ashoke Bhattacharya CADalyst Magazine March 1991
; ------------------------------------------------------------------------
; DESCRIPTION:Explodes a line of text into its component letters.
; ------------------------------------------------------------------------
(princ "\nStart command with XTEXT.")(graphscr)(princ)
; ------------------------------------------------------------------------
(defun C:XTEXT ()
(setvar "CMDECHO" 0)
(setq A1 (entget (car (entsel
   "\nSelect text: "))))
(setq A2 (cdr (assoc -1 A1)))
(command "ERASE" A2 "")
(setq A (cdr (assoc 1 A1)))
(setq SP (cdr (assoc 10 A1)))
(setq HT (cdr (assoc 40 A1)))
(setq B (strlen A))
(setq B1 1)
(repeat B
   (setq C (substr A B1 1))
   (command "TEXT" SP HT 0 C)
   (setq B1 (+ B1 1))
   (setq HT1 HT)
   (if (= 108 (ascii C))
   (setq HT1 (/ HT 2)))
   (if (= 105 (ascii C))
   (setq HT1 (/ HT 3)))
   (if (= 73 (ascii C))
   (setq HT1 (/ HT 1.5)))
   (setq SP (polar SP 0 HT1))
)
(redraw)
(princ)
)
 
现在错误停止了,但它将任何单词分解为ooooo,并且文本的位置也发生了变化。任何一种变通方法都可以将单词分解成单个字符并保持在同一位置。
谢谢

pBe 发表于 2022-7-5 20:47:40

 
再说一遍怎么样?O的?让我们看看你的绘图文件,这样我们就可以知道为什么它会这样做。

ReMark 发表于 2022-7-5 20:51:16

它在我运行AutoCAD 2015的系统上工作,使用标准文本样式(font=Arial)。

BIGAL 发表于 2022-7-5 20:53:56

这是另一个尝试效果很好的方法https://apps.exchange.autodesk.com/ACD/en/Detail/Index?id=appstore.exchange.autodesk.com%3AText-到几何体%3Aen

pBe 发表于 2022-7-5 20:58:06

这是很酷的比格尔,仍然不明白为什么行动最终与一堆的O。

ReMark 发表于 2022-7-5 21:03:22

他测试lisp例程的单词是“Cherrios”:大声笑:

BIGAL 发表于 2022-7-5 21:12:49

我发布了一个分解文本到元素T2G,但OP只需要单个字符。
文本的问题是它是紧排的,看AW,W的顶部非常接近A的底部。如果你使用文本样式Mono。shx它有固定的间距,每个字符都是相同的宽度,要分解文字可能还不错,一些组合的宽度会增加。您可以编写自己的紧排并调整下一个字符的间距。
页: [1] 2
查看完整版本: 将Autocad中的Word分解为ind