2018年2月17日土曜日

いろいろな形式のファイル(3)

その他のファイル形式

前回、AutoCADが対応していないのは、STL、SKP、IFC、RVM、VRMLと述べましたが、これらのファイルはどうしたらいいでしょうか?(SKP-スケッチアップはRevitで直接読み込めるので除外します。)

STL

STL→コンバータ→DXF

AutoCADではSTL形式のファイルを読み込むことができません。STLはいろいろなフリーの変換ソフトがありますが、以下のサイトを使ってDXFに変換するとよいでしょう。

CAD FORUM STLtoDXF Converter

たとえば、Thingiverseで取得した下のようなSTLファイルを、
STLファイル
上記サイトで変換し、DXFにしてRevitに取り込むと下の図のようにキレイに取り込めます。
Revitのファミリに取り込んだSTLを変換したDXFファイル

PCで変換する場合

Webにデータを出したくない場合は、PCで変換しなければなりません。ライノセラスがあればベスト(ライノセラスが読み込めるファイル形式はこちら)ですが、ない場合はNavisworksを使う方法もあります。

STL→Navsiworks-FBX→AutoCAD→DWG→REVIT

NavisworksでSTLファイルを読み込んでFBXに出力し、AutoCADでFBXを読んでDWGを出力します。

無償ソフトでなんとかならないか?

そうはいってもライノセラスもNavisもないという場合は、無償ソフトでなんとか変換したいところです。ところがSTLをDXFにするというフリーのソフトは意外に見つかりません。そこで、次のフリーソフトを使って変換を試みます。
Blenderは非常に優れたCG作成ソフトウェアで、あの3dsMaxにも比肩する機能がありながら完全無償かつ商用利用OK、さらに日本語対応というすばらしいソフトウェアです。3Dデータを扱う以上は入れておきたいソフトの一つです。

またFBX ConverterはAutodesk謹製のFBXファイルをOBJ、COLLADA、DXFに変換するコンバータでこれまた無償です。

この方法のメリットは、単にSTLをDXFに変換するだけではなく、Blenderでポリゴン数を削減したうえでDXFに変換することができることです。

Blenderを日本語表示に


  1. Blenderを起動
  2. [File]>[User Preferences...]で[System]を選択
  3. 右下のチェックボックス[International Font]をチェック。
    system-international font
  4. 言語に[日本語]を選択し、翻訳はすべて選択する。
  5. [ユーザー設定の保存]を押して、右上の×でウィンドゥを閉じる。

BlenderでSTLを読む

  1. 右クリックで要素を選択できます。中央の立方体を選択し、Deleteキーを押して削除します。
  2. [ファイル]>[インポート]>[STL]でファイルを指定して読み込みます。
    STLファイルを読み込む
  3. カメラの回転はホイールを押す、カメラの移動は[SHIFT]+ホイールです。
    Blenderに取り込んだSTL

Blenderでポリゴン数を削減する

  1. 要素を右クリックで選択
  2. 右側のパネルで[モディファイヤ]を選択し、生成から[ポリゴン数削減]を選択
    ポリゴン削減
  3. [比率]バーの上をドラッグ、あるいは数値を入力し、形状が崩れない程度にポリゴン数を削減する。(わりと思い切って減らしても形状はそれほどかわらないことが多いようです。)
    三角メッシュ(ポリゴン)を削減
Revitは基本的にSOLIDモデラーなので、メッシュのポリゴン数が多すぎると、どうしてもパフォーマンスが落ちます。必要以上のポリゴンは削減しておくべきでしょう。

BlenderからFBXを作成

[ファイル]>[エクスポート]>[FBX]でファイル名を指定して[FBXをエクスポート]

FBX Converter でDXFを作成

AutoCADがあれば、ここでFBXをAutoCADでIMPORTしてDWGに変換すればよいです。今回はあえてAutoCADを使用せず、FBX Converterを使ってみます。
  1. FBXコンバータを起動。
  2. 左側の[Add]を押して、作成したFBXファイルを指定。
    AddでFBXを追加
  3. 右側の[Destination Format]を「DXF」にする。
  4. [Triangulate]と[deformation]をオフにする。
  5. [Convert]
    Convert
  6. 同じフォルダにDXFファイルが作成される。

Revitに取り込む

作成したDXFをRevitのファミリに取り込みます。CG系のシステムはZ方向がRevitのY方向になっているので、回転が必要です。取り込んだ結果は下のようになります。
ポリゴン削減して取り込んだメッシュ要素
形状としては大きな問題がない程度に簡略化されています。
メッシュ(ポリゴン)の数は、できるだけ削減しておいたほうがパフォーマンスは向上します。

