• openDDLについて
  • サイトポリシー
  • ご利用前にお読みください
  • EN
  • SIGN IN:
  • SIGN IN:
Hiroaki Saito
マイコンテンツ(31)
評価済み(0)
captureExcelReadWrite02_thumbnail.PNG
GHC#_Excelで読み書きをする

以前にもExcelの読み書きについて書きましたが、その後社内で開発中のツールなどで応用してきた内容を簡略化してここに記します。 上の画像のデータの流れのイメージは観客席設計で利用する段床断面の計算ツールで、パラメーター入力をExcelで行い、 ボタンを押せばGetコンポーネントがExcelから必要なパラメーターを吸い出して、1階席から4階席までのパラメーターをそれぞれ出力し、その…

#C# #Excel #Grasshopper

Jun 13, 2020
Hiroaki Saito
0
captureTextEntityComparison_thumbnail.PNG
GH C#_TextEntityの作成について、コンストラクタと静的メソッドでの違い

先日書いた記事の補足です。 GHC#_Text3dとTextEntityについて、描画とBakeした際のふるまいの比較 TextEntity Classのオブジェクトはコンストラクタで作成する方法と、静的メソッドで作成する2種類があります。 先日の記事で、静的メソッドで作成したTextEntityは位置合わせがGrasshopper上の描画に反映されず、寸法スタイルを修正する必要が…

#C# #TextEntity #Grasshopper

May 23, 2020
Hiroaki Saito
0
captureText3dTextEntityComparison_thumbnail.PNG
GHC#_Text3dとTextEntityについて、描画とBakeした際のふるまいの比較

Text Entityについて別の記事で補足をしています。(2020/5/23追記) 表題の内容を確認してみました。コードは下の方にあります。ポイントとしては、 Text3dは、 ・簡易で良いが改行したテキストを扱う際、位置合わせ次第でDrawViewportWiresを使った描画にバグがある。 ・GH上の描画がおかしいだけで正常にBakeはできるけど、Rhino側の既定…

#C# #DrawViewportWires #Grasshopper #bake #TextEntity #Text3d

May 16, 2020
Hiroaki Saito
0
captureDrawAndBakeLinearDimension_thumbnail.PNG
GH C#_寸法線を描いてBakeする(Rhino6)

2年前に寸法線を描いてBakeする記事を書きましたが、Rhino6では書き方が変わっていますので、前回のコードを簡略化して、少し丁寧に解説しつつ新しく書き直します。以下にコードを掲載していますが、ここでは分解して説明します。 DrawDimensionsForRhino6GH(GitHub Gistに飛びます) まずは、usingについて、色の設定とDimensionStyl…

#Grasshopper #C# #bake #Dimension #Dimension Style #DrawViewportWires

May 14, 2020
Hiroaki Saito
0
captureDrawMesh_thumbnail.PNG
Meshオブジェクトを描画する際に気を付けること

Rhinoceros上でもGH上でも、3万個のBoxMeshをそのまま描画するよりも一つにJoinした方が描画スピードが速くなります。 Grasshopperの標準機能では一つのMeshオブジェクトに単色をしか適用できませんが、それでも複数色使いたい場合は頂点カラーを使います。 頂点毎に紐付いている情報なので1オブジェクトの中で複数の色情報を持つことができて、1オブジェクトのMesh…

#Grasshopper #C# #Mesh #DrawViewportWires

Apr 25, 2020
Hiroaki Saito
0
cap01_thumbnail.JPG
DrawViewportWires methodのふるまいについて

備忘録として記します。 GrasshopperのC#コンポーネント内でDrawViewportWiresを利用する際に、 複数のうまく動かない事象が出てきたのでこれを解決するまでの流れを整理しました。 まずC#コンポーネント内でジオメトリを描画するための簡単なコードをざっくり示します。 private void RunScript(double num, ref object A) …

#Grasshopper #C# #bake #DrawViewportWires

Jul 11, 2019
Hiroaki Saito
0
cap0_thumbnail.PNG
GH C#_Divide Distance With List

Grasshopperに標準搭載されているDivide Distanceは単一距離で分割し続けるため、複数の距離のパラメーターを利用した分割はできません。 そこで任意の距離分割を可能にするためのコードを書いてみました。 標準のDivide Distanceは計算速度の遅さもネックで、3Dの計算を考えて球体と曲線の交点を繰り返し計算してそうなので、今回は2D利用限定で球体ではな…

#Grasshopper #C# #Divide Distance

Nov 12, 2018
Hiroaki Saito
0
Capture_DrawDimensions.PNG
GH C#_寸法線を描いてBakeする(Rhino5)

