2018年8月25日土曜日

if文

条件文ifの構文

ファミリのパラメータには条件文を組み込むことができます。構文は

=if(条件,条件が真の場合の値,条件が偽の場合の値)

です。

【条件は数字しか判断できない】

条件には他のパラメータの値を用いることができますが、その真偽の判断が可能なのは数字のみで、文字は判断できません。たとえば「文字列が一致する」などの判断はできません。

例1
パラメータ名 パラメータタイプ
paramA           文字
paramB           文字

=if(paramA=paramB,…,…)

条件式に用いることができるパラメータタイプは、
  • 数値
  • パラメータタイプが数値のパラメータ名
  • パラメータタイプがはい/いいえのパラメータ名
です。

【異なるタイプを比較するには?】

例2
パラメータ名 パラメータタイプ
paramA           長さ
paramB           実数

=if(paramA=paramB,…,…)


パラメータタイプが異なる場合は直接比較することはできません。そう、Revitは単位にうるさいのです。こういうときは「魔法の/1」を使って
=if(paramA / 1 = paramB, …,…)
とすればOKです。

【以上・以下の判断】

大きい小さいを比較する演算子は>,<,=のみであり、>=や<=を用いることはできません。これは「未満ではない」という理屈でnotを使って条件式を作ります。notは真偽の値を反転します。

例3
パラメータ名 パラメータタイプ
paramA           長さ
paramB           長さ



paramAがparamB以上である
=if(paramA >= paramB, …, …)
=if(not(paramA < paramB), …, …)

【値の差が±1.0に納まっている】

値が±○○以内にあることを判断するには絶対値absを使います。

例4
パラメータ名 パラメータタイプ
paramA           長さ
paramB           長さ



paramA-paramBが±1未満である
=if(abs(paramA - paramB) < 1 , …, …)

paramA-paramBが±1以内(1より大きくない)である
=if(not(abs(paramA - paramB) > 1 ), …, …)

【○○より大きく○○より小さい】

値がある範囲に収まっているかどうかを判断するにはandを使って二つの式を結合します。
andの構文  and(式1,式2)
式1と式2がともに真ならば、真を返します。つまり両方成り立っている場合だけ真を返します。

例5
パラメータ名 パラメータタイプ
paramA           長さ

paramAが1より大きく10より小さい場合


=if(and(paramA>1, paramA<10) , …, …)

paramAが1以上10以下の場合


=if(and(not(paramA < 1), not(paramA > 10)),…, …)

paramAが1以上10未満の場合


=if(and(not(paramA < 1), paramA < 10),…, …)

【条件式をはい/いいえのパラメータが受け取るとき】

条件式を「はい/いいえ」のパラメータが受け取る場合はifは不要です。

例6
パラメータ名 パラメータタイプ
paramA           長さ
paramB           はい/いいえ

paramAが10より小さいとき

paramB = paramA<10

【範囲外】

ある範囲に値がないことを判断するにはORを使います。
orの構文  or(式1, 式2)
式1または式2のどちらかが真であれば真を返します。つまりどちらかが成り立っていればよい、ということです。
例7
パラメータ名 パラメータタイプ
paramA           長さ

paramAが0未満、または10より大きい
=if(or(paramA<0, paramA>10) , …, …)
paramAが0以下、または10以上
=if(or(not(paramA>0), not(paramA<10)) , …, …)

【二つ以上の式を判断する】

andとorは引数として式を2しか受け取ることができませんが、使い方を工夫すれば3つ以上の条件を判断することができます。
考え方のポイントは

  • ☑真=1(0でない整数)
  • □偽=0
  • andは掛け算(式1×式2)----一つでも0があれば答えは0=偽
  • orは足し算(式1+式2)-----一つでも1があれば答えは0ではない=真

とすればわかりやすいと思います。

すべての式が成り立っていることを判断するには
and(and(式1,式2),式3)
                         --------(式1×式2)×式3
and(and(式1, 式2), and(式3, 式4))
                         --------(式1×式2)×(式3×式4)
一つでも偽=0があれば答えは0=偽です。

どれかが成り立っていることを判断するには
or(or(式1,式2),式3)
                         --------(式1+式2)+式3
or(or(式1, 式2), or(式3, 式4))
                         --------(式1+式2)+(式3+式4)
一つでも真=1があれば答えは0ではない=真です。

2018年8月18日土曜日

基礎伏図に1階の床梁を表示するには?

アンダーレイ(下敷参照図)

基礎伏図で1階床梁の見上げを破線で表示したい場合、いくつかの方法がありますが最も手軽な方法はアンダーレイ(下敷参照図)を使うことです。ラインワークを使わず確実にすべての情報を表示することができます。

