rawing speed here depends mainly on the speed of a single processor. Get a faster processor, increase the redraw speed.
2) Geometry operations. Such as Piping, Lofting, Curve CP etc. These are all performed by the Rhino core so there's little to be done here. We're continuously working on speeding things up, but they're already pretty fast (considering the complexity of the tasks). Rhino 5 has got a few bits and pieces of multi-threaded code and once we're convinced they're working well we'll probably apply those newly won skills to other parts of the core. These operations are also dependent mainly on processor speed.
3) Autosave operations. Since these involve writing data to the disk, it's very hard to predict whether or not it will be a fast or slow operation.
4) Viewport previews. This code is actually pretty horrible, it could be much faster than it currently is. However, a good Graphics card will make a lot of difference both now and in the future.
The ideal spec for Grasshopper is the same as it is for Rhino:
A) Get a good graphics card. We no longer shun ATI since their latest cards are actually pretty good, so either get a high-end NVidia or ATI card. Good gaming cards are not necessarily good CAD cards. Gaming cards are optimized for triangles and sprites, they don't do particularly well with curves.
B) Memory is dirt cheap, get as much as you can. 4GB being the absolute minimum. But, be sure to get fast-access memory, makes a lot of difference.
C) Get a fast processor. Since neither Rhino nor Grasshopper very much use multi-threading it is important that every single core is fast. I.e., don't get fooled by vendors who add the core speeds together and present that as the processor speed. One core running at 4 GHz is better than 8 cores running at a combined 16GHz.
As for OS, I'd recommend XP Pro or Windows 7. Stay away from Vista if you can. Also, almost all the software and hardware problems I come across at workshops are happening on MacOS machines running some flavour of Windows. Be it parallels, Bootcamp or VMWare.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 11:33am on December 15, 2009
achieving some preliminarily/conceptual Academic solution that "may" qualify as "realistic". I have several defs that do similar stuff ... but this is an Academic forum and as you can understand a real-life solution would never appear here.
But let's forget the W task (truss out of relaxed mesh with depth, known as W in our trade). See for instance a step prior the "thickness".
General guideline:
1. Create a boundary (a BrepFace) and attempt to do some "reasonable" Mesh via Mesh Machine.
2. Mastermind a policy to manage anchors (naked and/or clothed vertices). This appears easy but is impossible without code IF you want to do it interactively.
3. Separate naked edges from clothed ones (as we do in real-life in tensile membranes etc etc) in order to apply different goal parameters.
4. Relax the mesh (K231 engine).
5. Either work with a "geodesic" structure (W = 0) or make a truss out of the mesh in 4. In either case decide the real-life system in use (say a Mero KK or some other).
6. Check clash truss members issues and interactively vary vertices in order to resolve them.
7. Create all the required connectivity Trees (VV, VE, EV).
8. Mastermind the skin solution (only for experienced pros: avoid at any cost that one).
My advice? Unless you are very determined ... well ... what about choosing an easier design task?
…
ge curves. The source code is available as usual on GitHub, https://github.com/mcneeleurope/ShortestWalk.
Here some examples of walks on predefined and custom grids.
With equilateral grids (1, 2, 3), the shortest walk on the network is the same both counting the edge length and the number of links. With these types of grids, there are often several solutions, one of which is selected by the ShortestWalk component. If the automatic search is used (no lengths are specified), then the A* algorithm is used and this will result in a path that departs "not much" (there are more rigorous definitions) from the straight path.
With the square grid (2), the geometry is called taxicab or Manhattan, and results in the total distance being the sum between the number of vertical steps and the number of horizontal steps.
The circular grid (4, 6) shows a case in which curve distance and "link distance" (number of edges that are walked, uses Dijkstra's algorithm) results is completely different paths. This example here selects the tangential road (4) or the "city center" (6).
Finally, Voronoi diagrams (5), Delauney triangulations (7) and random mazes or labyrinths (8) can be walked, searched and solved quickly, if a solution is possible, now even if there are multiple overlapping curves.
These examples show two-dimensional grids, but it is possible to also compute (weighted) walks on three-dimensional networks.
The compiled Grasshopper assembly (.gha) and the examples can be downloaded from Food4Rhino. Join the group if you want to get updates for new releases.
- Giulio________________
giulio@mcneel.comMcNeel Europe, Barcelona…
ntains only 1 item. So there is no 3 and 9 in this branch. It stems from the circle and the points having different path structures at the input to the move component circled in red.
With regard to the pipe split:
You have chosen to cap the pipe with rounded ends thus making a Closed BRep (Polysurface) so the best way to trim it is to extrude the splitting surface up into a closed Brep and do a Solid Trim.
Alternatively if it was just a single surface (no caps) you could use the Surface Split component to trim it like the image below.
Note that you need to check your data structures further upstream as you are getting duplications or null values.
…
ff and talk about another "more obvious" case: here's a visual example that may shed some light on that "interactive" BIG thingy.
1. We have a flat mesh. "Size" of mesh faces is due to a freaky thing known as MeshMachine.
2. A Physics Engine (Kangaroo 1/2) is used in order to "inflate" upwards the mesh yielding a "vault" type of topology. Either via components (K1) or straight via C# code (K2). Not a big deal at all: even a kid can do it.
3. "Inflation" without anchors ("fixed" mesh vertices == steady stuff) is kinda a 3rd marriage (avoid: better safe than sorry).
4. 1M Question: by what means can you explicitly define what vertices (on a per vertex basis) to use as anchors?
Answers to: The Lord, District 9, North Pole…
his comes in the form of an HTML page with links to every component, so you will need to view it in your web browser. (I use Chrome and it doesn't seem to be working correctly, but when opened in IE its fine.)
2) Included in each help topic for each component is the Inputs and Outputs descriptions and data types.
3) You supply the data. What you supply and how you supply it is for you to decide. There are umpteen different ways. Are you asking for a list of those ways for each input?
4) Points can either be Rhino objects or 3D co-ordinates. To create a point you can use any of these methods, but it mostly comes down to user preference. I like using Panels as this displays outside of the component.
5) Because of the nature of vectors they represent magnitude and direction but they don't have an independent location, so there is a component that will display vectors in Rhino.
6) The user.
7) There is a Primer on the front page. Here you find the Basics, but because GH is ever evolving in its current beta state you might find things that aren't relevant any more or simply don't work the same. And here is the reason why nobody is writing an update because it could be soon out of date.
8) Importing images by either dragging them from explorer onto the canvas or right click context menu Image...
9) Single line = Single Item of Data. Double line = Multiple items of data on the same Branch. Dashed Double Line = Multiple Data on Multiple Branches.
10) User preference
11) Toolbar management is probably the bane of David's life. Most things are logically placed. For example the Curve Tab, Primitives are any simple curve types that you are creating from scratch. Similarly Splines is for more complex curve types created from scratch. Analysis is where you find components that are finding answers supplied by curves, control points, curvature, parameters, end points etc. Division is a subset of this category but has a group of its own. And Utilities is where you find curve related actions that you want to perform, offsetting, rebuilding projecting, exploding etc.
12) I would image it would have been the Point On Curve component in Curve>Analysis. Why that group? You are not putting a point on a curve you are analysing a curve for the location of a point based on some parameters that you are supplying. For example "what is the mid point?"
I hope this goes some way towards answering you questions. No doubt this will have generated more so don't be afraid to ask, it took me several releases of Explicit History (aka Grasshopper) before I realised what the egg did, it never occurred to me that I could put my objects into Rhino when I was finished. Or the fact that I could use panels to 'see' data outputs.
Al the best,
Danny…
Added by Danny Boyes at 3:48am on December 9, 2010
should follow the instruction which mostapha has wrote in https://github.com/mostaphaRoudsari/ladybug/blob/master/resources/I...
Instructions for Installing Ladybug + Honeybee: (Follow steps 1-6 for basic functionality and 1-11 for full functionality) 0. If you have an old version of LB+HB, download the file here (https://app.box.com/s/ds96em9l6stxpcw8kgtf) and open it in Grasshopper to remove your old Ladybug and Honeybee version. 1. Make sure that you have a working copy of both Rhino and Grasshopper installed. 2. Open Rhino and type "Grasshopper" into the command line (without quotations). Wait for grasshopper to load. 3. Install GHPython by downloading the file at this link (http://www.food4rhino.com/project/ghpython?ufh) and drag the .gha file onto the Grasshopper canvas. 4. Select and drag all of the files in the "userObjects" folder (downloaded with this instructions file) onto your Grasshopper canvas. You should see Ladybug and Honeybee appear as tabs on the grasshopper tool bar. (If you are reading this instruction on github you can download them from http://www.food4rhino.com/project/ladybug-honeybee) 5. Download the files at this link (https://app.box.com/s/bh9sbpgajdtmmystv3n4), unzip them and copy the contents to both C:\ladybug and C:\Users\[yourUsername]\AppData\Roaming\Ladybug. 6. Restart Rhino and Grasshopper. You now have a fully-functioning Ladybug. For Honeybee, continue to the following: 7. Install Radiance to C:\Radiance by downloading it from this link (https://github.com/NREL/Radiance/releases/download/4.2.2/radiance-4...) and running the exe. 6. Install Daysim to C:\DAYSIM by downloading it at this link (http://daysim.ning.com/page/download) and running the exe. 8. Install Energy Plus 8.1 to C:\EnergyPlusV8-1-0 by going to the DOE website (http://apps1.eere.energy.gov/buildings/energyplus/energyplus_downlo...), making an account, going to "download older versions of EnergyPlus, selecting 8.1 and running the exe. 9. Copy falsecolor2.exe (http://pyrat.googlecode.com/files/falsecolor2.exe) and evalglare.exe (http://www.ise.fraunhofer.de/en/downloads-englisch/software/evalgla...) to C:\Radiance\bin 10. Download the OpenStudio Libraries (https://app.box.com/s/y2sx16k98g1lfd3r47zi) and unzip them to C:\ladybug\OpenStudio. 11. You now have a fully-working version of Ladybug + Honeybee. Get started visualizing weather data with these video tutorials (https://www.youtube.com/playlist?list=PLruLh1AdY-Sj_XGz3kzHUoWmpWDX...).
It works for me..
Agus…
pecific character it encounters in the file a specific curve would be created (a line with a particular length/orientation associated with that specific character) whose starting point is on the end of the last previous line. here is simple action list:
read first character in txt file
identify character (number 20 in attached example)
insert line associated with character (1" horizontal line)
read next character in txt file.
identify character (number 8 in attached example)
start curve (specific curve associated with the number 8 (1.25" vertical line)) on the end of the previous line.
read next character in txt file.
identify character (number 5 in attached example)
start curve (specific curve associated with the number 5 (.25" horizontal line)) on the end of the previous line.
etc
loop repeats till end of txt file.
i am good with everything else (linking the file, building curves on the ends of things, creating line parameter w/ persistent data, etc) but I'm having a problem with the "if/then" nature of the project. I haven't found a component that has this sophistication yet... I've tried the equals component that compare lists and identify true/false scenarios and the f(x) along with dispatch to create a curve if a single situation occurs (like if x>3, then make a circle) but what about the next character?
I am wondering if I should do this in C+ (which I also don't know) but would rather create this in grasshopper.
See attached for example grasshopper file and txt file.
I would really appreciate any help you can offer - Thanks!!!
// jon…
Added by jon kuzmich at 11:14pm on September 14, 2013
ed cubics. Only geometrical information i found was on the wikipedia page above.
Grid spacing with ribs of unit length is 1+(1.5*2^0.5) = 3.12 in xyz for the cantitruncated, with alternating grid points used for the different modules (that's why i only use odd numbers of grid points in the GH definition) and a second grid shifted in the three directions with half of the grid spacing.
Second system has the same grid spacing in x and y (not alternating though) and 3 as Z spacing.
The Cartesian coordinate system for the different solids:
Cantitruncated:
http://en.wikipedia.org/wiki/Truncated_cube (±ξ, ±1, ±1), (±1, ±ξ, ±1), (±1, ±1, ±ξ) where ξ = \sqrt2 - 1
http://en.wikipedia.org/wiki/Truncated_cuboctahedron (±1, ±(1+√2), ±(1+√8))
http://en.wikipedia.org/wiki/Truncated_tetrahedron permutations of (±1,±1,±3) with an even number of minus signs
Truncated:
http://en.wikipedia.org/wiki/Cuboctahedron (±1,±1,0) (±1,0,±1) (0,±1,±1)
http://en.wikipedia.org/wiki/Truncated_octahedron All permutations of (0, ±1, ±2)
http://en.wikipedia.org/wiki/Truncated_tetrahedron see above
cheers,
pitrak…
o it would cause troubles with unfolding and fabricating... that's why I used Extrude point component- it will give you similar result, but all surfaces are planar.. you can control extrusion direction with a tip point in rhino...
2)I changed tagging so every tube has 8 points form list A and 8 points from list B... first number of tag is a number of point within one tube... last number of the tag is order of tubes (I draw a little picture in GH, hope you'll understand)...I think original way of tagging wasn't really usefull.. but you can change tagging by yourself...
3) the definition is really messy, sorry about that, but it's just quite complicated task...
4)if you find some incorrect order of tagging, use the slider that controls Shift List component ... it will shift tagging..
5) if you won't be using this definition or find some better way, pleeeease don't tell me - I'll jump out the window :D ... it took me whole day to make it work :D
6)I can't guarantee you anything- I hope it works, but if not - at least I tried... so check everything (especially order of tags and points) twice before you fabricate it.. or print few tubes and make them paper first..
7)there is a part of original definition, that is not useful anymore.. I left it there, but you can delete it (I called it "UNUSED PARTS OF ORIGINAL FILE")
..good luck
Dimitri…