s is like flattening your data PARTIALLY - chopping an index off the end of the branch paths without obliterating the tree entirely. When working with one "set" of input data, a flatten works to get these lists to match up - but when working with multiple sets, we need to be careful to preserve the original branch indices that keep all four of your original regions separate. As a rule, whenever you're feeding two data trees into any component, they should have the same number of branches. (or one should have branches and the other should be a flat list, in other cases).
The rule of thumb I tend to teach is this:
In 90% of cases...
For lists, all your inputs should either have 1 item or N items. That is to say, if you're feeding 4 items into one input and 9 items into another, something is probably wrong.
For trees, all your inputs should have either 1 branch or M branches. That is to say, if you're feeding a tree w/ branches {0;0} to {0;3} into one input, and a tree w branches {0;0;0} to {0;3;8} into the other input, something is probably wrong.
Grasshopper essentially matches up branches first, then lists second. By "matching" I mean it processes them together. Simple example of the Line component - it will match the first branch of points in the A input to the first branch of points in the B input, creating lines between those points, then match the second branches, the third branches, etc. THEN, it applies the same logic to the level of the list (with a pair of matched branches {0;2}, match all the items in those branches to each other - first item in one branch to the first item in the other branch, etc.)
This is a tricky concept but it seems like you're already well on your way to understanding it from your definition - "PShift" is a critical tool in your path management arsenal. I hope this (overly long) response helps clear things up for you!
…
ells new products like the Firefly Interactive Prototyping Shield which mounts on top of your Arduino Uno and provides access to a number of useful input (ie. sensors) and output (ie. motors) devices. It includes features like:
Three linear slide potentiometers connected to analog pins 0, 1, and 2
Two-axis joystick connected to analog pins 3 and 4
Light sensor (photocell) connected to analog pin 5
Three push buttons connected to digital pins 2, 4, and 7
Red LED connected to digital pin 13
RGB LED connected to digital pins 3, 5, and 6
Two servo connections on digital pins 8 and 9
A connection to the Easy Stepper Driver (co-designed by Sparkfun Electronics and Brian Schmalz) to control stepper motors. The direction of the motor is controlled through digital pin 10 and the number of steps through digital pin 12
High-voltage MOSFET circuit capable of driving lights, valves, DC motors, solenoids, or anything else requiring higher voltage or current. The gate of the MOSFET is connected to digital pin 11 (PWM).
Some come take a look and let us know what you think!
…
I want to use standard components I have to use 2 or 3 to get the result or use a scripting component, but sometimes I fell this could be avoided if we could access geometry properties and methods directly, let's say we want to use the x coordinates of a bunch of points, instead of decomposing the points to get the X input we could directly type X in the expression editor input to do so similarly to what happens with math formulas.
mmmm, I suppose that methods will be a bit trickier if more inputs where necessary.
On the other hand GH is very easy to start doing things with because the interface allows all levels of knowledge as shown on this forum where most of the questions, I'd say, have to do with solving specific geometry problems or asking for people experiences in similar problems and not always, how do I use a component if you know what I mean.
Overall I'm so, so happy GH is out there in the hands of creative people and in the hands of creative developers! Perhaps there is no need for GH to do any task because it certainly does quite a lot and it is so versatile, even better, that the requests of users get implemented as far as possible.
I think it's very difficult to compare two programs unless you are at the same level of proficiency on both, in the future I'm going to pay more attention as to if there would be a simpler way to do things in GH and if it required some implementation.
My two pence, 8)
Evert…
Added by Evert Amador at 4:03am on February 23, 2011
simple, there are many symetries in 3 main planes. So I used arcs rotated 45° from the main planes and I generate a pentagon which was mirrored and rotated many times.
At the end there are 24 pentagons and 8 hexagons so 32 faces, 54 points/vertex and 84 edges.
It could generate some others tessalation styles
…
ifically: I have a 100' vertical plane lofted between curved top and bottom profiles. I contour it every 8' (normal direction is Z, giving me 13 horizontal curves). I use Divide Curve to divide each contour into 10 segments. The "Points" output of Divide Curve now yields 13 branches with 11 items each, corresponding to 13 contours with 11 points from the left end of the curve to its right.
I now want to string "vertical" lines, and connect all the 2nd items in each branch together, all the 3rd items, etc... in order to make a polyline that travels between each 2nd point or 3rd point. i don't want to use Cull Pattern/Nth/Index because the number of subdivisions could change (11 could become 20, etc).
How do I connect the Nth item of each branch in this tree? Moreover, how do I connect all values in a branch with their corresponding values in all other branches?
Thanks for any replies,
Richman Neumann
Solomon Cordwell Buenz Architects
…
aph relaxation in 3D and more). There is much more already in our GitHub repos and more to be added. For getting an idea of our future direction check this lecture out. For getting a better understanding of graphs and graph theory watch this lecture and this lecture on a gamified spatial configuration process. Stay tuned for more and do not hesitate to post Python questions in the meantime.
ps. If you are having installation problems, please check the remedy suggested below:
Comment by Iman Sheikhansari on August 26, 2019 at 8:33amDelete Comment
HiIf you are encountering a problem with rhino 6 versions don't worryFollow these steps.1. Download SYNTACTIC from https://sites.google.com/site/pirouznourian/syntactic-design2. Install it and go to the installation folder, Drag & drop SYNTACTIC(green one) over your grasshopper canvas.3. Close your rhino and reopen it. 4. Type GrasshopperDeveloperSettings5. Tick the Memory load *.GHA assemblies using COFF byte arrays option6. Run grasshopper and enjoy plugin
…
in App store.
2. Modelo now supports VR! check out this video:
3. We've added a specular option in the rendering settings. So now you can have your design rendered a little bit shinny-er.
4. There is also a "filters" option in this panel, with which you can get some interesting image post processing effects. We are expanding this filter library, if you have any suggestions, please let us know.
5. This one is very important and has been requested by our customers for a long time. Now when you upload a model, you can grab the reviews(3d comments, screenshots,sketches) from your previously uploaded model! This works really conveniently if you use Modelo for your design review/presentation, cause you don't have to recreate the same 3d anchor views every time you made some changes to your design.
6. Also, our developer API is almost ready, which means if anyone is interested in developing a grasshopper plugin that works with Modelo, they can!
There are some many other updates and bug fixes happened. I don't want to list all of them here. Definitely stay subscribed with our newsletter. Modelo is thrived to grow into a more comprehensive platform! If you have any good ideas about our platform, please do not hesitate to let me know!
Here is our Youtube channel: https://www.youtube.com/channel/UCufBShhLtUQepsit9ilI-AA
Cheers
Qi…
Added by Suqi to Modelo at 1:24pm on October 18, 2016
. Now i can duild the angle (i check angle with a vec cross prod). I sort the angles and the node index
now i can pass the point as ventrices to a polyline component.
and at the end the polyline in green
Example of a bad figure
Why bad?
Because i can order the points in the marked area. The angle method is not working enymore.
Point 8 and 9 are ok. Point 6 comes now before the 9.
Point 14 is ok. But point 15 comes before. And so on...
I have no idea how to solve this…
Rhino5 SR9. PT will not load unless you update.2- Download the PT installer (PanelingTools_2014_08_24_00.rhi) from: http://www.rhino3d.com/download/rhino/5.0/PanelingToolsV5/2- Double click the downloaded rhi file and follow the prompts to install.3- Next time you open Rhino and grasshopper, you should see the new version installed and loaded.4- The updated toolbars should be also installed. You might need to load using "ToolbarLayout" Rhino command.Documentation:There are comprehensive manuals available. Please make use of them.1- PT-Rhino: http://wiki.mcneel.com/_media/labs/panelingtools.pdf2- PT-GH: http://
wiki.mcneel.com/_media/labs/panelingtools4grasshopperprimer.pdf
New in this Release:--------------------
PT-Rhino:
1- All 2D and 3D Paneling commands, now pay attention to the attributes of the source module. Morphed geometry is no longer added to a new layer and is placed in the same layer as that of the source module(s).2- ptPanel3DCustomVariable with mean option: added support to use multiple start/end modules.3- ptPanel3DCustomVariable command with mean option: added support to use points as part of pattern.
4- Fixed history bugs to custom2d and custom3d variable commands.5- ptOffsetBorder: added bitmap and draft angle options.6- Added history support to ptGridSurface* commands.7- ptPlanarLips command is discontinued and is now replaced with the new ptTabs. The new command has "Distance" and "Recess" options to create tabs with a miter. It works with planar surfaces and polysurfaces.8- ptUnrollFaces: Many improvements and new options.9- Many other minor bug and crash fixes.PT-GH:1- Added anew component to morph variable 3D components using mean or tween method between matching curves, meshes or surfaces.2- Added the new ptOffsetGrid component of a grid.3- Updated the ptMorph2dVariable component to accept a tree structure.4- Fixed a few miscellaneous UI bugs and crashes.Feedback:As always, feedback is ve
ry much appreciated. Please post questions and reports to the following:1- Rhino discourse forum (http://discourse.mcneel.com/)2- PT forums (PT-Rhino: http://v5.rhino3d.com/group/panelingtools) and (PT-GH: http://www.grasshopper3d.com/group/panelingtools).3- Email tech (tech@mcneel.com) or reach me directly (rajaa@mcneel.com).Enjoy!Rajaa IssaRobert McNeel & Associates…
ns about them.
It's a direction for Kangaroo I very much intend to continue developing - and I am still getting to grips with the possibilities and experimenting with how different optimization and fairing forces work in combination with one another, so I would value your input and experience.
For those interested in some background reading material -
[1] http://www.cs.caltech.edu/~mmeyer/Research/FairMesh/implicitFairing.pdf
[2] http://mesh.brown.edu/taubin/pdfs/taubin-eg00star.pdf
[3] http://www.pmp-book.org/download/slides/Smoothing.pdf
[4] http://graphics.stanford.edu/courses/cs468-05-fall/slides/daniel_willmore_flow_fall_05.pdf
[5] http://www.evolute.at/technology/scientific-publications.html
[6] http://www.math.tu-berlin.de/~bobenko/recentpapers.html
[7] http://spacesymmetrystructure.wordpress.com/2011/05/18/pseudo-physical-materials/
[8] http://www.evolute.at/technology/scientific-publications/34.html
[9] http://www.evolute.at/software/forum/topic.html?id=18
At the moment the Laplacian smoothing is uniformly weighted, which tends to even out the edge lengths as well as smoothing the form, which is sometimes desirable, and sometimes not. It also tends to significantly shrink meshes when the edges are not fixed.
I plan to try some of the other weighting possibilities, such as Fujiwara or cotangent weighting (see [1] and [3]), as well as other fairing approaches, such as Taubin smoothing [2], Willmore flow[4], and so on. This also has applications in the simulation of bending of thin shells.
Planar quad panels are often desirable, but I'm finding that planarization forces alone are sometimes unstable, or cause undesirable crumpling, so need to be combined with some sort of fairing/smoothing, but the different types have quite different effects, and the balance is sometimes tricky.
There's also the whole issue of meshes which are circular (I posted a demo of circularization on the examples page), or conical (this one still isn't working quite right yet), and their relationship with principal curvature grids and placement of irregular vertices, all of which is rather different when the whole form is up for change, rather than having a fixed target surface [7].
I'm also trying to get to grips with ways of making surfaces of planar hexagons, which need to become concave in regions of negative Gaussian curvature (see this discussion)
and I hope to release soon a component for calculating CP meshes, as described in [8], which I think could have many exciting construction implications.
While there are a number of well developed smoothing algorithms, their main area of application so far seems to be in processing and improving 3D scan data, so using them in design in this way is somewhat new territory. There can be structural, fabrication or performance reasons for certain types of smoothness, but of course the aesthetic reasons are also often important, and I think there are some interesting discussions to be had here about the aesthetics of smoothness.
Anyway, that's enough rambling from me, hopefully something there triggers some discussion - I'm really keen to hear about how all of you envision these tools might be used and developed.
…