Rhino6では書き方が変わります。こちらを参照下さい。(追記:20/05/14) C#コンポーネントを使って寸法スタイルを定義し、寸法線を描いてBakeするまでの流れをざっくりですが整理してみました。 Draw Dimensions(GitHub Gistに飛びます) 直線寸法をC#で記述する時にはPoint2dを利用する事に注意してください。 C#コンポーネント内でオ…

#Grasshopper #C# #bake #Dimension #Dimension Style

Apr 16, 2018
Hiroaki Saito
0
cap_ghexcel_01.jpg
GH C#_Excelと連携する

◆事前の準備 GrasshopperのC#コンポーネントでExcelとの読み書きを行うためには、Microsoft.Office.Interop.Excel NameSpace(名前空間)を利用する必要がありますがそのままでは利用できません。 今回は利用するための準備を紹介します。 C#コンポーネントの右クリックメニューから、Manage Assemblies...を選びます。…

#Grasshopper #C# #Excel

Apr 12, 2018
Hiroaki Saito
0
capBake.png
GH C#_簡単なBake Componentを作ってみる

既に色んなAddonで提供されているBake Componentについて簡単に考え方を整理してみました。例えば、適当なLineをC# Component内で作ってボタンを押す事でbakeされるコンポーネントを想定します。 因みに個人的によく使うBakeコンポーネントはElefrontです。 private void RunScript(bool bake) { Lin…

#Grasshopper #C# #bake

Feb 02, 2018
Hiroaki Saito
0
SetValue.PNG
GH C#_入力コンポーネントの初期値を設定する

Grasshopperにおいて、とあるツールを用意する際に必要な入力パラメーターの量が多くなるほどにその管理は面倒になってきます。 特に初心者でも利用できるものを想定した場合、入力の準備を利用者に任せるのは手間が掛かりミスが起きがちです。 そこでツールを用意した側が入力パラメーターをある程度誘導することができるC#のコードを簡単にまとめました。 Value Listの初期値を設定す…

#Grasshopper #C# #Value List #Number Slider #Boolean Toggle

Jan 26, 2018
Hiroaki Saito
0
GetDictionaryData.gif
GH C#_データ管理にDictionaryを利用する

データ管理にDictionaryを利用する(GitHub Gistに飛びます) C# Component間でデータをやり取りする際、独自に用意したクラスで作成したオブジェクトを受け渡すことは仕様上できません。 (Visual Studioによる独自のコンポーネント開発であれば可能です。) ツールを開発する際、一つのコンポーネントで全てを行う作り方もありますが、規模が大きくな…

#Grasshopper #C# #Dictionary

Jan 17, 2018
Hiroaki Saito
0
MeshSweep_v1
Mesh Sweep Component for Grasshopper

Grasshopper上で動作するコンポーネントを作成してみました。 メッシュモデリングのススメ、というサブタイトルを付けても良いかもしれません。 ◆基本機能 直線を入力し、断面種別、位置合わせ、キャップの有無、サイズ等を入力する事でルーバーや形鋼のメッシュで作られたジオメトリを作成します。 ◆メリット 1.従来のSweepツールより同等の事をした時に圧倒的にスピードが速い。 例えば下図…

#Grasshopper #C# #Mesh #Sweep

Feb 01, 2017
Hiroaki Saito
2
FilletSurface01
GrasshopperC# - Fillet Surface

Grasshopper上に用意されている標準機能ではFillet Surface、Blend Surface、Extend Surfaceなどが使えません。(数えればキリがありませんが・・・) ここではC#コンポーネントを利用したFillet Surfaceを紹介します。とても簡単です。 Blend Surfaceについては文末に補足を、Extend Surfaceについては別記事で書きます。 …

#Grasshopper #C# #surface #fillet #blend #extend

Jan 27, 2017
Hiroaki Saito
0
RayShooter
気軽に書けるGrasshopperC#//RayShooter

音線や光線の反射を解析する際にRhinocerosではBounce機能がその選択肢の一つです。 http://docs.mcneel.com/rhino/5/help/ja-jp/index.htm#commands/bounce.htm Grasshopper上では実装されていませんがBrepやCurveなどと同様にRhinocommonの中にはRay3dというクラスが存在し、その…

#Grasshopper #C# #bounce #refrection #analysis #RayShoot

Sep 26, 2016
Hiroaki Saito
0
captureAboutArcOfCylinder01_01
Grasshopper Modeling Maniacs//円柱を斜めに切断した際の楕円について

