d 5000 stiffness it usually works quite well but some overlap. If you put it much higher than 5000, it freaks out and explodes.
2. In order to make the spring network, it must create a spring between every circle and every other circle. This is a lot of springs. With 121 initial points, you have 7260 springs! On my old laptop, anything more than 200 points runs very slow.
3. You can swap between random and gradient radii with the toggle. See the note about swapping between large radii in center vs small radii at center.
Random Radii Start
Random Radii End
Large Radii at Center Start
Large Radii at Center End
Small Radii at Center Start
Small Radii at Center End
…
ot of other things to happen).
It begins a threaded version check to see if a newer version is available for download.
1 and 3 are clearly not needed for you to get it to work, so all the important stuff must happen in step #2. When showing the Grasshopper main window, the following things happen:
Grasshopper.Instances.ComponentServer method is called and if it returns null then the whole thing aborts. This is typically when you see the Grasshopper banner and the loading progress bar.
If the Instances.DocumentEditor field is empty, it will create a new instance of the window and assign it to Instances.DocumentEditor.
It will then make sure that if the window is visible, it is also within the bounds of the screen. This is useful for when a second monitor becomes unplugged.
If the window was hidden, it will show it.
To answer your earlier question: "Is there a way to know whether Grasshopper is done initializing?" the answer is yes. Grasshopper initialized on the main UI thread so unless your code is running in a thread you created, you will not be able to do anything while I initialize. You call Instances.ComponentServer and by the time the function returns initialization is over and done with.
"waiting for IscomponenetServer to become true" This is not useful. Either IsComponentServer is false, in which case you need to call Instances.ComponentServer to make it true, or it is already true in which case calling Instances.ComponentServer just returns the already existing server. So you might as well call Instances.ComponentServer directly and cut out the middle man.
However, if you plan to open files, you will also need the main editor window up and running or there will be no place to put these files.
So I think ultimately you're right in calling the _Grasshopper command, as it does both things that need to be done in order for you to open files and run solutions. However, you should be able to use LoadEditor() or ShowEditor() from the RhinoScriptInterface object as well, they do the same thing.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 12:56pm on October 22, 2012
ing things for beginners trying to use python in the grasshopper python component. Your life will be easier for now (as a beginner) if you restrict yourself to either working on things that exist only in Grasshopper or only in the Rhino Document, rather than both at once.
If you right click on the python component you can designate among three options. I don't have rhino nearby or I would tell you which option to pick, but here's what you need to know to figure it out for yourself:
right click and experiment with the options.
to change variables on the component you should be able to just zoom in and add or delete inputs/outputs
the different doc options affect whether scriptcontext.doc refers to the Rhino Document or the Grasshopper document. Furthermore, they affect what kind of data your inputs give to your script.
to understand what kind of data you are working with, you can always get the data type of a variable, using
"print type( myvariable )".
If you have a list of things you can say
"print type( myvariable[0] )"
try using this on anything you get mildly curious about.
based on the options you select by right clicking on the component, you will get either:
1. object IDs for grasshopper objects
2. object IDs for items in the Rhino Document
3. geometry objects that you will find inside of Rhino.Geometry (look here)
Everything in python is some data type. you can find out information on the capabilities of that type by looking at the RhinoCommon docs (that I just linked to above) or the Grasshopper SDK documents. Mostly you'll just need RhinoCommon. Every function for each type will list the kinds of data it needs, and the kinds of data it gives you. If you encounter a type you don't know, just look it up, and you can see what abilities and properties it has. Read the RhinoCommon documentation and play around a lot, and everything will begin to come clear.
be patient, you'll run into errors constantly, but keep exploring the documentation.…
idad del entorno construido contemporáneo y la sociedad. Creo que deja muy claro una inquietud mía respecto de cómo las herramientas de diseño paramétrico pueden ayudar a ser responsivo a la complejidad que supone generar, mediante el diseño, un metabolismo urbano circular en un sistema de alta complejidad que incluye ciudad/naturaleza ya no en la distinción clásica de naturaleza apartada y sublime sino como un todo, en donde inclusive la sola idea o concepto de naturaleza, atenta con con la simbiosis que debiese existir entre estos dos ámbitos tradicionalmente separados.
2. Me llamó la atención la claridad de la analogía que hace entre genotipo y fenotipo y componentes adaptativos en superficies populadas. Para mi esto es la esencia del diseño paramétrico y refleja muy bien también la idea de "field" o campo. El amarre o restricción del componente y sus estructuras pueden generar entonces una variabilidad y difereniación infinita en cuanto posee relaciones asociativas que se adaptan a condiciones que varían en tiempo/lugar/forma. Esta idea, considero, está en el centro de una preocupación personal que es cómo diseñar efectivamente la sustentabilidad. Sin duda lo más sustentable sería no diseñar algo dos veces sino mas bien adaptarse y responder al cambio.
3. Otro tema que me llamó la atención es la abolición de sub-sistemas funcionales, lo cual rompe con el paradigma moderno. Estaríamos entonces frente aun gran sistema en donde desde el inicio al final, todos sus componentes están relacionados efectivamente, en el entendido de que ninguno permanece estacionario o insensible al cambio, si es que otro componente varía.
Atte
…
tly light vehicles such as bicycles and variations thereof. Although frame design is mostly of a structural nature, there are a number of elements that interact mechanically. Also, as you may be aware, bicycle and high grade tubing is not of constant section so shelling method in FEA is out of the question, but even so, because the joint needs to be modeled very accurately, that means different geometry and properties for welded area, heat affected area and base material; like so a simpler FEA package may not suffice.
I don't know karamba extensively, rather superficially, actually, but I'm under the impression it mostly deals with beam analysis. Pls correct me if I am under the wrong impression. I must say it would be very nice to have a complete FEA package inside GH really!!
Typical workflow for me would be to model everything in Solidworks, and then export to Ansys Mechanical. Although Ansys needs to read every input and naturally remesh back again, integration within Solidworks, Catia, Inventor, Creo, Solidthinking... and the sort, works reasonably well.
Now, I don't remember Ansys having a Rhinoceros plugin so that you could bridge the 2 together, but maybe I should go check again.
3) Great work with that fractal tree. It's nice to know it is a possibility at least. I have tried Apophysis and others, but to my knowledge there's not an application that could deliver 3D fractal designs in a way that you could further manipulate with conventional modelling techniques, maybe apply textures and render, or export to CAM, 3D printing... etc.
P.S.: I have tried all the apps mentioned above and then some more. All of them have serious limitations when it comes to parametric design. For complex models they crash plenty upon rebuilding... a number of time consuming errors appear, and general work flow isn't very efficient for purely parametric work. Speaking for myself, I'd rather spend the time on a definition that enables me to have full control and then generate a new result within seconds, than model everything very quickly and then taking a long time with each new result.
(Thanks for the replies and sorry for the long text, you asked to elaborate).…
or 3. What is important is the direction and position of end curves (where a point is connected to only one line). The direction will give the orientation of the foot. The position its position as it is used as Anchor in Kangaroo.
So you will have this mesh. There are some mesh overlaps, which are not important if points are not coincidents.
U and V curves are used for springs. Mesh is used for inflation. Points (from mesh or lines for gravity).
With no inflation (don't use it at the beginning), constant stiffness for springs and not cutoff the shape is like that :
In order to have more equal size in lateral I apply a cutoff. I also add differents strength of string on u (along legs) direction, I use genome (grafted) in order to have multiple sliders. After that a bit of inflation and it is done.
…
other ordering mechanisms. If you feed layer names in explicitly, output is grouped by layer. If you feed multiple types or multiple object name filters, output is grouped by these instead, following standard data tree behavior. There are a number of ways to achieve layer-based sorting of objects using existing components:
Letting anything be organized by the layer-palette order is extremely sticky, since it can be re-ordered on the fly by various sort mechanisms. See more on this topic in my conversation with Tim Halvorson in the comments on the Human Group page. As it stands now I do not alphabetize layers in the layer table component as you say - I use the layer index, so that as new layers are added/rearranged, the entire order of the set doesn't change in unpredictable ways. If layer sort order is preferable to you, you can use the simple one-line script I provided Tim in order to retrieve the sort index and use it to sort your layers. My priority for both object order and layer order in the components is to minimize unnecessary changes/refreshes/event listening by returning everything exactly as the SDK gives it to me.
(3) I've added the Include Locked and Include Hidden options to the latest release attached to this post. However, this only pays attention to hidden objects, not hidden layers. I do not want to include a toggle for "Include Hidden Layers" because this would force the dynamic pipeline to expire every time a layer's visibility changed, which I do not want - for most purposes this would cause unnecessary recomputing. However, with the components as they exist now, you can drive the dynamic pipeline with a layertable set to auto update, like so:
This has the effect I think you are after, which is to ignore objects on layers that are hidden - and recognize them as soon as the layer is turned on.
…
ot in parallel: simpleFoam, and the the it converges after 1769 iterations:
Several new folders were created in the case folder:
I opened the case file in PareView, which gives the following error message:
Nevertheless, the results can still be visualized, but I'm not sure if the visualization is correct:
... and additional error messages keep coming out:
Hope you can kindly advise if the results are correct and what to do with the error message during visualization in ParaView.
Thank you very much!
…
fsetted (to create an inner ceiling), and on the ground i lofted the curves also(floor).
I would like to create a random pattern of points on the ground-surface that pulls the off-setted, "inner roof" towards the ground, creating pillars resembeling to the bird skull section (picture 3). Preferrably in several "floors" if possible.. (like in the picture)
If anyone has a better suggestion on how to create the bird-skull structure inside my shapes, you are very welcome to say so!
I have only worked with grasshopper for a couple of weeks, so if you explain something, please do it step, by step, so that I can follow:)
Peace, thank you and keep up the good work everybody!!
/s …
400m swatch from a point somewhere in Catalunya.
The three APIs used were the following:
Google Elevations API
Mapquest Open Elevation Service API
Geonames SRTM3 API
I also tested the USGS Elevation Service, but I was looking for API which allowed me to query globally.
Here are the results (441 locations queried):
As a side note, Grasshopper reports the requests for data came in at*:
1.9s for Google Elevations API
3.5s for Geonames
413ms for Mapquest
*this is not only measuring the request, but also has to take into account the request throttling due to the various API limitations.
As you can see, there is quite a difference in the data, especially when looking at what Google returns. It is pretty clear that Mapquest and Geonames use very similar data coming from the SRTM3 dataset. This dataset is at 3 arc-seconds (appx 90m) for most of the globe (up to 60ºN and 56ºS). The resolution is 1 arc-second for the United States. Google reportedly uses hundreds of data sources to achieve a finer resolution, though this comes at a cost. Geonames and Mapquest put a limit of how many locations you can query at one time, with no limit per day (that I could find). Google puts a limit of 2500 requests per day, with each request having up to 512 locations, or a total of 25,000 locations.
The comparison was made possible by some of the little utility components which are included in gHowl, namely the XYZ->GEO component which translates points in Rhino/Grasshopper to WSG84 coordinates. …