手順

下の図のような基礎伏図に上方の形状を表示してみます。
基礎伏図
このA断面は次のようになっています。
基礎下端レベルと1FL
基礎下端レベルと1FLがあることに注目してください

  1. 基礎伏図のビュープロパティ[下敷参照図]グループで
    • [範囲:下部レベル]を[基礎下端]に
    • [図面見方向]を[1FL]に
    • [下敷参照図の方向]を[見上げ]に設定
      下敷参照図の設定
  2. [管理]タブ>[その他の設定]>[ハーフトーン/下敷参照図]
  3. [下敷参照図グループ]で
    • [太さ]を[1]
    • [パターン]を[破線]
    • [ハーフトーンを適用]のチェックをオフ
      ハーフトーンは使わない
以上で結構手軽に1FL の床梁を破線で表示することができるようになります。要素が表示されるので、もちろんタグを付加することができます。
タグも寸法も作成できます

下敷参照図の設定はすべてに及ぶため、他のビューも影響をうけますが、上部の情報を手軽に表示するには大変便利な方法です。

2018年8月11日土曜日

梁のふかし~削ってつくる

梁のふかし

RC梁のふかしのモデリングは、なかなか難問ですが、一つの解として「負荷していないところを削る」という発想でつくることを考えてみます。つまり一つの梁について、

最大のふかし量でモデルを作成して、はみ出した部分を削る

という考えです。まずはライブラリから梁をプロジェクトにロードします。このファミリはインスタンスパラメータで梁の上下左右にふかしを入れることができます。
インスタンスでふかしを設定可能
ただし、このふかしは上下左右全面にふかしがはいるだけで、「部分ふかし」を入れることができません。

作例

たとえば、構造天端-100で部分的に±0までふかす必要があるとします。下の図ではスラブが100さがっているので、構造天端小梁と大梁の構造天端を-100にしています。
梁の構造天端は下側のスラブの天端に合わせる
上側のスラブと天端を合わせるため、いったん小梁と大梁の一つの「ふかし上」の値を100とします。すると梁がスラブから飛び出します。
梁の上端を100ふかして、上部スラブに合わせる
梁の飛び出した部分を「開口部」で削り取ります。梁の側面で断面図を作成します。
梁を横から見る断面図を作成


  1. [構造]タブ>[開口部]パネル>[面]
  2. 梁を選択
  3. 切り取りたい部分を長方形で囲む
    削り取る部分をスケッチ
  4. [モード]>[✔]
  5. これをすべての梁に繰り返す。
開口部のスケッチは慣れてきたら3Dでも可能です。
3Dビューで手軽に開口部を作成
完成すると下の図のようになります。
完成

この例では上端のふかしを削りましたが、もちろん左右のふかしも削ることができます。
削る方法は開口がもっとも手軽ですが、ほかにもボイドのみのファミリを使う方法もあります。

一体で作成するメリット

なんとなく感覚的には不自然な感じもしますが、梁をふかしを含めて一体で作成すると次のようなメリットがあります。

指定点高さで上端と下端のレベル表示

基礎伏図
この図は基礎伏図ですが、梁の上端と下端のレベルを「指定点高さ」で表示しています。ふかし部分を別のファミリで作成すると、ふかしを含めたレベル情報を取得することができません。
指定点高さで上端と下端のレベルを取得

コンクリートボリュームが算出できる

たとえば下の図のような複雑なふかしが入った梁でも、
複雑なふかし梁
選択すればコンクリートボリュームを算出できます。
インスタンスプロパティ:容積

集計表でふかしを検索

集計表を使えば、ふかしが入っている梁を下の図のようにすぐに検索することができます。
ふかし付きの梁を検索
部分ふかしの作成法はいろいろあると思いますが、ふかしと構造体を一体で作成したい場合には、現時点ではこの方法が簡便であると思います。

2018年8月4日土曜日

サイトデザイナー(2)

道路の断面形状を変更するには?

前回作成した道路に、縁石を追加したり、厚さや幅などがを変更してみましょう。
前回の終了時点のファイルを開くか、練習用のファイルを準備しましたので、ダウンロードして開いてください。
Google Drive
A360 Drive

縁石を追加する

