zero

Blog ZERO

3dsout

2005-12-07 21:28:16 | AutoCAD
今まで何年もこれに悩まされてました。
Autocad→3DSMaxに持って行くときに、
3dsout書き出しでイチイチ3dsファイルを作って
Maxで合成していた。しかも、出力制限があって
データが大きいと途中でエラーになってしまう。

そこで。友人のkazumiさんが見つけてくれたうれしい情報!

リスプのヘルプより抜粋
**************************************************
3dsout
3D Studio(.3ds)ファイルを書き出します
(外部定義: render ARX アプリケーション)
(c:3dsout sset omode div smooth weld file)
引数

sset
書き出す AutoCAD オブジェクトを含んだ選択セット。

omode
AutoCAD のデータを表現するための出力モードを指定する整数(0 または 1)。 現在、3dsout 出力は、omode を 0(ゼロ)に設定しても 1 に設定しても、結果は同じです。

div
AutoCAD オブジェクトを 3D Studio オブジェクトに分割する方法を指定する整数。
使用できる値は、次のとおりです。

0 各 AutoCAD 画層に対して 1 つのオブジェクトを作成します

1 各 AutoCAD 色に対して 1 つのオブジェクトを作成します

2 各 AutoCAD オブジェクト タイプに対して 1 つのオブジェクトを作成します

smooth
自動スムージングのスレッショルド角度を指定する整数。
smooth を -1 に設定した場合、自動スムージングは行われません。
0~360 に設定した場合は、面の法線間の角度がこの値よりも
小さいときにスムージング処理が行われます。

weld
隣接する頂点を連結するための距離スレッショルドを指定する実数。
weld を 0(ゼロ)未満の値に設定した場合、連結は行われません。
0(ゼロ)以上の値に設定した場合、この値よりも近い距離にある頂点同士は
連結されます。

file
作成する 3D Studio ファイルの名前を指定する文字列。
ファイル拡張子 .3ds は必須です。


図面のすべてを書き出し、30 度のスムージング スレッショルドと 0.1 の連結距離
を使用し、画層に基づいて 3D Studio オブジェクトを作成します。

(c:3dsout (ssget "X") 0 0 30 0.1 "testav.3ds")
*******************************************************************

ということで(ssget "x")はすべて選択なのでそこを
(ssget)に変えれば自分で選択できるそうなので
acrender.arxをツールのAutoLispでスータトアップに登録して
以下のボタンを作成!

(c:3dsout (ssget) 0 0 30 0.00001 "3DS_OUT.3ds")

これで一気に3dsoutができました

最新の画像もっと見る

コメントを投稿