i to usb cable and was able to connect Grasshopper with my digital piano realtime through a simple VB.NET component, no need for any other intermediate software. I used this library http://midiservices.codeplex.com/ (but there are several others).
The VB component outputs a list of 88 values that correspond to the intensity of each piano key at the current time (if the pedal is on and a key is depressed the value is halved, if the pedal is off the value is 0).
The rest of the definition is just to do something with this data. It uses these values to display each note as different floating colors that move with the wind (using Kangaroo). The strength of the wind changes as the music dynamics change.
If there are several devices connected you might have to change the line device.Open(0) to another number.
Definition: piano_midi.gh
…
an be given as 88° and 95°. All three angles must sum up to 180, and we're already 3 degrees over balance. Or maybe the user specifies three edge-lengths: 21, 12 and 8. 21 is bigger than 12+8, so even if the triangle was stretched flat, the two short edges cannot reach the ends of the long edge. The above is easy to test for and I add errors to the component if an invalid triangle is provided. However there are also many angle+edge length combinations which result in invalid triangles.
I could of course test for these as well, but the problem is now tolerance. What if the user specifies a redundant angle of 54.7°, whereas the mathematics tell us that the actual angle is 54.7002°. Is that an error? If so, is the angle wrong or is perhaps one of the edges wrong? Or has the triangle simply been over-constrained? Is there a mathematically robust way of dealing with this? And if so, would that also be the most user-friendly way of dealing with it?…
Added by David Rutten at 2:23pm on August 23, 2014
s are identical to those in Grasshopper so I am getting an ambiguous reference error when loading the OpenStudio.dll into my component and using the Point type hint.
private void RunScript(Point3d pt, ref object os3DVector)
{
OpenStudio.Point3dVector points = new OpenStudio.Point3dVector();
points.Add(pt);
}
Error: 'Point3d' is an ambiguous reference between 'Rhino.Geometry.Point3d' and 'OpenStudio.Point3d' (line 88)
Is there any particular reason the Grasshopper reference to Point3D is implicit rather than explicit Is this something that can be changed on my end as it appears to be locked down.
Would like it to read as follows:
private void RunScript(Rhino.Geometry.Point3d pt, ref object os3DVector)
{
OpenStudio.Point3dVector points = new OpenStudio.Point3dVector();
points.Add(pt);
}
Awesome, thanks!…
f buildings) but am working on a short term design project with a former professor of mine, to design a traditional wood schooner for the purposes of youth sail (and life) training.
I have helped developed a number of tools and techniques using grasshopper and rhino (which is why I was hired) to analyse hull form and to aid in the process of design.
My work in the world of naval architecture is short term, so i'll be moving back into the realm of buildings in the next year or two. Although, i will continue to use grasshopper and rhino as long as it is relevant. It will always be enjoyable :D…
ength is applied to particle b, and the same vector multiplied by -2*BendStrength is applied to a and c
Hope that helps. I was thinking of changing this input slightly for the next Kangaroo release, because I realize it can be a pain if you want bending stiffness of a curve to be independent of the number of points used, but I'll make sure to clarify any changes when I do update this.
…
ing up is that the glass polygon needs to have vertices that align with the endpoints of the therm BC line segments in order to be written into the thmx file. You can see that I have done this in the attached file by generating the glass thermPolygon from a polyline that has vertices that align with the thermBC endpoints.
I had been thinking of writing a check in the writeTHERM component to automatically split the polygons using the BCs when it sees that the BCs are not aligned with the polygons but it was increasing the calculation time a lot. Perhaps I'll put this in but I'll make it optional.
-Chris…
go As New MRhinoGetObject()
go.SetCommandPrompt("Sélectionnez les deux arrêtes sur les pièces à serrer pour placer la Boulonnerie...")
go.SetGeometryFilter(IRhinoGetObject.GEOMETRY_TYPE_FILTER.edge_object)
go.AcceptNothing()
go.GetObjects(2, 2)
If (go.CommandResult() <> IRhinoCommand.result.success) Then
C1 = go.CommandResult()
End If
Dim object_ref1 As MRhinoObjRef = go.Object(0)
Dim obj1 As IRhinoObject = object_ref1.Object()
Dim curve1 As OnCurve = object_ref1.Curve()
Dim object_ref2 As MRhinoObjRef = go.Object(1)
Dim obj2 As IRhinoObject = object_ref2.Object()
Dim curve2 As OnCurve = object_ref2.Curve()
C1 = curve1.NurbsCurve
C2 = curve2.NurbsCurve…
ls and methods of Design Thinking and connected approaches you will discover needs and provide solutions starting with the questions above. You will work with a global company on a real challenge! You will learn Design Thinking by doing with two international professors and experts! You will collaborate in interdisciplinary teams from Barcelona and Berlin and pitch your idea! The winning ideas will be rewarded!
…