2018年2月10日土曜日

いろいろな形式のファイル(2)

ファミリに取り込む

前回はNavisworksを介して様々なデータをプロジェクトに取り込む方法をご紹介しましたが、今回はファミリに取り込む方法を考えてみます。ファミリにはコーディネーションモデルをリンクすることはできません。ファミリに取り込むことができるファイルの形式は

  • dxf
  • dgn
  • 3dm
  • skp
  • sat

の5種類です。
Revitのファミリで読み込める形式
他のCADからデータをもらうためには、これらの形式に変換する必要があります。

STEP→AutoCAD→SOLID

AutoCADもimportコマンドで多くの種類のデータを取り込むことができます。
IMPORTコマンドで読み込める形式
これらのファイルを読み込むときAutoCADはバックグラウンドで読み込み処理を実行し、できるだけSOLIDとして取り込んでくるので、Revitとの相性はとても良いです。例として前回のクレーンのSTEPデータをAutoCADに取り込み、Revitのファミリにしてみます。

AutoCADでの操作

  1. AutoCADでACADISO.dwtなどのテンプレートで新規ファイルを作成する。
  2. コマンド:import
  3. stpファイルを指定してOKすると下の図のような警告が表示されますが、OKします。
  4. しばらくすると画面右下に、変換の準備ができた旨が表示されるので、リンクをクリックします。
  5. DWGとして保存します。
    AutoCADに取り込まれたSTPデータ
このままRevitのファミリに読み込んでもいいのですが、丁寧にファミリ化するにはひと手間かけて、SOLID一つ一つをDWGファイルに保存して、Revitファミリに取り込んだほうがマテリアルの設定やより正確な形状の読み込みのためにはより良い方法といえます。

3DSOLIDに分解して個別のDWGファイルを作成

  1. [CTRL]+[A]ですべての要素を選択。
  2. 右クリック>[クイック選択]
  3. オブジェクトタイプを「ブロック参照」、演算子を「すべて選択」でOK
  4. コマンド:EXPLODE
  5. 1~4を繰り返し、オブジェクトタイプに「ブロック参照」が表示されなくなるまで繰り返す。
  6. 3DSolidを一つまたは複数(Revitで一つのフリーフォーム要素となる)だけ選択する。(ある程度まとめてWBLOCKしたほうがいいでしょう。)
  7. コマンド:WBLOCK
  8. 保存先のファイル名を指定してOK
  9. 6~8を繰り返してすべてのSOLIDについてDWGファイルを作成する。
  10. 作成したDWGをRevitのファミリに取り込んで、展開する。
  11. SOLIDに展開されるので、要素を選択してマテリアルを設定する。
この手順を繰り返し、取り込んだフリーフォーム要素にマテリアルを設定します。
ファミリにとりこまれたSTEPファイル

このようにいったんファミリに取り込んでから、プロジェクトにロードすれば、下の図のように、平面図や立面図でくっきりと表示することができます。
平面図

立面図

AutoCAD経由で取り込めるファイル形式

AutoCADでは様々な形式のファイルを読み込んでDWGに変換することができます。

  • 3ds
  • sat
  • model
  • session
  • exp
  • dlv3
  • CATPart
  • CATProduct
  • FBX
  • IGES
  • ipt
  • iam
  • jt
  • wmf
  • dgn
  • prt
  • x_b
  • x_t
  • pdf
  • prt
  • asm*
  • g
  • neu*
  • 3dm
  • sldprt
  • sldasm
  • step
  • stp
主たる3Dデータ形式でAutoCADが対応していないのは、STL、SKP、IFC、RVM、VRMLぐらいです。

2018年2月4日日曜日

いろいろな形式のファイル(1)

コーディネーションモデル

2018からコーディネーションモデルモデルのリンクが可能になりました。コーディネーションモデルとは、早い話がNavsiworksのデータ(nwcとnwd)のことです。
これにより、Revitに取り込み可能なファイル形式の種類が飛躍的に増加します。下の図はNavisworksがネイティブで対応しているファイル形式です。
Navisworksで読み込み可能なファイル
Revitだけだと、DWG、DXF、DGN、SAT、SKPだけであり、ファミリであればこれに3DMが加わりますが、種類は限られています。Navisworksを仲介すれば、非常にたくさんのファイル形式を扱うことができます。

STEPのデータをリンクする

例としてSTEP形式のデータ(*.stpまたは*.step)のデータを読み込む場合を考えてみます。下の図はタダノのHPよりダウンロードしたクレーンのSTEPファイルをナビスワークスで読み込んだ様子です。
Navisworksに読み込んだSTEP形式のデータ

