tunities offering new tools and ways to understand dataflow, performance analysis, logic constructions, etc. Over that statement, I've always observed that a definition is full of information at component level or small groups, but that informed-user-feeling disappears exponentially while you zoom out an get a more general picture of a big definition (small definitions are not a problem due to the good level of information supplied at that zoom factor).
So I though, why not to use this graphic potential to lead to a more complete data representation at low zoom factors in big/very big definitions? Have you ever noticed how annoying is to review big definitions captures printed in A1 project panels? These captures lack any kind of useful information (even if you are an expert in GH)...you can only conclude looking at them how organized or well planed was the definition coding process...but nothing else (not really, you can conclude other stuff, but not at the level that you could expect from a graphic-centric coding tool). Some users has invented ways to give more data to third-person users/tutors...: using panels with text scaled up, using scribble components, importing drawings from rhino...is even more frustrating if you want to explain how the definition works using one of those captures...there are not landmarks, etc to support your speech.
All this lead us to include certain components search (by name, plugin, tab...) into our mapping tool. Could be nice to be able to stack several layers of information visually, and it could lead to a better understanding on GH definitions as a whole and not as small pieces linked together.
Sorry for the big "tocho"...like we say in Spanish.
By the way, the histogram thing sounds great :D…
Added by Ángel Linares at 5:36am on November 6, 2015
uld draw, lets say opening locations which would then trigger certain code. Its fairly easy to convert formating, a cell with a certain color, to code, so in a way I would be using excel as a super basic cad program to manage lists of data. In order to do this I need to be able to call some Excel commands from Rhino and to add some functionality to LAN's rhino to excel script (http://www.livearchitecture.net/archives/1516) I would like to be able to get the Ubounds and dimension of an array or a list. . . ie somehow get the equivelenat number of rows and columns of an incoming list of data and then use this to generate some graphics in excel but . . . . It seems that the sytax for excel Vb script via interoperability
marshaling is a bit different:1)I can not use
the set command ie Set range 2) it does not allow me to use the typical excel
syntax such as:
Worksheets("Sheet1"). Range("A1:D4").BorderAround
ColorIndex:=3, Weight:=xlThick
I get the following errors
Error: Method arguments must be enclosed in parentheses. (line 114)
Error: Name 'xlThick' is not declared. (line 114)
Is their an alternate way to write the Excel commands? Or is there something I need to do in Rhino? Any advice would be appreciated.
Best,
Ben…
Added by Ben Fortunato at 11:10am on February 27, 2010
H are automated by using them as an ActiveX, the C# script object fails on the simplest tasks. That is, when initiating Rhino and GH externally (as by the following C# code):
Rhino5Application rhino_app = new Rhino5Application();
dynamic grasshopper = newRhino.rhino_app.GetPlugInObject("b45a29b1-4343-4035-989e-044e8580d9cf", "00000000-0000-0000-0000-000000000000") as dynamic;
The following very simple C# script component fails because it cant cast its input:
The c# code at the component is only:
Line 89 is simply casting of the input. Clearly, this makes the usage of C# component, under automation, impossible which is a major loss.
As said, when initiating Rhino and GH manually , all works well as in the following:
Any ideas why it misbehaves under automation (as an Active X ) ?
I added the gh file of this example.…
f my list.I don't understand why, but I guess I must be too young user ^^In the original list, i have a path {0;0;0;4} with two index and after the random node, {0;0;0;4} has 88 index.Items are not correct?I would have a comparable structure has the right list on my jpg (photomontage...)How I can do that?Thank you in advance
…
Salimzadeh
Assistant: Saeede Kalantari a Fabrication Project for “Structural Systems” BA Course;
Participants: Maryam Ahmadi, Amir Ansaripour, Kimia Bagheri, Mohammad Hassan Habibi, Mohammad Mehdi Zamani, Sam Sabzevari, Zeynab Seyed Zehtab, Mohammad Mehdi Shahroudi, Niloofar Taheri, Masoumeh Abedini, Pedram Feyzi, Asma Karamouz, Kimia Karbalayi, Hamed Kamalzadeh, Fateme Kianinejhad, Maryam Mohammaddoust, Faeze Motamedian, Romina Mehrbod, Sara Naderi, Yasaman Nejati, Kimia Nourinejhad, Morteza Vaziri, Mehragin Baghi, Sana Motallem, Helpers: Milad Amiri, Soroush Raesi, Mahla Behrouz, Alireza Sheykhlar, Shadi Khaleghi, Mohaddese Taheri, Alireza Mohammadi, Mehrnoush Kia
Photography: Sara Ahmadi, Hasan Habibi
Video production: Shayan Khalilbeigi
Special Thanks To Dr. K. Taghizadeh, Dr. H. Mazaherian, Dr. Y. Eslami and Mr.Aliari
With Support Of: Center Of Excellency In Architecture Technology – CEAT - , Collage of Fine Arts University of #Tehran, ‘Art And 4th Dimension’ Symposium, Iran #Fablab and #Fologram
Rhino/Grasshopper and C# Definitions of form-Finding and Member-generation :
http://bit.ly/2RUKc5i…
nputs to run (please refer to the image)
Currently, here is how I set the data:
protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager) { //Create default size
double defaultBaySize = 0; pManager.AddTextParameter("LotLib", "Llib", "Lot Library", GH_ParamAccess.tree); pManager.AddCurveParameter("BoundaryCrv", "BC", "Boundary Input", GH_ParamAccess.list); pManager.AddIntegerParameter("Direction", "D", "Direction of gridLines", GH_ParamAccess.item, 0); pManager.AddNumberParameter("CCsize", "S", "Distance from column to column", GH_ParamAccess.item, defaultBaySize); pManager.AddCurveParameter("GridCrv", "GC", "Take in curves input for gridlines", GH_ParamAccess.list);
}
protected override void SolveInstance(IGH_DataAccess DA) {/* Setup */ GH_Structure<GH_String> LotLib = new GH_Structure<GH_String>(); DA.GetDataTree(0, out LotLib); List<Curve> BoundaryCrv = new List<Curve>(); if(!DA.GetDataList(1, BoundaryCrv)) { return; } int Direction = 0; DA.GetData(2, ref Direction); double CCsize = 0; DA.GetData(3, ref CCsize);
List<Curve> GridCrvs = new List<Curve>(); DA.GetDataList(4, GridCrvs); if (!DA.GetDataList(4, GridCrvs)) { return; }}
Is there a way can set data in the way if the component does not receive inputs for BoundaryCrv but only GridCrvs, the BoundaryCrv List will empty.
Thank you very much …
the Butterfly_Solution component to visualize only the last value, during the simulation.
With this setting, the optimization through Galapagos seems to start in a good way, but after some iterations it stops due to this error on blockMesh component:
Runtime error (ArgumentException): Environment variable name or value is too long.Traceback: line 420, in __setitem__, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\os.py" line 80, in getShellinit, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 69, in containerId, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 260, in _RunManager__command, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 316, in run, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 716, in command, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\case.py" line 748, in blockMesh, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\case.py" line 112, in getContainerId, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 215, in command, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 47, in script
Anyone know how to fix it?
Thank you
…