x11start
Guest
皆さんこんにちは。
ブロック内のテキスト属性を操作する lisp をしています。
ブロックはオブジェクト(ピラーやビーム)を表し、サイズ1 x 1を持っているので、適切にスケールアップし、目的のサイズを取得することができます。
残念ながら、スケールファクターもブロックに内部属性に影響していることがわかりました。...ので、常に値を持っている必要があります。1.
属性のテキストの幅を懸念するコードは41です...しかし、私はそれを1に戻すことにいくつかの問題があります!
ここでは、以下のコードディスクです。
ent はブロック選択セットです
attr1 は属性
larat は、値 1 で "absurd" の幅 (!) を置き換えるために行く 1 よりも大きい場合は、属性のテキスト幅です。
すべてがうまくいくようです
...とentmod(またはentupd)は、変更操作を行う必要があります...。しかし、それは動作しません!
(setq attr1 (entget (entnext (cdr))))))))
(setq atpr (cdr (assoc 1 attr1)))); 属性値 (現在は1つのみ使用)
(setq larat (cdr (assoc 41 attr1))); 属性テキスト幅 (ほとんどの 1.0 の場合)
(if (> larat 1.0) ; 属性のテキスト幅が 1 よりも大きい場合
(progn; .... 1に等しい置く...
(setq attr1 (subst (cons 41 1.0) (cons 41 larat) attr1))
(entmod attr1); 変更の操作をします
)
)
誰かを助けることができますか?
ブロック内のテキスト属性を操作する lisp をしています。
ブロックはオブジェクト(ピラーやビーム)を表し、サイズ1 x 1を持っているので、適切にスケールアップし、目的のサイズを取得することができます。
残念ながら、スケールファクターもブロックに内部属性に影響していることがわかりました。...ので、常に値を持っている必要があります。1.
属性のテキストの幅を懸念するコードは41です...しかし、私はそれを1に戻すことにいくつかの問題があります!
ここでは、以下のコードディスクです。
ent はブロック選択セットです
attr1 は属性
larat は、値 1 で "absurd" の幅 (!) を置き換えるために行く 1 よりも大きい場合は、属性のテキスト幅です。
すべてがうまくいくようです
...とentmod(またはentupd)は、変更操作を行う必要があります...。しかし、それは動作しません!
(setq attr1 (entget (entnext (cdr))))))))
(setq atpr (cdr (assoc 1 attr1)))); 属性値 (現在は1つのみ使用)
(setq larat (cdr (assoc 41 attr1))); 属性テキスト幅 (ほとんどの 1.0 の場合)
(if (> larat 1.0) ; 属性のテキスト幅が 1 よりも大きい場合
(progn; .... 1に等しい置く...
(setq attr1 (subst (cons 41 1.0) (cons 41 larat) attr1))
(entmod attr1); 変更の操作をします
)
)
誰かを助けることができますか?