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.
…
continuous movement using the vortex force.
For the AnchorXYZ component - it needs to go into the ForceObjects input, not the Anchors.
To get the axes for thevortex forces I also added 3 pairs of particles locked to each other in translation.
…
ase make your reservation early.
Yasar University Academic Staff: 50 TL
Yasar University Part-time Staff: 50 TL
Yasar University Students: 75 TL
Other University Students: 150 TL
Other University M.Sc. and PhD Students: 200 TL
Other Participants: 300 TL
For further information and registration: berk.ekici@yasar.edu.tr…
思った感じになりません。
balls の代わりにplanarカーブを直接入れてみましたがエラーが出ます。
ファンクションにしてみたところ、forループので作った数値が反映されていません。
ファンクションのインスタンス?を出力していないと思い上記のようにしましたがエラーが出てしまいます。
以上の事から自分の認識が正しいのかよくわからなくなりました・・・
python自体の深いところをわかっているわけではないので余計こんがらがりました。
そこで、for b in ballsはどのような条件または使い方であれば使えるのでしょうか?
そして、上記のように別のオブジェクトに対しての使い方はどのようにすればできるのでしょうか?
2:同じファンクション内のdist = rs.Distance(self.pos,b.pos)についてですが
この文章も for b in balls によってbはBallのインスタンスであると定義?されたためb.posがbの位置であると分かるのでしょうか?
pythonは定義しなくても動いてしまうのでどのような時に使えるのか文章見ただけではよくわかりません・・・
大変細かいことかもしれませんが、よりpythonをしっかりと理解するためにも、どなたかわかる方ご教授いただけると幸いです。…
s meios acadêmicos e profissionais do Estado de Santa Catarina em parceira com a Escola de Design ELISAVA de Barcelona.
Metodologia: Mediante um exercício prático os participantes poderão ter em primeira mão uma aproximação às técnicas mais avançadas de design e fabricação digital.
Web: http://santacatarina.elisava.net/
e-mail: secretaria@sc.asbea.org.br
As atividades estão divididas em 3 etapas.
1ª etapa: Roadshow (Ciclo de Conferencias)
Palestrantes:
Affonso Orciuoli, arquiteto, professor da Escola de Design ELISAVA de Barcelona, Univesitat Ramon Llullp.d. As conferencias do Prof. Orciuoli serão através de videoconferência desde Espanha
Regiane Pupo, arquiteta, professora da UFSC, Florianópolis
As conferencias da Prof. Pupo são presenciais.
Datas:
Lages 01/11Chapecó 03/11Caçador 04/11Criciúma 07/11Baln. Camboriú 08/11Blumenau 09/11Joinville 10/11Florianópolis 11/11
Horário: 18:00 horas
Conferencia: Arquiteturas disruptivas. Design e fabricação na era digital.
Palestrante: Prof. Arq. Affonso Orciuoli | Professor ELISAVA | Barcelona
2ª etapa: Curso on-line de Rhinoceros
Durante o Roadshow será apresentado o curso on-line de Rhinoceros (http://www.rhino3d.com/).
Entre 01 e 22 de novembro serão subministrados tutoriais a todos os estudantes e professores participantes, a título de se prepararem para o workshop, ver sessão ”downloads”
3ª etapa: Workshop E-luminárias
Entre 23 e 27 de novembro de 2011, das 8:00 às 18:00 h (10 horas por dia)
Workshop Internacional (50 horas)
Diretor: Affonso Orciuoli
Professores: Regiane Pupo | Ernesto BuenoLocal: InovaLab | Sapiens Parque | Florianópolis | Santa CatarinaInvestimento: R$ 150 (estudantes) e R$ 300 (professores & profissionais)Vagas: 50Obs.: Materiais para a fabricação incluídos.
Objetivo: reunidos em grupos de 3 participantes, se desenvolverá um projeto completo de uma luminária, utilizando plataforma CAD. Posteriormente os participantes, com a ajuda dos instrutores, deverão preparar os arquivos para a fabricação na máquina fresadora e laser. Por último as luminárias serão montadas e expostas em conjunto.
Cada participante deverá trazer um laptop com os programas instalados (“demos” do Rhinoceros, RhinoNEST, outros programas de CAD também poderão ser utilizados). Todos estes programas estarão disponíveis para serem baixados a partir do site da Escola de Design ELISAVA de Barcelona.
Equipamentos presentes no workshop e à disposição dos participantes:
Máquina CNC tipo fresadora de 3 eixos
Máquina de corte a laser
Máquina de impressão 3D (a título de demonstração)…
rchitects/ researchers/ developers/ educators Gregory Epps (Robofold) and Daniel Piker (Kangaroo plugin for Rhino/ Grasshopper) from London will introduce the emerging trend of robotics in the field of architecture during these 5 intense days of folding, simulation, robotic fabrication and building. Participants will become intuitive at designing folded surfaces, use the Kangaroo physics engine software for the Rhino Grasshopper plugin to simulate folding of metal panels, create robotic simulations in the Lobster software for Grasshopper and use the robots to build 1:1 prototypes. The Hyperbody Workshop Series is open to architecture and design students and professionals worldwide. The workshop requires a fee of € 150 per participant. For further information and updates:www.hyperbody.nlj.d.feringa@tudelft.nl…
erent ways in which that area can be achieved if you allow charges to vary freely per point. In other words, this is a very underconstrained problem. You'll get a solution easily enough, but I don't think you'll be happy with any of the solutions you'll get. I think you need to add more constraints to the problem statement.
This image shows the first 6 solution I got when searching for an area of 150 square units while the charge of every single point is allowed to vary freely. They are all different, yet all correct answers to the same question.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…