Navisでの操作方法


  1. [ホーム]タブ>[プロジェクト]パネル>[追加]
  2. STPファイルを選択する。
これだけです。読み込んだら、STPファイルと同じ位置に、同じ名前のNWCファイルができますのでこれをREVITにリンクします。

Revitでの操作

  1. [挿入]タブ>[リンク]パネル>[コーディネーションモデル]
  2. [追加]ボタンを押して、NWCファイルを選択し開く
  3. [OK]
    Revitでの表示
Revitに取り込んだNWCファイルは、透過度のみを上書きすることができます。
  1. [表示]タブ>[グラフィックス]パネル>[表示/グラフィックス]
  2. [コーディネーションモデル]タブ
  3. 透過度の[優先]ボタンをクリックし、透過度を設定して[OK]
    透過度を設定する
すると下の図のように表示されます。
透過度を設定
こういった意味ではなんとなく、あまりご利益がないようにも見えますが、そんなことはありません。Navisworksのデータが読めるということは、実に応用範囲が広がるのです。

色を変更する

読み込んだNWCデータの色ををRevit上で変更することはできません。しかし、Navisworksで色を変更しておけば、Revitで取り込んで色付きで表示することができます。

Navisworksでの操作(Manage/Simulateのみ)

  1. 要素を選択し、[右クリック]>[項目をオーバーライド]>[色をオーバーライド]
  2. 任意の色を選択し[OK]
  3. 以上の手順を繰り返して、各パーツを着色する。
    Navisworksでパーツを着色
  4. [出力]タブ>[パブリッシュ]パネル>[NWD]で任意のフォルダにNWD(Navisworks Document)ファイルを作成。
NWCは変換元のデータと同等で、これ自体を編集することはできませんが、着色してNWDというファイルに変換すれば、色がついた状態を保存できます。
Revitで同様の操作で取り込むと以下の図のようになります。
着色した状態で取り込めた!

要素を移動した状態で取り込む

要素を移動・回転した状態でNWDにすれば、その状態でRevitに取り込むことができます。
Navisworksで要素を移動・回転しNWDに
REVITにNWDを取り込むと下の図のようになります。
NWDをRevitで取り込んだところ

不要な要素を除去して取り込む

他のCADシステムからもらうデータにはRevitでは非表示にしておきたい要素が含まれている場合もあります。こんなときはNavisworksで不要な要素を非表示にしておいてからNWDにして取り込みます。
Navisworks不要な要素を選択し、[CTRL]+[H]で非表示にし、NWDファイルを作成します。
不要な要素を非表示にしてNWDファイルを作成
このNWDファイルを読み込めば下の図のようになります。
要素を非表示にしたままRevitに取り込まれる
元のファイルを作成したソフトがなくても、Navisworksである程度の編集ができ、それを非常に軽量なファイルとしてRevitのプロジェクトにリンクすることができます。しかも読み込めるファイルの種類は非常に豊富ですので、メリットは大きいといえるでしょう。
なにかよくわからない形式のファイルが手に入ったら、とりあえずNavisworksで扱えるかどうかチェックしてみてください。

2018年1月28日日曜日

デッキスラブ

デッキスラブの作り方

デッキプレートを使ったスラブを作ってみましょう。例えば、日鐵住金建材のHPにはいろいろな種類のデッキプレートがあります。こちらを例にサンプルを作成してみましょう。まずはデッキプレートのプロファイルを作成します。

プロファイルの作成

作り方

  1. [ファイル]>[新規作成]>[ファミリ]
  2. プロファイル(メートル単位).rfaを選択して開く
  3. [プロファイルの用途]を「スラブデッキプレート」に設定。
    プロファイルの用途
  4. 下の図のように参照線を引き寸法線とパラメータを作成する。
    参照面と寸法
  5. [作成]タブ>[詳細]パネル>[線] で下の図のようにデッキの外形線を作成。
    外形線を作成
  6. [作成]タブ>[プロパティ]>[ファミリタイプ]で以下のようにタイプを作成。
    V50を作成
  7. 倣って、いくつかのタイプを作成してください。
  8. 「pデッキ構造スラブ.rfa」として保存します。
  9. [作成]タブ>[ファミリエディタ]パネル>[プロジェクトにロード]

プロジェクトでの床タイプの作成

