subsequently able to retain a higher level of flexibility.
In Rhino however a rectangle is defined as only a plane and two numeric intervals (one for x, one for y). The possible solutions to this would be:
Extend the Rhino SDK Rectangle3d type to include constant radius fillet corners. This can be done, but is a lot of work and will break the SDK.
Create a new type in Grasshopper which is smarter than Rectangle3d. This complicates developing for Grasshopper because now you have to keep two different types in mind whereas before only one was needed.
Remove the Fillet Radius input from Rectangle components. I like this solution because it results in cleaner, simpler code, but it does mean people may need to use two components where before one was sufficient.
Make the Rectangle type smart enough so that it can recognise filleted rectangles and undo the filleting. This is something I can do right now for Grasshopper 1.0 and it in all likelihood would not break actual existing files even though it is technically a behavioural change.
I'll try and get (4) done for Rhino 6 SR1, I might decide to do (3) for Grasshopper 2.0. I sincerely doubt that (1) will ever get done and I dislike (2).…
Added by David Rutten at 4:38am on November 6, 2017
comerciales. Rhino permite comunicar ideas en el desarrollo, investigación, manufactura, marketing y proceso de construcción de un producto o espacio, antes de ser construido y genera documentos constructivos para la elaboración de los mismos. Permite exportar los archivos a las extensiones comerciales más utilizadas en la industria como DXF, DWG, Illustrator y 3ds entre muchos otros. La gran cantidad de extensiones suplen las necesidades especificas para arquitectura, diseño de producto, calzado, joyería, ingeniería, manufactura y visualización fotorealista.
Grasshopper es una extensión de Rhino que permite el modelado paramétrico sin tener conocimientos de programación o matemáticas avanzadas, facilitando el desarrollo de modelos de alta complejidad a partir de formas simples o complejas.
En este taller se cubren los principios de parametrización, analisis, panelización, Corte CNC.
Sesiones: 15 de 3 hrs
Duración: 45 horas
Días: lunes, miércoles y viernes
Horario: de 19:00 hrs a 22:00 hrs
Costo:
Pago único: $4,000 (antes del inicio del taller)
Pago fraccionado: $4,500
Primer pago: $2,000 para reservar tu lugar.
Segundo pago: $1,250 - 26 de septiembre
Tercer pago: $1,250 - 3 de octubre
…
ject that involves the design of an app that allows people to interact with a 3d model through some sliders.)
Ok, imagine you have a symmetrical shape like the one i drew:
What I intend to do is to have different 3 sliders that allow me to adjust the 3 distances (x, y, z) independently of one another.
-1st question: my idea is to draw the curves in rhino, then use the "divide" and "list item" components to extract the points I need. Is it correct? :D
-2nd question: the "move away from" component can be used in a symmetric way?
(I try to be more specific: with only one slider, can I move both points 5 and 6 simultaneously about the axis i drew?)
-3rd question: is there a way that allows the curves to reshape themselves as I move the slider related to the distance between a couple of points?
I hope I have been clear ;) I would greatly appreciate any help you can give me!
Matteo…
lass BrepDeform Inherits GH_Component Public Reslist As New List(Of String) Public Sub New() MyBase.New("BrepDeform", "Deform", _ "移动物件的控制点" & vbCrLf & "(Move the control Point to change a object)", "SEG", "Modify")
End Sub Public Overrides ReadOnly Property ComponentGuid As System.Guid Get Return New Guid("8226e0ea-ed6b-47c2-8a24-244f044152d8") End Get End Property Protected Overrides ReadOnly Property Internal_Icon_24x24() As System.Drawing.Bitmap Get Return My.Resources.SEG_BrepDeform End Get End Property Protected Overrides Sub RegisterInputParams(ByVal pManager As GH_Component.GH_InputParamManager) ' pManager.AddTextParameter("Guid", "Id", "将要被替换的犀牛物件" & vbCrLf & "(RhinoObjects that will be replaced)", GH_ParamAccess.item) 'Dim guidParam As New Param_Guid pManager.AddParameter(New Param_Guid, "Guid", "Id", "将要被替换的犀牛物件" & vbCrLf & "(RhinoObjects that will be replaced)", GH_ParamAccess.item) pManager.AddPointParameter("ControlPoint3d", "C", "控制点的位置" & vbCrLf & "(Control Point's location)", GH_ParamAccess.item) pManager.AddPointParameter("NewPoint3d", "P", "新控制点的位置" & vbCrLf & "(New Control Point's location)", GH_ParamAccess.item) pManager.AddNumberParameter("Tolerace", "T", "输入点与物件实际控制点对比的精度" & vbCrLf & "(Tolerace for the Control Point match)", GH_ParamAccess.item, 0.1)
pManager.AddBooleanParameter("BlMove", "M", "如果是True则进行移动" & vbCrLf & "(If true Perform the Move)", GH_ParamAccess.item, False)
End Sub Protected Overrides Sub RegisterOutputParams(ByVal pManager As Kernel.GH_Component.GH_OutputParamManager) pManager.AddTextParameter("Result", "RG", "结果列表" & vbCrLf & "(Result)", GH_ParamAccess.list) End Sub Public Overrides ReadOnly Property Exposure As GH_Exposure Get Return GH_Exposure.primary End Get End Property
Protected Overrides Sub SolveInstance(ByVal DA As Kernel.IGH_DataAccess) If Banner.astrict.showmessage Then Return Dim Ids As Guid = Guid.Empty 'Dim Ids As String = String.Empty Dim tpt As Point3d = Point3d.Unset, opt As Point3d = Point3d.Unset Dim tolar As Double = 0.1 Dim blMove As Boolean = False If Not DA.GetData(0, Ids) Then Return If Not DA.GetData(1, opt) Then Return If Not DA.GetData(2, tpt) Then Return If Not DA.GetData(3, tolar) Then Return If Not DA.GetData(4, blMove) Then Return If Not blMove Then GoTo line1 Reslist.Add(Now & "_未替换!(Replace failed!)") Else Reslist.Clear() ' Grasshopper.Instances.ActiveCanvas.ModifiersEnabled = False End If
' rt.AddRange(docobjlist.Select(Function(geoobj As RhinoObject) GH_Convert.ObjRefToGeometry(New ObjRef(geoobj.Id)))) 'Private Checked(5) As Boolean, Namestr() As String = {"Point", "Curve", "Brep", "Mesh", "TextDot", "TextEntity"}
Try
Dim rh As RhinoDoc = Rhino.RhinoDoc.ActiveDoc Dim rhobj As RhinoObject = rh.Objects.Find(Ids) ' Dim rhobj As RhinoObject = rh.Objects.Find(New Guid(Ids))
Dim bobj As BrepObject = CType(rhobj, BrepObject) RhinoApp.RunScript("Cancel", False) RhinoApp.RunScript("Cancel", False) bobj.Select(True)
RhinoApp.RunScript("_SolidPtOn", False) Dim gobjs As GripObject() = bobj.GetGrips ' rh.Views.RedrawEnabled = False For Each grpobj As GripObject In gobjs
If grpobj.CurrentLocation.DistanceTo(opt) < tolar Then grpobj.Select(True) Dim CurrentPln As Plane = RhinoDoc.ActiveDoc.Views.ActiveView.ActiveViewport.ConstructionPlane Dim tropt As New Point3d(opt), trtpt As New Point3d(tpt) tropt.Transform(Transform.PlaneToPlane(Plane.WorldXY, CurrentPln)) trtpt.Transform(Transform.PlaneToPlane(Plane.WorldXY, CurrentPln))
Dim movestr As String = "_move " + String.Format("{0},{1},{2} ", tropt.X, tropt.Y, tropt.Z) + String.Format("{0},{1},{2} _Cancel _Cancel", trtpt.X, trtpt.Y, trtpt.Z) RhinoApp.RunScript(movestr, True) grpobj.Select(False) End If
Next
'RhinoApp.RunScript("Cancel", False) 'RhinoApp.RunScript("Cancel", False) '' rh.Views.RedrawEnabled = True Reslist.Add(Now & "_替换成功!(Replace Success!)") Catch ex As Exception Reslist.Add(Now & "_替换失败!(Replace failed!)" & vbCrLf & ex.Message)
End Try ' Grasshopper.Instances.ActiveCanvas.ModifiersEnabled = True
line1: DA.SetDataList(0, Reslist) End Sub
'Private Sub Testt_PingDocument(sender As IGH_DocumentObject, e As GH_PingDocumentEventArgs) Handles Me.PingDocument ' Dim Mbool = Aggregate bcbool In Checked Into cb = Any(bcbool)
' If Not Mbool Then ' Checked(0) = True ' Message = Namestr(0) ' Order = 0 ' End If 'End Sub
End Class
The picture below shows the two question.
Question One I must use data dam, or the component can't batch deal the brep. I don't know why, I have You can give me a solution to make it working normal not using the data dam
Question Two I can not uset the Button component, If I use it, the gh canvas will die with some mouse event--. I have see this problem before in this forum,but there is no solution and explain. I want to know why and How to solve it.
I don't know if I have made my question clear,if not give a message. Thank you! Thank you all.
The gh test file and 3dm test file in the upload files.
…
igned by this software may be terrible, this is how the future is being shaped, so an understanding of the technology is important.
http://bimandintegrateddesign.com/2014/10/24/googles-bim-busting-app-for-design-and-construction/
https://vimeo.com/107291814
-Projects are due May 8th at the WAAC Final Gallery (I think at 5:30 PM). You will have your board(s) pinned up and your physical model complete underneath. The location is still being worked out, so I will let you know when I know. After the physical submission, a digital submission is required as well. There should be at minimum -
A board with the discussed drawings and images below, named LastName_FirstName_FinalProject.pdf
A photo of your physical model (if not included on the board), named
LastName_FirstName_FinalModel.pdf.
These should be posted on the dropbox sometime before the last day of the semester. Your project will not be graded if you do not physically submit on May 8th and digitally submit sometime before the semester is over.
-Project brief is below
Project Brief: Up until now, you have been using grasshopper to develop, analyze, and fabricate architectural ideas in a very controlled format. The final project is a chance to combine this knowledge with your own design intent and aspirations. The project will use specific deliverables to spur growth, but also allow for you, the designer, to do what you please within the following boundaries.
Requirements:
# open project# must be a design project # story of what you are designing and why you are using grasshopper - specific design intent# must have physical scale model # must have 24” x 36” board - made in Adobe InDesign or Photoshop # grasshopper definition image # 1 artistic rendering - any format - with scale figures # 5 iterations of your project must be presented # 1 diagram to visually describe your project # text describing project # process drawings - photos/sketches/models/other iterations# this is the bare minimum - to have an excellent project, one must go above and beyond these requirements# talk to me if you have out of the box ideas of presenting/ teams / etc...
That is all, there are no assignments due this week, just keep working on those projects. I am available for help during the week, just email or post in the forum. USE THE GRASSHOPPER FORUM IF YOU ARE STUCK. There are many people on here that are way smarter than I that can help you.
See you all next week!…
logic in the script body. Now it works OK. Feeding all the right data required to Kangaroo is entirely trivial.
Happens now : create some "filters" about if a given cone is a classic one (suspended from a triad of high points == make triads of cables etc etc) or an inverted one (pulled from the ground == do something about that, anyway). This means find some interactive way to alter the cones data tree on a per branch basis (a slider access branches > the offset is altered > cone "type" > ...).
Just checked the P thing : it's all clear now (DeBrep).
That said I work in a smoke build on some MCAD app that does the following : when you hoover over a tool ... the underlying method is exposed and ... you can find what is where in nanoseconds.
Anders: I've looked at the Brep.Trim before posting this ... but .. well I can't get the gist of it (anyway the split loop did the job).
... If the Cutter is closed, then a connected component of the Brep that does not intersect the cutter is kept if and only if it is contained in the inside of cutter....
…
ee. That said these things (masterminded by a certain David R) are not bad at all ... but if you write code that is "supposedly" transferable (kinda) to other CAD apps ... well ... I would strongly recommend the other classic nested C# collections.
2. The HLP method is one out of many: for instance for a better approximation of the required fitted plane we can use the divide Curve method etc etc.
3. GH components use (in most of cases) methods exposed in Rhino SDK > get the thingy and start digging into the rabbit hole. Of course David did some other components as well that use "less" classic SDK methods (if at all).
4. HLP is a classic approach to count the beans in nurbs curves. Of course I could use PolyCurves and recursive explosion blah, blah ... but here we are not after segments (at least at present time). On the other hand if that was a Faceted Dome (planar Polylines) ... well getting the nodes that way it could be an overkill (this means business for V2).
5. Mastermind some plane orientation policies in order to finish(?) the @$%@$ thing. For instance: Given Plane plane, define a Plane.WorldXY at plane.Origin and section these 2 > then get the cross product (sectionVector, plane.ZAxis) for the new orientedPlane Y axis etc etc (this presupposes that any plane Z axis points "outwards": use Dot Product and a center point as apex etc etc).…
ime runs out, of unexplored planets. These masters of gravity risk their lives for the adrenaline, dodging gigantic rocks that could hit their ships crashing into planets and no hope that they can be rescued.
Requires Kangaroo and Human (and in full with Firefly).
Goal of the game
You have four minutes to get six stars and reach the goal. Or die trying.
If a satellite hits you, you will leave fired.
The game has three types of control
1 Using the keyboard (requires Firefly). 2 With an external device such as a smartphone or tablet (requires Firefly and TouchOSC app). 3 Using the mouse, from the grasshopper interface.
Download files
Gh, 3dm, touchosc and textures.
Video
http://www.grasshopper3d.com/video/space-riders…
nd me to kill him but give him my regards anyway) is still around in BirdAir Italy ... talk with him.
3. Hope that you understand that designing the "details" means some decent MCAD app + FEA + this + that. "Fusing" this with some abstract graphic editor like GH ... is ... er ... impossible (in real-life, you know, he he ). Generative Components on the other hand may qualify but requires a lot of time in order to fully master it (approx 2-4 years).
4. FormFinder ... well ... that's utterly Academic but on the other hand ... (good luck).
http://www.formfinder.at/main/software/team/
5. http://tecno.upc.edu/cotens/software.htm
6. This is the second best (after the BirdAir internal stuff) but costs an arm and a leg
http://www.ndnsoftware.com/
7. This is a !%$!%$ in the !%$%!$:
http://www.sofistik.com/no_cache/loesungen/fem/leichte-tragwerke/
My realistic (low cost) advise:
use K1/2 (especially if you are after "parametric" exploitation(s)) ... and then diversify tasks: stuff for the structural department, stuff for whom claims that he can(?) design the "details" ... whilst be in a constant contact with the membrane provider (and in fact: the contractor for doing the real thing as well)
…