suryatry26 发表于 2022-7-6 06:53:00

线路长度需要更新

您好,请查看所附图片。我想选定的行长度需要更新一个新的文本。如果我选择一条直线或多段线,则意味着一个新文本附带了行长度值。。我希望线路长度值介于“-XXXXX LG”之间(这里XXXX是选定的行长度值)&文本应放在“长度”层上。请任何人帮忙。。

MSasu 发表于 2022-7-6 07:21:49

不确定明白-你想要数字部分反映线的实际长度(它们被延长或缩短)或只是添加“LG”后缀?

suryatry26 发表于 2022-7-6 07:34:40

是的,我想用文本前缀为“-”和后缀为“L.G.”来更新实际的行长度

MSasu 发表于 2022-7-6 07:51:13

你可以从这里开始:
(defun c:test( / ssetLine ssetText assocLine assocText )
(while (and (not (prompt "\nSelect line to check: "))
            (setq ssetLine (ssget "_:S:E" '((0 . "LINE"))))
            (not (prompt "\nSelect associated label: "))
            (setq ssetText (ssget "_:S:E" '((0 . "TEXT")))))
(setq assocLine (entget (ssname ssetLine 0))
       assocText (entget (ssname ssetText 0)))

(entmod (subst (cons 1 (strcat "-"
                              (rtos (distance (cdr (assoc 10 assocLine))
                                                (cdr (assoc 11 assocLine))) 2 0)
                              " LG"))
                (assoc 1 assocText)
                assocText))
)
(princ)
)

suryatry26 发表于 2022-7-6 07:53:20

嗨,Mircea,它工作得很好。真的,我想说声谢谢是否可以为标签更新创建新文本?因为现在它只使用现有文本(标签)更新。它现在不支持多段线。它仅适用于线路。
页: [1]
查看完整版本: 线路长度需要更新