以下の手順で床タイプを作成します。
  1. [プロジェクトブラウザ]>[ファミリ]>[床]>[床]で任意の床タイプをダブルクリックして、タイププロパティダイアログボックスを表示させる。
  2. [複製]をクリックし、名前を「デッキスラブV50」としOK。
  3. [構造]の編集ボタンをクリックし、アセンブリを編集ダイアログボックスを表示する。
  4. [レイヤ]の[挿入]ボタンをクリックして、躯体協会の間にレイヤを追加し、機能を「構造デッキ」とする。
    構造デッキレイヤを追加
  5. 構造デッキのレイヤを選択し、ダイアログ下部のコンボボックスから、目的のプロファイルを選択し、[デッキの利用方法]で「レイヤを上に拘束」を選択する。
    構造デッキプロパティを選択
  6. OK

スラブを作成してみる

下の図は、この床タイプを使用して、床をスケッチしているところです。重要なのは[スパン方向]です。デッキプレートの流れ方向は、このスパン方向と平行になります。
スパン方向
このスパン方向は、[修正|床の境界を作成]タブ>[描画]パネル>[スパン方向]を使って変更することができます。
作成した床のスパン方向に垂直な断面図を作成します。標準モードまたは詳細モードにするとデッキの断面が表示されます。
標準モード以上でデッキの断面が表示される

フラットデッキ

フラットデッキも同じような方法で作成できます。まず下の図のようなプロファイルを作成します。
次に床タイプの作成ですが、構造デッキのプロパティで[デッキの利用方法]を「独立したデッキ」に設定します。
独立したデッキ
すると、プロファイルの上側にスラブが作成されます。
フラットデッキ
デッキスラブの作成は意外と簡単なのですが、残念ながらこれは断面図での表示のみであり、その他のビューではデッキを表示することはできません。

2018年1月20日土曜日

集計表で強制改行

{SHIFT}+{ENTER}

集計表ビューではセル内の複数行表示に対応していませんが、集計表をシートに貼り付けたら、複数行表示が可能です。ずいぶん前からある「ワザ」ですが、プロパティの値を編集するとき{SHIFT}+{ENTER}で強制改行することができます。これはちょうどエクセルで{ALT}+{ENTER}でセル内改行が行われるのとよく似ています。(細かいことを言うと、Revitの改行コードとエクセルの改行コードは異なります。)

使い方としては、集計表で文字のプロパティを入力するとき、文字を入力し{SHIFT}+{ENTER}で開業して、第2行目を記入すればいいだけです。
{SHIFT}+{ENTER}で改行可能

テキストエディタを併用する

入力はなんとかできますが、編集はどうすればいいでしょうか?集計表ビューでは先頭行しか表示されないので、そのまま編集することは難しいですね。そこで、テキストエディタとコピーペーストを組み合わせて編集すると、案外と簡単に複数行文字の編集ができます。この場合、メモ帳よりも、「TeraPad」や「サクラエディタ」のような、本格的なテキストエディタを使用することをお勧めします。

新規入力

  1. テキストエディタで普通にENTER(改行)しながら複数行入力。
    ENTERで改行しながら入力(TeraPadの例)
  2. すべて選択し(最後の[EOF]は選択しない)、{CTRL}+{C}でクリップボードにコピー。
    [EOF]を除いてコピー
  3. Revitの集計表で、目的のセルを選択し、{CTRL}+{V}でペーストして{ENTER}。
    シートに配置した集計表

既存の編集

  1. Revitの集計表で、目的のセルをクリック。この時点でセル内の文字がすべて選択されているので、{CTRL}+{C}でクリップボードにコピー。
  2. テキストエディタで{CTRL}+{V}でペースト。
  3. 編集後、新規入力の手順でRevitの集計表のセルに貼り付ける。
テキストエディタは文字編集専用なので、非常に快適に文字を入力することができます。コピーペーストの手間は少々面倒ですが、試す価値はあると思います。

マルチラインテキスト

そもそも複数行の入力が想定されるパラメータならば、パラメータタイプを「マルチラインテキスト」にしておくという手があります。パラメータを追加するとき、パラメータタイプで[マルチテキスト]を選択します。
パラメータタイプでマルチラインテキストを選択する
この場合、集計表ではセルの右端に小さな[…]ボタンが表示されるので、これをクリックすると
マルチラインテキストのフィールドには[…]ボタンが表示される
下の図のような簡単なエディタが表示されるので、こちらも快適に文字の編集ができます。
エディタが開く
ただし、文字のセルのように他の値を選択することはできませんし、集計表上には先頭行のみが表示されます。
シートでは複数行表示されるが、集計表では先頭行のみ表示される

結合フィールドで強制改行

