• このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

entmod と entupd を "update" に使うと、属性の値が

  • Thread starter Thread starter x11start
  • Start date Start date

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); 変更の操作をします
)
)

誰かを助けることができますか?
 
x11を言い訳しますが、なぜ条件がなければそれを拘束しますか?
固定値 (1) を設定し、部分を補う

(setq larat (cdr 41 attr1))) (setq larat (cdr 41 attr1)))
(setq larat2 (cons '41 1.0)))
(setq attr1 (subst larat2 larat attr1)))

時々cmq entmod/entupdは何もしないようですが、なぜか分かりません。
時々 私は新しいエンテデルattr1(setq attr2 crd attr1)(entmake attr2)を作成することを好みます

なので、構文をテストしなかったので、libsがなかった。
 
お問い合わせ クリスタルガラス
明日のアドバイスを追っていきましょう。その後、再出席します。
 
私の努力の結果はここにあります:
test.dwgファイルには2つの柱と1つのビームが2dと3dの両方で表されています。

基本的にはユニット値のブロックです。これは慣習によって、名前の最初の文字と区別するために設立しました。ブロック2dと3dの%。

これらのブロックは、プレハブの柱と梁の幾何学をビルドすることができます。単にさまざまな軸+ 1属性に正確な値を指定することによって。

このようにして、50 x 60の高い600の柱をつくり、x y と z のブロック 2d に値を置くことができます。 コースブロック2dは、長方形50×60のみを表し、高さ600は何も変更しません。 2d3d lisp は 2d ブロックを 3d ブロックに置き換えます。この点では z 軸値が柱の高さを与えることができます。

属性はオブジェクトのジオメトリを変更しないが、クォータを割り当てるのではなく、これは特に棚とビームのために有効です。 これらの要素の属性は見つかります。つまり、libs で問題点をいくつか作成しました: ビームの x 軸に 450 cm の値を差し込みます。 属性は "stirating" でした。

私はこの値(クリスタルの助けを借りてありがとう!)を「normalize」する方法を見つけました。そして今私は簡単に3dとその逆に私の2dのデザインを変換することができます。
コマンドがオブジェクトをビット2dと少し3dが見つかられば、何をすべきか尋ねます。 %または&で起動しないブロックは無視されます。

私はこれが私の業界に非常に「マイレート」使用であることを認識していますが、誰かにインスピレーションを与えるのに役立つかもしれないと思います。

lisp では、フルスクリーンリクエストメッセージを表示するための責任である message.lsp もロードされます。... これらは "cecati" のアンダーサインのようなものです。

2dを3dと逆に回し、新しい使用を発明するために楽しんでください!
 

Attachments

悪すぎると、私には何もしません。 お問い合わせ
2d3dおよび流れと、および選択と両方
しかし、「未定義関数」ではなく、エラーメッセージはありません。
何かをタイプしなかったら、
 
多分私は理解しました: message.lsp も lisp をロードし、おそらくそれを見つけることができません “ビーム!”. 最近、私はモジュールに lisp を分割しようとしています... しかし、私はフォーラムでそれらを共有している場合は、明らかにそれらを提供する必要があります!
メッセージセクション (command x11:message) を無効にして、動作するかどうかを確認します。 帰宅すると、欠落したフォームが届きます!
 

Forum statistics

Threads
46,674
Messages
380,976
Members
2
Latest member
loop80
このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

Members online

No members online now.
Back
Top