始まりのはじまり0・・概要

ダイナモとは?

ダイナモは手を動かせば出来る事をポチポチしないで自動化できるアドオンソフトです。




もう少し詳しく説明すると

ダイナモはプログラマーでない人でもRevit APIの機能に簡単にアクセスしてニーズに合ったカスタムツールが作れるアドオンソフトです。

APIとは

APIはApplicationProgrammingInterfaceの略でRevit以外にも使われる用語です。
ざっくり言うとRevitと関係ない別のプログラムからRevitの機能を利用するためのRevitの窓口部分の事を指します。

アドオンとは

合体することでできることを増やせる機能拡張用のソフトのことで、google先生によると小さなプログラムだそうです。小さなプログラムってグッとくる響きですね 。。。

得意な動作

実はまだ私には見えていません(2020/02現在)
ツールの操作なのか、モデルを作る事なのか、データを取り出す事なのか・・それとも全部なのか・・1日も早くこの欄をバシッと埋められる日が来るといいなと思っています。

 ★作業の一例★
  • 反復する単純な作業を自動化できる
  • パラメータの値の書き換えができる
  • 集計表ではできない、カテゴリを跨いだ集計ができる
  • Excelとのやり取り・・データをインポート/エクスポート
  • ファミリの配置
  • ジオメトリの作成
  • CWのパターンを作成
  • Revitの座標を取得(←これは通常のRevit操作では得られない情報だからいいかも)

プログラム書くの?

プログラムをテキストで書くことはしません。ダイナモはビジュアルプログラミングと呼ばれるマウス操作でプログラミングを行うソフトです。プログラムに必要な要素をパーツ化し、クリックなどのマウス操作でパーツをつなぎ合わせてプログラムを作ります。このパーツの事をダイナモではノードと呼んでいます。

ノードとは?

純粋にノードって何?といった場合のノードは構成図の点と線の点の部分を指します。

ダイナモでもこの点の部分をノードと呼びます。


ちなみに●を繋ぐ線の部分をワイヤと呼びます。
※以前はエッジと呼んでいました。


ダイナモで表すとこんな感じになります。


ノードの中身

処理に必要な部分のプログラムが書かれています。処理分のノードがあるため膨大な数のノードが用意されています。

English

ダイナモで英語を目にする事は多いですが、語学としての英語とは全く違うものなので英語ができればプログラミングができるわけではないしその逆もしかり・・つまり英語は苦手でも大丈夫です。←プログラミング全般に言えることだと思います。

あの、だから、その・・


ビジュアルプログラミングのいいところ 1

用意されたノードをつなげて作るので、普通のプログラミングの様に”ひと文字違ったらエラー”などという事は起こりません。

ビジュアルプログラミングのいいところ 2

ノードは種類により繋げない組み合わせがあり、間違えてつなげるとプログラムが動かなくなりますが、エラー部分のノードの色が変わる仕様なので簡単にプログラムを修正できます。
このようにプログラムに慣れていない人でも操作がしやすいように作られています👍。

ビジュアルプログラミングのいいところ 3

ビジュアルプログラミングはプログラムの論理構造が見えやすいという利点があります。
利点を活かして良いデータを作るには「動きを分析して処理の繋がりを考える」事がキモになります。
論理的思考の塊の我々にはうってつけのモノですねダイナモは!イエ~(*´з`)



余談ですが以前うちの子供が幼児教室でビジュアルプログラミングを教えるバイトをしていた時に、ビジュアルプログラムは表テーマでプログラミングを通して知らないうちに論理的思考を身に着けさせるのが教室の真のテーマだと話していました。
ダイナモで論理的思考を更に強化!イエ〜(*´∀`)

覚えるの難しい?

覚えなけらばならないルール(文法)が少ないので覚えるのは比較的簡単です。
とはいえ、多少プログラムの知識がある方がそりゃもちろん・・

即戦力として使える?

ノード(の機能)をどれだけ知っているかに左右されます。
語彙力どれくらいある?みたいな感じです。

ビジュアルプログラミングだけじゃない

ダイナモ=ビジュアルプログラミングみたいに語ってきましたが、それだけじゃないよ!なんです・・

出典:DynamoPrimer

ダイナモは、処理が決められたノードを選んで並べるだけではなく、テキストでコードを書いてオリジナルのノードを作ることができます。そして作成したノードは標準のノードと一緒に使うことができます。ちなみにコードはPython(パイソン:プログラミング言語のひとつ)とかで書きます。ま~自分には当面関係ないかなぁ 涙

夢が広がるね

Revit APIとかRevitマクロとか

Revitの標準機能でポチポチ操作じゃなくて、プログラムで楽したいよ~といった場合にDynamoを利用しますが、同じ事はRevitAPIやRevitマクロでも出来ちゃっいます。
つーか集計表でもできちゃうことも沢山有ります。
どの操作に何が適しているのかは、使える人にしか分かりませんが(自分にはまだ分かりません)でもテキストでのプログラミングが出来ないよ~という人はDynamo一択だなという事は分かります。

スクリプト

Dynamoのグラフはスクリプトなの?って聞かれたら、はいそうですっ!て答えて大丈夫です(*´з`)
スクリプトは、コンパイル作業を裏で行ってくれるプログラムです。よく聞くJavaScriptで作ったプログラムもスクリプトです。
※コンパイルは、人が書いたプログラムを直接コンピューターは理解できないので「0」「1」とかのコンピューターが分かる言葉に翻訳します。この翻訳作業がコンパイルです。

「サンドボックス」モードも可能

出典:DynamoPrimer

まずは、サンドボックスって何よ?だったので調べてみました。
そこでなら何が起きても他に影響がでないようになっている隔離されたゾーン(環境)の事で、ヤバそうなプログラムをお試しで動かすのに使う事が多いそうです。

「サンドボックスモード」については、ある解説には「安全でない可能性のある式を実行できない様にする機能」とありました。

ダイナモにあてはめると「いきなりRevit上で実行してRevitデータを滅茶苦茶にさせない。または、ダイナモを動かす為に外部から持ってきた悪意ある諸々のものから守るためにサンドボックススタイルでプログラムが出来るようになっている」と勝手に理解したのですがあっているのかな。。。
間違っていたらごめんなさいデス

ところでDynamoPlayerって何?


通常のDynamoは、管理タブからDynamoを起動してからプログラムを実行しますが、Dynamoを起動せずにRevitから直接ダイナモのファイルにアクセスしてプログラムを実行をできるのがDynamoPlayerです。
管理タブ>DynamoPlayer

時間対効果(ひとりごと)

ポチポチやったら半日かかる操作が10分程で作ったダイナモによって秒で終わったことがありました。(その場で作ってもらいました。)
それなら使わない理由はありませんが、ものによってはそれ集計表でできるじゃん?とかエクセル書き出しで戻した方が早くね等、操作に夢中になってしまいそうな匂いがダイナモには感じられます。
奥の深さを分からず書いていているので杞憂かもしれませんが、ひと回りしたあと、ここをどう書き直すのか今から楽しみです。(20/03/27)



もしかしたら超簡単なんじゃない


追伸
数年前にこのダイナモサイトを立ち上げその時もダイナモプライマーを読むところから始めました。当時は?(ハテナ)の山でしたが長いお休みを経て久しぶりにダイナモプライマーを読み返してみたらクソ簡単じゃんって舐めたこと思っています。←まだ読み切れていない超途中の状態ですが 笑
この予感、本物であってほしい・・・


Revit2020
Dynamo Core2.1.0.7500