パラメータを結合したフィールドでも強制改行できます。例えば仕上表で仕上と下地のパラメータを2行で表記したい場合などに使えます。ここで重要なのが先述の本格派テキストエディタです。下の図はTeraPadですが、改行したところに(↓)改行マークが表示されています。このマークが重要です。本格派のテキストエディタには、こうしたコードを表示する機能があります。

  1. この↓を選択してクリップボードにコピーしておきます。
    単純に改行してクリップボードにコピー
  2. 結合パラメータを作成するとき、[区切り]のセルに、{CTRL}+{V}で貼り付けます。見た目には何も変化がありません。
    区切りにCTRL+Vで貼り付けるが、見た目には変化がない。
  3. これで、複数のパラメータの値を2行で表示することができます。
    複数のパラメータを改行して表示できる
集計表のユーザーインターフェイスは、一つのセルに複数の行を表示することはできませんが、工夫すればシート上での表示は十分に可能です。



2018年1月13日土曜日

/1の効用

単位にうるさい計算式

集計表の計算式は便利なのですが、「単位」について非常に厳格です。ちゃんと筋が通っていないとエラーになります。たとえば、換気計算の式に次のようなものがあります。

必要換気量(㎥/h) = 20(㎥/h・人)×床面積(㎡)÷一人当たりの専有面積(㎡)

この計算式では20は固定値で、一人当たりの専有面積は部屋の用途に応じて一定の値が定められています。(必要換気量の求め方:三菱電機参照)
例えば、Excelであれば、数値だけの操作になるので、この計算表を作ることは簡単です。しかしRevitの集計表で作ろうとすると、単位をそろえなければならないので一工夫必要です。

計算式で自動的に単位を補ってくれる場合

(1) 床面積:㎡

これは素直に部屋の面積を使えばいいです。

(2) 一人当たりの専有面積:㎡

新たに単位を面積としてインスタンスパラメータを作成します。こちらの値は部屋の用途に応じて手動でインプットします。

(3) 必要換気量:㎥/h---計算式

必要換気量を求める式を作成します。式の結果としては㎡/hの単位が必要なので専門分野[HVAC]で[風量]を使います。[風量]の単位は㎥/hですからこれがそのまま使えます。

そして式ですが、素直に「20*面積/一人当たりの専有面積」としてOKします。
OKしてもエラーは起きない
何もエラーは起きないはずです。
もう一度編集ボタンをおして式をチェックしてみる。

もう一度計算式フィールドを編集ボタンで見てみると

  • 20 m³/h * 面積 / 一人当たりの専有面積

となっており、定数20の後に自動的に単位「m³/h」が補われています。「面積/一人当たりの専有面積」の部分が「㎡/㎡」で単位がなくなってしまうので、定数部分の20に「㎥/h」が補われているのです。

自動的に単位を補ってくれない場合

必要換気量の計算として以下のような式もあります。

必要換気量(㎥/h)=毎時必要換気回数(回/h)×部屋の容積(㎥)

部屋の容積はRevitからそのままいただくとして、毎時必要換気回数の「回/h」はどうしたものでしょうか?Revitでは「回/h」という単位は扱えないので、「整数」としてパラメータを作成します。整数は無単位です。(少数がある場合は「実数」を使います。)計算式に

  • 毎時必要換気回数*容積

としてOKを押すと、以下のようなエラーが表示されます。
エラーが表示される
式の中に定数があればRevitが不足する単位を補ってくれるのですが、今回は定数がないので、単位を補完することができず、エラーとなってしまいました。

定数 /1

そこで、無理やり式に定数を加えます。毒にも薬にもならない「÷1」つまり「/1」を式に加えます。Revitが/1に適切な単位を加えてくれるはずです。

  • 毎時必要換気回数/1*容積

としてOKを押します。こんどはエラーが表示されません。もう一度編集ボタンをおして式の様子を見てみると
s(秒)が補完されている

  • 毎時必要換気回数 / 1 s * 容積

となって、時間の単位[s]が補充されてます。今回の時間の単位は秒ではなく時間なので、この「s」を「h」に書き換えてOKします。
「s」を「h」に書き換える

  • 毎時必要換気回数 / 1 h * 容積

これで目的の必要換気量を求めることができます。

*1でもOK

毒にも薬にもならないといえば/1以外にも*1(×1)でも値が変化しないという点では同じですよね。試しに、

  • 毎時必要換気回数*容積*1

としてみると計算式は
「Hz」が補完される

  • 毎時必要換気回数 * 容積 * 1 Hz

と「翻訳」されます。Hzは回/秒ですから理にかなってますね。この式に「/3600」を加えて
  • 毎時必要換気回数 * 容積 * 1 Hz / 3600
とすれば、結果は同じになります。
計算式を作成するときに起こりがちな単位に関するエラーですが、「/1」や「*1」を加えることで、Revitが単位を適切に処理してくれます。