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.
Dimension
Del 12 Septiembre al 14 de Octubre de 2011
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
Es necesario traer Laptop Propia
En caso de requerir factura se cobrará el i.v.a.
…
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.
…
igitais de forma criativa e rigorosa, para a concepção de modelos 3D– Familiarizar-se com as lógicas de criação de geometrias tridimensionais NURBS.- Desenvolver técnicas de criação de imagens fotorealistas com o motor de render V-Ray- Introduzir as lógicas paramétricas e associativas processo criativo.- Introduzir novas lógicas de BIM no processo estrutural (Building Information Modeling).# INFORMAÇÕES E INSCRIÇÕESinfo@rhino3dportugal.comAna Fonseca: 917140716 Mais informações disponíveis no site: www.rhino3dportugal.com# FORMADORES Brimet Silva ( Authorized Rhino Trainer )
...................................................
Curso de Rhino3D Nível I
6, 7 e 9 de Julho9h-13h e 14h-18h (sessões diárias de 8h).....................................................Curso de Vray-Nível I
12 e 14 de Julho9h-13h e 14h-18h (sessões diárias de 8h).................................................Curso de Grasshopper Nível I
16 e 18 de Julho9h-13h e 14h-18h (sessões diárias de 8h).................................................
VisualARQ e Rhino BIM- Nível I
21 e 23 de Julho9h-13h e 14h-18h (sessões diárias de 8h)
…
set.
The general idea being:
Create a collection of characters that enumerate your source collection. In this case the characters 0, 1 and 2 because you have 3 source words (cat, dog and tree).
Using the CharPool component you generate all possible permutations (39 in this case). These permutations start with {0}, {1}, {2}, {0,0}, {0,1}, {0,2}, {1,0}, ... and end in ..., {2,2,0}, {2,2,1},{2,2,2}
Create valid sets from these permutations, meaning any number which appears more than once will be removed. Ie. {0,1,0} becomes {0,1}, while {2,2,2} becomes {2}, while {2,0,1} remains {2,0,1}.
Sort all permutation groups. This will allow us to detect that {2,0,1}, {0,1,2} and {0,2,1} are all in fact the same thing.
Glue the individual characters in each set back into strings again, so {0;1} becomes "01" and {1,2} becomes "12".
Create a new set from all the glued together permutation groups. This once again removes duplicates.
We now have the answer we were looking for, just not in the form we can use. We need to peel apart the strings again into individual characters and then use those characters are indices into our collection of source words.
…
Added by David Rutten at 10:36am on December 13, 2016
sando las nuevas tecnologías de la información en la arquitectura para la gestión del conocimiento de sistemas que desarrollen estructuras sustentables, desde los procesos de diseño generativos o algorítmicos. Donde se contempla la P.O.O. (programación orientada a objetos) como nuevo lenguaje de expresión para el arquitecto-diseñador en el siglo XXI.Los talleres están pensados para sigan un hilo conductual en el que al mismo tiempo que se enseña se investiga y experimenta. Por primera vez se contará con diversos miembros de SEED como docentes de forma presencial y por video conferencia, logrando de esta forma acercar a los especialistas que se encuentran en Europa a los asistentes de los talleres sin encarecer los costos.+info:http://www.studioseed.net/ adn-methodology/
Los talleres están dirigidos a personas que tengan o quieran conseguir un perfil alto de innovación, creatividad, flexibilidad: profesionales con actividades de dirección, gerencia, proyectistas, investigadores, así como a estudiantes a partir de 5to semestre en adelante. Cada taller abarca perfiles diversos de profesionales, mientras unos están más orientados a directivos y gerencias, otros más a proyectistas.
LOS TALLERES:FAB DIG I / ITESM – CEM / Estado de México / 20 hrs / 8 – 11 al de diciembre 2011 (En este taller no se aplican descuentos ni becas)PARAMETRIC GREEN HOUSING / Colegio de Arquitectos del estado de Jalisco (Por confirmar Sede) / Guadalajara / 20h + 5h proyecto / 30 enero 2012 al 4 de diciembre 2012FAB DIG II / ITESM – CEM / Estado de México / 30h + 5h proyecto / 8 a 12 febrero 2012TERCERA REVOLUCIÓN INDUSTRIAL: TIC`s + SOSTENIBILIDAD. Procesos y paradigmas emergentes / Querétaro / 20 hrs / 15 al 18 de febrero 2012INTRODUCCIÓN AL DISEÑO GENERATIVO / UAM-azc / DF / 8hrs / 13, 14 de enero (Costo representativo $650, máximo 40 personas, mínimo 15 personas)INTRODUCCIÓN A: SCRIPTING CON GRASSHOPPER ( Python) Y PLUGINS / Estudio SEED México / Estado de México / 30 hrs / 23, 24, 25 febrero y 1,2, 3 de marzo 2012…
Added by SEED studio at 3:30am on November 24, 2011
dellatore nurbs, Rhinoceros. Attraverso una serie di esercizi che si svolgeranno durante il corso, si spiegheranno i temi fondamentali che stanno alla base della modellazione generativa e del design parametrico.
Il corso è rivolto a chi ha già una familiarità minima con la modellazione attraverso Rhinoceros e vuole ampliare le proprie competenze verso il campo della modellazione parametrica e generativa, e si terrà da martedì 22.10.2016 a giovedì 24.10.2016 – dalle 10:00 alle 17:00.
Potete scaricare qui il PROGRAMMA DEL CORSO.
Il calendario dei corsi è consultabile qui.
VEGA Parco Scientifico TecnologicoVia della Libertà 12 – VeneziaEdificio Porta dell’Innovazione – Piano Terra
Per iscriversi al corso è necessario essere registrati al sito.Per tesserarvi al Fablab Venezia, diventare maker, usufruire dei vantaggi, clicca qui.
Le iscrizioni chiuderanno giovedì 17.11.2016.
Il corso ha un costo di 270,00 euro + iva (329.40) per i tesserati e convenzionati,per i non tesserati il costo sarà di 330,00 + iva (402.60) euro.
Vuoi risparmiare? Iscriviti entro tre settimane dalla data di inizio corso, usufruirai automaticamente dell’offerta “early bird” ovvero uno sconto del 20% sul costo a te dedicato.
Per iscriversi:
http://www.fablabvenezia.org/parametric-design-with-grasshopper/…
n en el diseño y fabricación digital de formas complejas y euclidianas.
Tomando como plataforma Grasshopper con RHINO, se explora y optimiza el diseño y fabricación de topologías complejas bajo los entornos de "Grasshopper", "RhinoNest" y "RhinoCAM" así como la parte de renderizado tipo high-end con Brazil.
D-O-F De 8:00 AM a 12:00 PM y de 1:00 PM a 5:00 PM
Contenidos:
1. Modelado Avanzado y sus Tecnicas. Aplanado y Desarrollo de Superficies.Anidado y distribución Nesting.
2. Introducción al Diseño Paramétrico.Definiciones Avanzadas de Grasshopper,posibilidades y limitaciones. Ajustes de escala para impresión y corte.
3. Introducción a la Manufactura en CNC - RhinoCAM 2.0.
4. Guía Paso a Paso para la realización de un Renderizado usando Brazil 2.0. Presentación DIGITAL de proyectos.
Docentes:
Andrés González - CEO McNeel Miami
Ovidio Cardona - Especialista en RhinoCAM y Zebra
Juan David Moreno - Especialista en Rhino y Brazil
Inversión:
$650 000 (Incluye licencia Educativa y Certificación de McNeel)
$550 000 ( Incluye Certificación de McNeel)
Informes:
Bits LTDA Tel: 412 30 15
Laboratorio de Imagen Facultad de Arquitectura Tel: 430 94 32…
am to find the coverage for various public-transport stations and is interested under what conditions that coverage will poorly represent reality, then that would fit perfectly within your proposed forum, but the SO people will close it as off-topic before you can say directed-infrastructure-networks.
Or discussing which properties of a transport network would be sufficient to encode into a graph in order to give a model accurate enough for early design iterations.
Or discussing the fabrication costs under various manufacturing methods of elements (a, b, c, ...) with amounts (K, L, M, ...). ie. is it cheaper to manufacture façade panels using manual welding if I have 50*a + 50*b + 25*c or would it be cheaper to have 120*a + 3*b + 2*c?
Or discussing the visual aspects of various types of geometry. Do Bezier or Akima splines look more natural? What about them makes them look natural/unnatural? Can people tell the difference between a perfect circle and a circularish Nurbs curve with 12 points? Does it matter whether the Nurbs curve is small or big? Next to a perfect circle or not? Horizontal or vertical?
What equation would better describe experienced time by humans travelling from A to B rather than measured time?
How can I find out under what wind conditions this sharp edge on my building will start whistling?
How much might the potentially bad smell of this cheaper material lower the value of my building?…
onal design strategies for the digital construction industry of the future.
FOJAB architects is an award winning architectural practice based in Sweden. We are 150 architects working on a wide range of projects of all scales. As one of the leading architectural practices within the Nordic countries we firmly believe in experimental and playful design research.
The new team roles focus on work in innovative projects to develop digital design strategies for the future. Through design research FOJABcode will establish strategies, concepts and design language for future projects. The team members will have a crucial part in establishing relevant research questions, and developing design identity. Working closely together under the lead of Petra Jenning, FOJABcode will expand the computational design, thinking and acting within FOJAB architects and the architecture profession.
ARCHITECT/COMPUTATIONAL DESIGNER
We are looking for someone who is keen to push the boundaries of what computational design can be in architectural practice. This role will involve: leading design development, supporting a variety of architectural projects with computational expertise, and forming design attitudes towards a computational approach to architecture.
Candidates should be highly motivated and enthusiastic with excellent communication, and analytical skills.
Requirements:
Experience of independently and collaboratively driving design processes
Experience of computation/digital design within architecture
Familiarity and experience with algorithmic and emergent design principles, e.g. multi agent systems
Excellent Grasshopper skills
Familiarity with Revit and Dynamo is advantageous
Qualified architect
COMPUTATIONAL DESIGNER/PROGRAMMER
We are looking for someone who is keen to push the boundaries of what computational design can be in architecture practice. The role includes developing computational strategies, parametric and coded, as well as digital tools. As an essential part of FOJABcode the individual will be responsible for developing computational visions and approaches.
Candidates should be methodological, analytical, and have excellent problem-solving skills. It is important that the candidate understands programming in relationship to space and have a developed three dimensional understanding. We are looking for highly motivated and enthusiastic individuals with good communication skills.
Requirements:
Experience of collaborative design processes
Excellent scripting/coding skills
Familiarity and experience with algorithmic and emergent design principles, e.g. multi agent systems
Familiarity with Grasshopper 3D and programming/scripting languages such as Python, C#, and/or Processing (Java)
Familiarity with Revit and Dynamo is advantageous
Interest in fabrication and hardware processes is advantageous
To be considered, please send CV, examples of your work and a covering letter with reasons why you would like to join us to Petra Jenning at petra.jenning@fojab.se.
More info: www.fojab.se Questions? +46 722 36 12 44…
ld work.
For example there's a grid shell and I've got a number of control points (for example 3) that can move up and down.
Depending on the control points I get forms that are structurally good and some that are bad.
In my office we've got a GH-Component, which leads the geometry in structural members and solves the structural forces and so on through an external Software called Sofistik and afterwards gives back to GH some Values, for example maximum bending moments. (Like Karamba)
Now I want to create this optimization component or something like that to minimize e.g. the bending moments in the given geometry.
Let's start with the work of the component.
So when I've three control points that can only move in z-direction.
P1(0,0,Z1), P2(10,0,Z2), P3(5,5,Z3)
They only depend on Z, so everything depends on Z1 to Z3 which have a range between 0 and 10 f.e.
First I want to get some (between 9 and 15) random Particles, one particle consists of this 3 different Z's.
So for example the first particle Part1 is [Z1=10, Z2=5, Z3=7]
and the second particle Part2 is [Z1=7, Z2=1, Z3=9]
and so on.
I created these Start Particles in a Cluster. See attached file.
I also tried this in C#, but thought it is easier in GH.
After I've got the Start Particles I want to give out the first particle and evaluate with its including Z's the target value in GH. Therefore I had to take the first branch and graft this branch (Discussion before)
Afterwards I want to save this Target Value that depends on the first starting Particle. Then I want to give out the second starting Particle to evaluate its target Value and store it. And so on till the last target Value of the last Starting Particle got assigned.
Then I want to assign the particles with its target values. E.g. part1: t=0.9, part2: t=1.8...
Then I want to define neighborhoods or the count of the expected local minima.
These neighborhoods can look like: Each neighborhood has to include not less than 3 particles. And the particles have to be next to each other.
E.g. if there are 12 particles and I want to have a look for 3 local minima, I need 3 or 4 neighborhoods. Then I would take 3 neighborhoods, because the more particles in one neighborhood, the better.
So the Count of the neighborhoods would be N=min{(Count of Part/3)& N_min}
How to define these neighborhoods I don't know at the moment. I think it has to be searched for the distance between the particles. E.g. part1 with (9,9,9) and part2 with (9,9,8) are next to each other but part 3 with(1,1,2) is far away.
Then each StartParticle is set to Partx_localbest.
And in each Neighbourhood the best of these localbeststs is Part_NyBest. (The best ist the one with the smallest target Value)
Loop:
Now I want to create new Particles. These Particles don't change their Z-values randomly. They change their Z-Values depending on Part_NxBest and Part_localBest. Therefore it has to be evaluated a new velocityfactor with v_Partx_new=0,792*v_PartxOld+1,5*random(0,1)*(partx_localbest-partx)+1,5*random(0,1)*(part_NyBest-partx)
The new particles will then be partx_new=partx+v_Partx_new.
The new Particle partx_new will be set to partx and then set in the output.
then there has to be caught the targetValue of part1 afterwards part2 can be put out and its target value caught and so on.
Then it has to be looked for the Partx_localbest through comparing the partx_localbest and its target value with the new part_x and its target value. If the target value of the new partx is smaller than partx_localbest,
then partx_localbest is the new partx.
This has to be done for each partx. Afterwards the same for neighborhoods best (best of all partx_localbest in one neighborhood)
Endloop if velocity gets small.
Output all part_NxBest
Output all targetvalues of the part_NxBests.
So in the Input there have to be:
StartParticles if they are given through the cluster attached.
Device on the target Value like in the attached gh.file from David Rutten I found in the discussions
Count of neighborhoods
And in the output
Output particle for evaluation
Output all part_NxBest
Output all targetvalues of the part_NxBests
Hope didn’t forget anything. And hope it isn’t crushed to badly. Sorry for my bad English by the way ;-)
For more explanation, how the PSO works in other programs. There’s attached a workflow script (is it called like that?) I think for GH it should be a little bit changed like I tried in my explanations.
So if you can help me a in some parts or you have any advices would be great, otherwise thank you nevertheless!!!!
Thankfully there’s no limit for the words in the discussions :-D
Best, Heiko
…