以前にもExcelの読み書きについて書きましたが、その後社内で開発中のツールなどで応用してきた内容を簡略化してここに記します。 上の画像のデータの流れのイメージは観客席設計で利用する段床断面の計算ツールで、パラメーター入力をExcelで行い、 ボタンを押せばGetコンポーネントがExcelから必要なパラメーターを吸い出して、1階席から4階席までのパラメーターをそれぞれ出力し、その…
#C# #Excel #Grasshopper
先日書いた記事の補足です。 GHC#_Text3dとTextEntityについて、描画とBakeした際のふるまいの比較 TextEntity Classのオブジェクトはコンストラクタで作成する方法と、静的メソッドで作成する2種類があります。 先日の記事で、静的メソッドで作成したTextEntityは位置合わせがGrasshopper上の描画に反映されず、寸法スタイルを修正する必要が…
#C# #TextEntity #Grasshopper
Text Entityについて別の記事で補足をしています。(2020/5/23追記) 表題の内容を確認してみました。コードは下の方にあります。ポイントとしては、 Text3dは、 ・簡易で良いが改行したテキストを扱う際、位置合わせ次第でDrawViewportWiresを使った描画にバグがある。 ・GH上の描画がおかしいだけで正常にBakeはできるけど、Rhino側の既定…
#C# #DrawViewportWires #Grasshopper #bake #TextEntity #Text3d
2年前に寸法線を描いてBakeする記事を書きましたが、Rhino6では書き方が変わっていますので、前回のコードを簡略化して、少し丁寧に解説しつつ新しく書き直します。以下にコードを掲載していますが、ここでは分解して説明します。 DrawDimensionsForRhino6GH(GitHub Gistに飛びます) まずは、usingについて、色の設定とDimensionStyl…
#Grasshopper #C# #bake #Dimension #Dimension Style #DrawViewportWires
Rhinoceros上でもGH上でも、3万個のBoxMeshをそのまま描画するよりも一つにJoinした方が描画スピードが速くなります。 Grasshopperの標準機能では一つのMeshオブジェクトに単色をしか適用できませんが、それでも複数色使いたい場合は頂点カラーを使います。 頂点毎に紐付いている情報なので1オブジェクトの中で複数の色情報を持つことができて、1オブジェクトのMesh…
#Grasshopper #C# #Mesh #DrawViewportWires
備忘録として記します。 GrasshopperのC#コンポーネント内でDrawViewportWiresを利用する際に、 複数のうまく動かない事象が出てきたのでこれを解決するまでの流れを整理しました。 まずC#コンポーネント内でジオメトリを描画するための簡単なコードをざっくり示します。 private void RunScript(double num, ref object A) …
#Grasshopper #C# #bake #DrawViewportWires
某場所からアクセスしようとしたらFB認証がブロックされてしまったので、避難用の垢を作成しました。 もう就活の時期ですね。にもかかわらず競プロにはまってしまって、就活よりも研究欲が高まってしまい、早く終わらなかなと。 とりあえず、RFとSVMの理論はあらかたわかったので、そろそろニューラルネットワークに入ろうかなと思ってます。(Accuracyが高くでる傾向があって、早急に身に着けたい) …
#Rhinoceros #Python
商業施設のデータは、主に国が行っている商業統計や東洋経済の大型店総覧などがありますが、このデータだと住所をジオコーディングしないと座標がなかったり、さっと飲みに行くような個人経営のお店のデータがありませんよね そこで、今回はぐるなびAPIを使用して、名古屋圏の地下鉄東山線の駅周辺半径500m圏の飲み屋をプロットしてみます。 出力はこんな感じ やりかた 1: まず、ぐるなびAP…
#Python #QGIS
Trail2Polyline お久しぶりです。なかなか慌ただしくて投稿できませんでした。 副産物的にできたスクリプトのご紹介をします。 Unity側でオブジェクトの位置座標を取得し、csv出力をします。 その後、Rhino側でそのcsvを取得してPolylineで表示されるようになります。 例えば、Unity内でVR空間を作成しその動いた人の軌跡を取得したり、コントローラー…
#Rhinoceros #Python #C# #Unity
Grasshopperに標準搭載されているDivide Distanceは単一距離で分割し続けるため、複数の距離のパラメーターを利用した分割はできません。 そこで任意の距離分割を可能にするためのコードを書いてみました。 標準のDivide Distanceは計算速度の遅さもネックで、3Dの計算を考えて球体と曲線の交点を繰り返し計算してそうなので、今回は2D利用限定で球体ではな…
#Grasshopper #C# #Divide Distance
更新が遅くなって申し訳ありません。 以前と少し仕様を変更いたしました。 完成しました!! Grasshopperでの使用を考えていたのですが - Pytonの処理が重すぎること - Grasshopperでの読み込みが重すぎる - Rhinocerosでのメッシュモデルのレタッチは得意でない という理由からRhinocerosのPythonスクリプトからRunする仕様に変更…
初投稿です。 こんな内容で投稿していいのかわかりませんが、日建設計名古屋支社で学生アルバイトをしているのもあり、OpenDDLが前から気になっていたので、投稿します。 前置きはこれくらいにしまして、、、 設計課題時に、毎回毎回等高線データを作るためにいくつものアプリケーションを経由したりするのが、本当に大変ですよね。 前からずっとGHで直接読み込めれば、どんな等高線データも作…
Rhino6では書き方が変わります。こちらを参照下さい。(追記:20/05/14) C#コンポーネントを使って寸法スタイルを定義し、寸法線を描いてBakeするまでの流れをざっくりですが整理してみました。 Draw Dimensions(GitHub Gistに飛びます) 直線寸法をC#で記述する時にはPoint2dを利用する事に注意してください。 C#コンポーネント内でオ…
#Grasshopper #C# #bake #Dimension #Dimension Style
ずいぶんと前のことになってしまいますが、昨年4月に開催されたB.Information展で展示した「BI Platform」を簡単に紹介します。 B.Information展では、普段、無意識に触れている「情報」を「モノ」へと変換することで、情報に直感的に触れることをテーマにしました。 近年、様々な活用がされているB.Information(建築情報) を、「情報の取得(GET)」、…
#Physical_Computing #Digital Archive #B.Information
◆事前の準備 GrasshopperのC#コンポーネントでExcelとの読み書きを行うためには、Microsoft.Office.Interop.Excel NameSpace(名前空間)を利用する必要がありますがそのままでは利用できません。 今回は利用するための準備を紹介します。 C#コンポーネントの右クリックメニューから、Manage Assemblies...を選びます。…
#Grasshopper #C# #Excel
去年四月で日建設計エントランスホールで開催されたB.Information展で展示された作品の一つ、DDLのPhysicalComputingチームメンバーでつくったPerformative Tableのシステム仕組みを紹介したいと思います。 この展示のテーマとしては、世の中で様々な業界で取り込まれている情報工学の活用を示し、情報の取得(GET)、生成(MAKE)、蓄積(STOCK)、活用…
#Physical_Computing #Data Driven #B.Information
既に色んなAddonで提供されているBake Componentについて簡単に考え方を整理してみました。例えば、適当なLineをC# Component内で作ってボタンを押す事でbakeされるコンポーネントを想定します。 因みに個人的によく使うBakeコンポーネントはElefrontです。 private void RunScript(bool bake) { Lin…
#Grasshopper #C# #bake
Grasshopperにおいて、とあるツールを用意する際に必要な入力パラメーターの量が多くなるほどにその管理は面倒になってきます。 特に初心者でも利用できるものを想定した場合、入力の準備を利用者に任せるのは手間が掛かりミスが起きがちです。 そこでツールを用意した側が入力パラメーターをある程度誘導することができるC#のコードを簡単にまとめました。 Value Listの初期値を設定す…
#Grasshopper #C# #Value List #Number Slider #Boolean Toggle
データ管理にDictionaryを利用する(GitHub Gistに飛びます) C# Component間でデータをやり取りする際、独自に用意したクラスで作成したオブジェクトを受け渡すことは仕様上できません。 (Visual Studioによる独自のコンポーネント開発であれば可能です。) ツールを開発する際、一つのコンポーネントで全てを行う作り方もありますが、規模が大きくな…
#Grasshopper #C# #Dictionary
はじめに こんにちは.忘年会の季節ですね.私のいる階では12月3日に忘年会が開催されるので,1年の92.3%を忘れられる計算です. 冗談はこれくらいにして,パーティーの場所決めは難しい問題です.ざっと思いつくのは,次のような条件でしょうか. アクセスがよい 料理のクオリティが高い 値段が安い このうち,2番目と3番目はとりあえず置いておくとして,1番目について考えます…
#Optimisation #javascript #Google Maps API
12月1日に当サイトのリニューアルをいたしました。 より誰もが日常的に使いやすいデジタルデザインに関する情報共有をしやすい環境をつくるため下記3点に関しての機能を実装しました。 1. ログイン方式の変更 2. プライベート投稿の実装 3. お気に入り記事のストック 1に関しては、新しいログイン方式のため、以前のログインID・パスワードは使用できなくなります。 これ…
3D ISOVISTによる空間評価 【目的】 街路間にある歩行空間の評価を行う。 街路と建物の間にあり歩行空間として提供されている空間が、人の居心地の良さや楽しさに作用する重要な空間構成要素になっているのではないだろうか 広くて開けたスペース⇒不特定多数の人の集まり⇒休憩 単純にアクセス性が高い街路だけでなく、人の集まり易さ、快適な空間である要因があるのではないだろうか。 そこで評価…
#Space_Syntax #ISOVIST #Integration_Value
Sul Physical Computingでは、マイコンやセンサの基礎技術を習得するために1/20サイズ模型の中を走行する探査機(Model Probe)を作成してきました。 これまで動作や操作機構などの解説を行ってきました。今回は、カメラとコントローラ制御について簡単に紹介します。 <keyword> Edison, mjpg-streamer,Unity, Android…
#Physical_Computing #Unity
Grasshopper上で動作するコンポーネントを作成してみました。 メッシュモデリングのススメ、というサブタイトルを付けても良いかもしれません。 ◆基本機能 直線を入力し、断面種別、位置合わせ、キャップの有無、サイズ等を入力する事でルーバーや形鋼のメッシュで作られたジオメトリを作成します。 ◆メリット 1.従来のSweepツールより同等の事をした時に圧倒的にスピードが速い。 例えば下図…
#Grasshopper #C# #Mesh #Sweep