縁石を追加するには道路の「タイプ」を変更します。

  1. [Site Designer] > [Modify] > [Street]
    [Modify]タブの[Street]
  2. ①の道路をマウスオーバーして、何度か[TAB]を押して、「モデル線分」と表示されたらクリック。
    ①の道路をマウスオーバーして、モデル線分が選択できたらクリック
  3. [Modify Street]の[Change Type]をクリック。
    [Change Type]
  4. New Typeに「Two Lanes with curb and gutter concrete」を選択して[OK]
    縁石付きの道路タイプを指定
  5. [Apply]でしばらくすると、道路タイプが変更されます。
  6. もう一度、[Site Designer] > [Modify] > [Street]
  7. ②の道路の中心付近をマウスオーバーして、何度が[TAB]を押して「モデル線分」がハイライトされたらクリックして選択。
  8. ①と同様の手順でタイプを変更し[Apply]
  9. 下のような「交差点が発見されました。」ダイアログボックスが表示されたら、[はい]を選択。
    道路の交差を発見しました。交差点を作成しますか?[はい]
  10. 前回同様に、[Select]をクリック→コーナーの〇を選択→半径を3000→[Apply]を繰り返し[Finish]
交差点の付近の整地がうまくいかない場合は、この手順を2つの道路で繰り返すと、下の図のようになります。
一部地形がはみ出しているが、縁石が作成されている
一部地形が道路にかぶっていますが、これは後から手動で修正することができますので、このまま次の練習を続けます。

幅を変更するには

道路や縁石の幅を変更するには、道路のタイプパラメータを変更します。サイトデザイナーではいつものプロパティウィンドウではなく、専用のコマンドを使って変更します。
  1. [Site Designer]>[Family Manager] > [Street]
    [FamilyManager]
  2. [Sampla Street]を選択して[Modify(修正)]
    道路ファミリマネージャー
  3. [Two Lanes with curb and gutter concrete street]を選択して[Modyfy]
    当該タイプを選択して[修正]
  4. すると次のようなダイアログボックスが表示されます。
    道路タイプを修正ダイアログボックス

Modify Street Type (道路タイプ修正)ダイアログボックスの見方

このダイアログボックスの左側の図と、実際の断面を比較すると次のようになります。
ダイアログボックスの図
実際の断面
ダイアログボックスの絵がちょっとわかりにくいのですが、道路の右側の断面を表しています。それぞれの値を変更してみます。

Street Info タブ
Lane width - 4200
Pavement depth - 100
Cross - slope - 20
Pavement material - アスファルト、舗装
Curb - Yes

Curb / Gutter タブ

Gutter width - 400
Gutter slope - 20
Curb Offset - 0
Curb width - 100
Curb height - 100
Curb material - コンクリート-現場

Slope Projection タブ

Boulevard width - 1000
Cut slope - 300
Fill Slope - 300
Slope Projection Linear Increment - 1500
Slope Projection Radial Increment - 9
Street Base depth - 200
Street Sub-base depth - 300

変更を適用する

ファミリマネージャでタイプパラメータを変更しただけでは、道路の見た目は変更されません。

  1. [Site Manager]>[Modify]>[Street]
  2. 道路をマウスオーバーして、[TAB]キーを押してモデル線分を選択
  3. [Change Type] - [OK] - [Apply]
道路が変更されたことを確認します。
道路タイプの変更が反映された

はみ出した地盤面の修正

一部の地盤が道路からはみ出しています。サイトデザイナーを使っていると時々こういった部分に出くわしますが、編集がまだ続くのであればしばらくこのままにしていても問題はありません。ここでは地盤面を手動で変更するコツをご紹介します。

サイトデザイナーは道路を作成する際、縁石や道路の下の地盤面に「点」を追加して地盤面を押し下げています。

縁石や道路の下端の高さにいくつか点を追加すれば、地盤を押し下げることができます。


  1. 外構-新築を開く
  2. 縁石を選択し、[右クリック]>[ビューで非表示]>[要素]
    縁石を一時的に非表示
  3. 地盤面を選択し、[サーフェスを編集]、
  4. はみ出している部分を拡大。表示を隠線処理にする。
    縁石部分を拡大
    • わかりにくいのですが、縁石の内側には非常に近接して二つの点がペアで存在してることを確認してください。
    • それぞれの高さを確認してください。
      地盤がはみ出している部分には下の点がない
    • はみ出している部分には、ペアになっていない点があることを確認してください。
  5. [修正|地盤面]>[ツール]パネル>[点を配置]
  6. オプションバーの[高さ]に適切な高さ(この図の場合は-292)を設定し、ペアとなる点がない点の近傍に点を追加する。
    ペアになっていない点の近傍に点を追加
  7. [修正|地盤面を編集]タブ>[サーフェス]パネル>[✔]
  8. ビューコントロールバーで[表示モード]を[リアリスティック]にし、一時非表示を解除する。
    表示を元に戻します。
点を適切に追加することで、地盤面をきれいに整地することができます。
きれいに整地できました。