Balji 发表于 2022-7-6 06:51:20

match te需要LISP程序

所有我需要一个LISP程序匹配文本属性。
我喜欢用罗马语改变所有文字的大小和风格。txt尺寸3/32英寸,宽度因子。85、一键点击。
 
请帮忙。

Tharwat 发表于 2022-7-6 06:58:33

文字高度是多少毫米?

pBe 发表于 2022-7-6 06:58:59

 
这怎么可能是“匹配文本属性”Balji?
 
现在,如果你想把所有文字的高度改为3/32英寸,宽度改为0.85英寸
 
(defun c:BaljiEverybody(/ ss i e)
   (if
         (setq ss (ssget "_x" '((0 . "TEXT,MTEXT"))))
                (repeat (setq i (sslength ss))
                      (setq e (vlax-ename->vla-object
                                    (ssname ss (setq i (1- i)))))
                      (mapcar '(lambda (k j)
                                     (vl-catch-all-error-p
                                           (vl-catch-all-apply
                                                 'vlax-put
                                                 (list e k j))))
                              '("Height" "ScaleFactor")
                              '(0.094 0.85))
                      )))
 
 
欢迎回到塔尔瓦特
 
编辑:同时更改文字样式
 

....
(mapcar '(lambda (k j)
                                     (vl-catch-all-error-p
                                           (vl-catch-all-apply
                                                 'vlax-put
                                                 (list e k j))))
                              '("Height" "ScaleFactor" "StyleName")
                              '(0.094 0.85 "Romans"))
...

 
我认为你想要强制这些值的原因是有一些文本属性是“捏造的”

Tharwat 发表于 2022-7-6 07:05:04

 
非常感谢pBe对我的朋友的欢迎。
 
现在试试这个草稿。
 

Removed

Tharwat 发表于 2022-7-6 07:08:14

pBe,既然if函数不支持true或false检查,那么例程中需要函数Vl-catch-all-error-p吗?

Balji 发表于 2022-7-6 07:11:27

 
大师:震惊:
 
感谢上帝,你理解我的问题。否则我必须打电话给你寻求帮助哎呀:我收到了一张满是多文本的表格。E、 g.具有多样式文本(罗马)123(罗马)456的一个值。
 
一个接一个地编辑是非常困难的。首先我想打电话给你这个问题,但后来我选择了这个论坛。很高兴再次在Lisp中看到我的名字。
 
非常感谢你的帮助。和往常一样。

pBe 发表于 2022-7-6 07:14:55

 
原因:锁定层
层被锁定是有原因的,我将“解锁”留给用户。

pBe 发表于 2022-7-6 07:18:06

 
很高兴它对你有用。还有其他方法可以修复“fudge”文本属性。如果你需要更多帮助,请大声呼喊,或者在我的电子邮件中给我发消息。我就在附近
 
别惹麻烦Balji
 
干杯

Tharwat 发表于 2022-7-6 07:23:25

 
据我所知,vl-catch-all-apply可以传递可能发生的任何错误,例如锁定层,如果错误发生在本例中不需要的位置,vl-catch-all-error-p将返回T,只是想知道。

Balji 发表于 2022-7-6 07:26:31

给我看看其他的方法
 
 
页: [1] 2
查看完整版本: match te需要LISP程序