円柱を斜めに切った時、その断面線は楕円になりますがGrasshopper上でその再現を行う時、注意しておく事があります。 上図はGrasshopper上で、 A・・・Brep(円柱)とBrep(斜平面)のIntersection B・・・Brep(円柱)とPlane(斜無限平面)のIntersection C・・・CircleをBrep(斜平面)にProjection …

#Grasshopper #Cylinder #Circle #Ellipse

Sep 13, 2016
Hiroaki Saito
0
captureAboutArc01_01
Grasshopper Modeling Maniacs//円弧が円弧でなくなる時

タイトルの付け方が難しかったのですが、Grasshopper(ver0.9.0076時点)上でモデリングする中で円弧が円弧でなくなる時が内部処理の問題なのかわかりませんが存在しています。 その再現をするために下図のようなものを用意しました。 任意の円弧をオフセットして端点を直線で繋いだ円弧状の閉じたポリラインです。 これを内側にオフセットしてダブルラインとし、下図の様にソリ…

#Grasshopper #Arc

Sep 06, 2016
Hiroaki Saito
3
flux_test02_01
Research Flux #4

この一ヶ月であまりFluxに触れる時間がない中で何とか触れたいと考えた結果、on the jobで利用する事にしました。 やった事はあまり難しい事はせず、Grasshopper → Flux → Excelという流れです。 ジオメトリは一切Fluxを介しません。数値のみの一方向に出力する形です。 結果から言うと、個人的にはとても好感触に感じました。 Grasshopperで作成した(…

#Grasshopper #flux #Excel

Aug 22, 2016
Hiroaki Saito
0
flux_test01_00
Research Flux #3

少ない時間ではありますが、実際にfluxを利用して体験をし始めています。 まずは検証のためのモデルを作るにあたって、 1.サインカーブを利用して適当なボリュームを作り、fluxの検証を行う。 2.円弧や直線、垂直・水平・角度を付けた線データ、平面・曲面、線材を適当に作る。細かな所は気にしない(ここ大切)。 3.Grasshopperでジオメトリの芯となる情報を作成。 4.その芯情報…

#Grasshopper #Dynamo #flux #SuL #Excel

Jun 20, 2016
Hiroaki Saito
0
flow-570x281
Research Flux #2

画像引用元 https://flux.io/ FluxはQuartz Projectのパートナーとして参画しているチームで、Quartz Projectについては建築資材の成分と環境・健康への影響について取りまとめ、オープン データベースとして共有しているプロジェクトで、今後Fluxと具体的にどう繋がっていくのかは確認できていませんが注目しておきたい所です。 Fluxの情報・…

#Grasshopper #Dynamo #flux #SuL #Excel

May 16, 2016
Hiroaki Saito
0
captureSweep1_01
Grasshopper Modeling Maniacs//Sweepを掘り下げる

Grasshopper内でSweepを利用する機会は少なくないですが今回はSweep1について下記の様なシチュエーションの場合を想定して少し考えてみました。 1.折板を想定した少し細かいSection 2.円弧と直線が混ざった接線連続している複合的なRail 上画像を基に説明します。 1.円弧(青)と直線(緑)をjoinしてRailとし、断面(赤)をSectionとしてSweep1コン…

#Grasshopper #Sweep

May 06, 2016
Hiroaki Saito
0
ASMO_Before
Grasshopper tips//閉じたメッシュの向きを確認する

仕事の中で他ソフトから書き出したdwg等の3DモデルをRhinocerosにインポートする際に予期しない閉じたメッシュ面の反転がランダムに起きる事が時々起きるのですが、他ソフト側では正常にモデル作業が成されているようで、どうもデータを書き出して読み込む間に何かしらの問題が発生している事が考えられました。 いくつか方法を考えたうちの一つとして、単純に内向きになった閉じたメッシュのみを反転でき…

#Grasshopper #C# #Mesh #Flip

Apr 13, 2016
Hiroaki Saito
0
fluxLogoOrigin
Research Flux #1

SuL Fluxでは去年後半から活発に動き始めたFluxについての勉強をしていきます。 https://flux.io/(公式サイト。上記ロゴ引用元。) Fluxは建築設計において利用される様々なソフトウェア同士の相互連携や協働の可能性を模索するwebベースのサービスで、Googleから独立したチームが開発を行っているようです。 https://flux.io/abou…

#Grasshopper #Dynamo #flux #SuL #Excel

Apr 11, 2016
Hiroaki Saito
0
BretschneidersFormula_GH2
Grasshopper tips//Bretschneider's formula(ブレートシュナイダーの公式)を利用した四角形面の面積計算

Grasshopper内に置ける面積計算について、一つ前の記事で三角形面の面積を計算するヘロンの公式を利用する方法を検証してみましたが、四角形面の面積についてもブレートシュナイダーの公式を用いて計算する事を検証してみました。 ブレートシュナイダーの公式は四角形 ABCD がある時、辺の長さを AB = a, BC = b, CD = c, DA = d、周長の半分をsとし、その対角…

#Grasshopper #C# #area #面積

Feb 29, 2016
Hiroaki Saito
0
HeronsFormula_GH02
Grasshopper tips//Heron's formula(ヘロンの公式)を利用した三角形面の面積計算

Grasshopper内に置ける面積計算について、以前一度取り上げた事がありましたが今回は前回取り上げたC#のGetAreaメソッドも使わず、三角形面の面積を計算するヘロンの公式を利用して計算する事を検証してみました。 ヘロンの公式は任意の三角形の3辺a, b, c の長さから面積 T を求める公式。(wikipedia参照) https://ja.wikipedia…

#Grasshopper #C# #area #面積

Feb 24, 2016
Hiroaki Saito
0
Canvas-at-212120
Grasshopper tips//Extremesコンポーネントの癖とその回避策

少しマニアックなネタですが、個人的に何度か遭遇したExtremesコンポーネントの癖とその回避策を紹介しておきたいと思います。 Extremesコンポーネントは任意のCurveがとあるPlane(座標)上においての極地点を取得する機能ですが、利用する際に任意のCurveが円弧のような曲線の場合に起きる癖があります。 上記画像のように線の左端の青い点を取得したいのに赤い点のように最大で…

#Grasshopper #C# #Extremes #ToNurbsCurve

Dec 21, 2015
Hiroaki Saito
0
NetworkSrf01
気軽に書けるGrasshopperC#コーディング//05.NetworkSrf

上画像の様に任意の線を引きそれを通るサーフェスを生成する為に、Rhinoceros(以下、Rhino)ではPatchやNetwork Surfaceを利用しますが、今回はNetwork Surface機能について取り上げてみたいと思います。 上画像のコンポーネントは既にGrasshopperに実装されているNetwork Surface機能ですが、これを利用する為にはU方向とV方向(要…

#Grasshopper #Rhinoceros #C# #NetworkSrf

Sep 17, 2015
Hiroaki Saito
0
04_cap1
気軽に書けるGrasshopperC#コーディング//04.UnrollSrf

Rhinoceros(以下Rhino)の中でよく利用するコマンドの一つとして、UnrollSrfが挙げられると思いますが、これは模型制作等の為に3Dモデルを2D平面に展開するコマンドで、3Dソフトに寄ってはUnfoldとも呼ばれている機能です。Grasshopper(以下GH)においてはバージョン0.9.0076時点ではUnrollSrfが標準で実装されていませんが、デベロッパーの為に用意さ…

#Grasshopper #C# #UnrollSrf

Aug 07, 2015
Hiroaki Saito
0
cap1
気軽に書けるGrasshopperC#コーディング//03.色々なTweenCurves

Rhinocerosには2曲線の間に曲線を作成するTweenCurves(http://docs.mcneel.com/rhino/5/help/ja-jp/commands/tweencurves.htm)が使えますが、Grasshopper(以下GH)上で扱える同機能にはマッチング方法の設定がありません。今回はGH上でマッチング方法を踏まえたTweenCurvesが使えるようにC#でコード…

#Grasshopper #C# #TweenCurves

Jul 14, 2015
Hiroaki Saito
4
capture3
気軽に書けるGrasshopperC#コーディング//02.強引にJoinする

Rhino上でもGrasshopper上でも、オブジェクト(線、面限らず)をjoin(結合)する際に、ほんの少しの離隔が原因でjoin出来なかった経験はありませんか?そんな方は御一読を。今回はミリメートル単位空間上に6枚の面で構成された10m角のボックスを1つ用意し、上面だけ0.1mmわざと浮かしたモデルを用意しました。 一般的な精度ではRhino上でもGrasshopper上でもjoin…

#Grasshopper #C# #join

Jun 08, 2015
Hiroaki Saito
0
AreaCompare2
気軽に書けるGrasshopperC#コーディング//01.面積の計算

Grasshopperでジオメトリの面積を出す際に使われるAreaコンポーネント。 例えば大量のパネルの面積計算をする際に、C#コンポーネントで1行のコードを書いたオリジナルAreaコンポーネントを利用すると、従来のものを利用するよりもグッと速い計算時間を実現できます。試しに、1300枚程度のパネルを計算してみました。 上から既存のもの(Area)、Python(アドオン)で…

#Grasshopper #Python #C# #area #面積

May 11, 2015
Hiroaki Saito
0

CONTACT ©2023 NIKKEN SEKKEI LTD.