ou will see all of the available components on a ribbon at once so there is no need to keep clicking drop down menus.
It's all about discoverability with GH. What if you're a beginner and don't know about the Create Facility (dbl click canvas) how can you find Extr?
Even if you hover over every component or use the drop down lists you will not see the name Extr appear anywhere.
Sure it makes sense that Extr is short for Extrude but it's also the Nick Name of Extrude to Point component
So you can easily miss the fact that one has a Distance Input verses a Point Input.
I think I made the move to Icons around about the move from version 0.5 to 0.6, possibly before. I initially thought that I would go back to text because I loved the mono chromatic look of the text but I soon realised that Icons were the way forward. The greatest benefit is speed. You don't need to digest and decipher every component (which is written 90 degrees to the norm).
I'm not saying you should move to Icons forthwith but at least consider that once you have a better knowledge and understanding of GH, Icons will set you free.
My top ten tips that I would highly recommend to anyone wanting to better themselves with GH.
1) Turn on Draw Icons
2) Turn on Draw Fancy Wires
3) Turn on Obscure Components
4) Use the Create Facility like a Command Line eg "Slider=-1<0.75<2" or "Shiftlist=-1"
5) Use Component Aliases to customise your use of the Create Facility eg giving the Point XYZ component an alias of XYZ will bring it up as the first option on the Create Facility as opposed to the other possibilities.
6) Try to answer other people's questions even if it's not relevant to your own area. By looking into solving a problem outside of your comfort zone and then posting your results it is very rewarding but it also lets you see the other approaches that get posted in a new light.
7) Take the time to understand Data/Path structures.
8) Buy a second monitor - There is nothing that can compare to real estate when working in Grasshopper.
9) Read Rajaa Issa's Essential Mathematics
10) Pick a panel in a tab on the ribbon and get to know every component inside and out and then move on. Start with the Sets Tab > List Panel…
i have to rely completely in passive means.
To speed things i'm calculating comfort for Extreme hot/cold week, thinking maybe on typical weeks instead.
The cool week is kind of "right", but the hot (extreme) is giving all night hours 100% comfort. Knowing the climate, there is no way this can be the case. Some of the settings with the european standards give sometimes the right tendency, but still, compared to ASHRAE's the average of % percentage is too high.
Also my assumptions for flexibility of use/clothing/etc is the maximal. I mean, no constrains on this respect ("let's be passive as much as we can").
So right now i have no specific questions, but rather your advice, if any: "What you would do ...?? (I don't like these kind of questions, sorry).
A request, yes, if it is possible to output the set temperature for each hour. For instance, when you give the degFromTargetMtx i'll like to know this target. This is for control, and i think this is important for better understanding this black box.
Any other insights you may have, just shoot.
Not related to the discussion, but if you happened to check the model, we are simulating 2 apartments in the building. The northern one is only one thermal zone. The southern is divided in rooms. I wanted to see how much difference e get between both ways. And there is. No doubt the more detailed modeling looks more reliable. Also if you have some points here, shoot again.
BTW humidity, look at page 32-33 in the AC book. Nicol is clear on the "real" influence of the humidity, arguing it is mostly psychological than real.
Thanks again, and to you too Mauricio.
-A.…
till quite rough.
I went through your attached log but it seems to be a successful run, perhaps the error log wasn't attached. In any case, I believe we have identified this issue. The goal of the update fvSchemes component was to apply schemes to finalized meshes in an automatic way. While this is useful for new users it is also a dangerous thing to do in CFD studies.
The component works by relating mesh quality to the mesh non-orthogonality, which the checkMesh component reports. While non-orthogonality is one of the important criteria of mesh quality it does present difficulties on some kind of meshes, especially like the simple cases that BF has been meshing so far.
The example case of simple box buildings in a wind tunnel above for instance will appear as a good quality case for even the lowest of cell-count meshes, simply because it is an orthogonal geometry. That means that checkMesh will probably report low values (imagine an empty blockMesh of 10m blocks has a non-orthogonality of 0) which in turn means that higher order schemes might be paired with actually low quality meshes. This I believe is causing problems.
I posted a possible solution to this here https://github.com/mostaphaRoudsari/Butterfly/issues/57. The idea is that Buttefly provides additional options to the users, enabling them to choose between first-order (faster, more robust, but lower quality schemes) and second-order (slower, less robust, but more accurate) schemes depending on mesh quality, stage of assessment, etc. In cases like the above mesh quality a first-order scheme might provide a better option. To test this I am attaching an fvSchemes file you can use by replacing yours in the /system folder of the case.
As a note however, I would like to stress there is so much that a tool like Butterfly can provide in this area. Meshing is a quite complicated and demanding part of the process, involving a lot of trial and error. Sometimes the problem is just the mesh and not the solution options (GIGO stands true in CFD as well). It does however get easier with experience. The safe advice is the simplest one: when changing solution options doesn't help, refine mesh and run again.
Kind regards,
Theodore.…
le with you.
I am trying to achieve the minimal path algorithm of Steiners tree in Python using the minimal path algorithm.The syntax would be as followsFirst I need to create a cube of any dimension.
Then I need to specify one origin say point A and destination point say B.
Now for this point A,B I need to create a machine based network which will automatically enroute A to B.
Where the angle will be constant i.e 120, length can be a variable, triangular node(steiners tree)using these constraints it will create a network.
Now, I should iterate the program in such a way that I should specify the further points say like A1 and B1 so on.The program will contain a limit constraint where it will come out of iteration loop and start a new loop,forming the network.
By this I will get a dense network of 120 deg branches.
The branching gets denser the moment I add source and destination points.
There can be 100 iterations to reach from A to B but the algorithm chooses the one following the minimal path.
I would be highly thankful to you if you would please share the python syntax and grasshopper definitionCapture.JPG for the same
Thank you for your time in advance
I would be highly grateful if you help me through
warm regards
Arya
12.gifShortest%20path%20algorithm.gh
min-paths.jpgcc.henn.studyimagesminimalpaths.jpg …
Grasshopper. So, I once made an attempt to bind ms sqlServer in order to get frozen definitions at some states, to avoid managing baked objects in Rhino and also be able to retain whole results without using the GH state manager that rebuilds everything.
But at that time GH's VB.Net component didn't properly read referenced dlls and I forgot it since then.
At first, I was surprised by Slingshot's extensive interface : I was still having in mind my own old project, a tool that would have acted at the Rhino's geometry object level, and auto creating the needed tables.
The bd would have consisted of a main table, owning the objects ID and name, and related tables containing the necessary information relative to the main objects.
For example, a Brep is made of so and so underlying objects, passed to respective tables, according to GH objects definition layout (just the way they are written in the xml schema).
Then, on a db, query an object by name, and retrieve the whole object or underlying objects (e.g. at the bounding curves level, or points level for a Brep).
With Slingshot, I made a few attempts to cheat GH with BLOB data fields, but no way to get a whole object. It seems that GH simply provides an object.toString ... and GH is definitely not conceived to produce persistence outside of Rhino. If I have some spare time, I will try to extract
About points and colors, I am now simply using a single field with CHAR(asLargeAsNeeded...), as GH parses String to every Point (or Vector or Color) entry of any component.
I do so because it need less to display on the canvas...
Whatever I wrote before, I really like your conception, as opened to relational interactions between ...whatever you need or dream of !
One last thing : GH can't open the definition file "Genome_DB_Template.gh" that I've downloaded from your site : http://slingshot-dev.wikidot.com/database-genome. I was expecting to learn a lot from your very smart stuff ! (I am running GH 08.00.13 and Slingshot 0.7.2.0)
Slingshot is running great, opened to any use...Thanks again.
Best,
Stan
…
Introduction to Grasshopper Videos by David Rutten.
Wondering how to get started with Grasshopper? Look no further. Spend an some time with the creator of Grasshopper, David Rutten, to learn the
eñadores, y creativos interesados en el aprendizaje de metodos avanzados de generación y racionalización de geometría compleja, y su implementación en distintas etapas del proceso de diseño.
Se abordaran los conceptos básicos para hacer frente a diversas problemas de diseño a través de la implementación de una serie de plataformas computacionales con el objetivo de construir un flujo de trabajo que permita optimizar proyectos de diversa escala y explorar esquemas geometricos complejos de manera rápida y eficiente.A lo largo del 6 dias trabajaremos con la plataforma de Modelado 3d Rhinoceros, el entorno de programación visual de Grasshopper y el motor de Renderizado de Vray.Estudiantes: $4,500.00Profesionistas: $5,500.00info+inscripciones:workshop@complexgeometry.com[044] 33 3956 9209[044] 33 1410 8975[044] 81 1916 8657
…
try to get the output. In this case the output needs to be set before requesting for it. I am doing it with this call:
ret = gsaobj.Output_Init_Arr(1,"Global","A1",14003001,3)
In API help the call is documented like this:
short Output_Init_Arr (long iFlags, string sAxis, string sCase, enum ResHeader header, long num1dpos)
so this call has 5 arguments (long, string, string, long, long) (the enums are defined as longs)
This call works, because when I print the ret, i get 0 that is "succeded" so everything works so far.
Then I request the output with the following:
results = []
ret = gsaobj.Output_Extract_Arr(10,results,numcomponents)
In API help the call is documented like this:
short Output_Extract_Arr(long iRef, SAFEARRAY(struct GsaResults)*arrayResults, long* numComponents)
I am getting the error "
Runtime error (ArgumentException): Could not convert argument 1 for call to Output_Extract_Arr."
So it seems that is not accepting 10 as a long in the beginning (assuming that argument 1 is the first). I already tried passing a variable as long, using long(10) there, nothing works.
Furthermore I don't know if the other two variables are correct like that. I come from VBA where I need to declare everything but AFAIK python is more permissive in this sense. "results" should be a dynamic array of objects and "numcomponents" a long.
Any help would be appreciated!
Thanks! :)
…
hen you determine their position and number by the "precision_" input. Their number is equal to "precision_ - 1".They are essentially mesh edges, not curves. To hide them, in Rhino application menu choose: Tools -> Options -> View -> Display Modes -> choose your current display mode, and uncheck the "Show mesh wires":
b) How do you change the x- and y-scale of the chart? For instance displaying every 10 degrees of azimuth?
Can you be a bit more precise?You would like to change the labeling of the azimuth directions from 30 degrees step to 10 degrees step? If this is so, you can not do that.
c) My input surface is a hyperbolic paraboloid, facing south symmetrically. How does the component calculate its tilt and azimuth?
All Ladybug Photovoltaics components calculate the amount of AC energy generated by a planar (flat) surface. Tilt and azimuth angles are calculated based on surface normal at 0.5, 0.5 surface parameters. So you can not use the hyperbolic paraboloid as the _PVsurface (or _PV_SWHsurface) input, as it will yield incorrect results. You need to planarize that hyperbolic paraboloid surface first.I attached below an example with default grasshopper components, but the size of the panels is not equal. If you want them to be equal use some paneling Grasshopper plugin like Lunchbox or Paneling tools.…