uments:
1. You are targeting CATIA don't you? (not exactly tomorrow but ... soon) and/or SolidWorks (hello C# haven't we met before?).
2. You MUST deal with nested block instances instead of what you are trying to do right now (I'm talking about the real MERO things not abstract Lines and points). This is not doable with GH components I'm afraid (but it's rather easy with code).
3. You MUST deal with RDBMS in order to keep track with what's going on in your company per project per case per designer (who sells that bolt? what's his cat name? is he a reliable supplier? what I'm doing in life? ... that sort of "queries"). At this point: CATIA is 1% CAD things and 99% PLM stuff (Product Life cycle Management). We do want that since it's 21st century running don't we?.
I hear you: but these are 3 arguments ... indeed but ... hey who's counting? he he.
Method:
A. This def attached has a very simple C# that gets mesh Pts and makes a nice U/V style collection of points (DataTree in plain English).
B. Then we go to that umbrella sticks thingy: we can calculate anything (already the thing does "some") plus your collections of divided points (with the right way, he he) VS a given node: you said (Skype) that you want to calculate angles with these (from 2 to 6) in mind: obvious since you are doing real-life MERO things.
C. Then we could calculate the appropriate Planes for PlaneToPlane transformations: get a nested instance definition (the red things that you've showed to me yesterday) placed at 0,0,0 (Plane.WorldXY) and put in in every Plane collection related with every node (clash defection is an obvious must).
Case resolved, closed: what about that Vodka?
More in Skype
…
h", "yada yada", "cat", "sub") End Sub Public Overrides ReadOnly Property ComponentGuid As System.Guid Get Return Guid.NewGuid End Get End Property Protected Overrides Sub RegisterInputParams(pManager As Kernel.GH_Component.GH_InputParamManager) pManager.AddBooleanParameter("Boolean", "B", "Turn the component on or off", GH_ParamAccess.item) pManager.AddTextParameter("String", "N", "New Parameters", GH_ParamAccess.item) pManager.AddTextParameter("String", "I", "Input file path", GH_ParamAccess.item) pManager.AddTextParameter("String", "L", "Local copy path", GH_ParamAccess.item) pManager.AddTextParameter("String", "U", "User Name", GH_ParamAccess.item) pManager(2).Optional = True 'this doesn't work pManager(3).Optional = True End Sub Protected Overrides Sub RegisterOutputParams(pManager As Kernel.GH_Component.GH_OutputParamManager)
End Sub Protected Overrides Sub SolveInstance(DA As Kernel.IGH_DataAccess)
End SubEnd Class
Could it perhaps be that the component you're writing is not the same one that GH is loading? It's the only idea I have left at this point.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
s to load from file (from 0 to 1)
So this post is about masks.
Rhino Point Clouds can store information such as : location of a point, it's color and normal vector. It is common to store intensity values, but it is not supported in Rhino.
Mask characters :
x y z - location
u v w - normal
r g b - color
a - intensity
Let's say that your file is formatted such as :
10.000 ; 12.000 ; 20.053 ; 0.243
which means it stores location and intensity values.
A proper mask will inform Load Cloud component how to read those values
x;y;z;a
The first non-alphabetic character in the mask is automatically interpreted as the separator.
Same masks work with Save Cloud component. Note that it has D input which when set to True will make it surround all the values in double-quotes.
"10.000" ; "12.000" ; "20.053" ; "0.243"
Cloud Load doesn't care about those double-quotes, it just ignores them and proceeds to read the values without them.…
that, I have a few more comments on what you are trying to do:
1. It is not possible to divide the surface of a sphere with regular hexagons [the most efficient way includes pentagons as well (classic soccer ball)].
So I believe that in the image you posted there is some serious twisting taking place at the back side (you can actually see this starting on the right side of the picture).
Lunchbox's [hexagon cells] component divides the surface in U and V (orange slices for a sphere) and draws hexagons on it. The result is some serious deformation on the 2 poles and many non-planar cells. If you are ok with this, then my only tip would be to use an even number for the U divisions in order to have a clean seam:
instead of:
2. The hexagons you have defined in 2d are wrong as they are overlapping and also leaving gaps between them:
You should define your hexagons so that they form a honeycomb pattern. It could be something like this:
3. There is no direct way for hexagonal mapping, so your best bet would be to draw your pattern inside each cell (good GH data structure understanding is crucial for this). Also, the non-planar cells will probably give you a hard time there...
Hope I cleared some things and didn't cause more confusion!
Nikos
…
d the workshop PDF from this link: http://goo.gl/bcvRNH Download event poster from this link: http://goo.gl/Q0KWCM Brief: Cairo is filled with barriers controlling people movements, suppressing them as well as detaining green and public spaces to the extent that most people have been taking these spaces for granted. Public spaces have been for a while the periphery of our daily life. We will explore in this workshop how we can manipulate and alter people’s perception and direct their attention to how these spaces are integral for city life. This exploration will be backed up by intensive technical tutorials introducing computational design and fabrication techniques and tools mainly Rhino, Grasshopper, Geco and Ecotect. Not only will this be the typical technical workshop, but rather you will also have the chance to be guided step by step on how these tools are used through out different design stages in a real world scenario. Design prototypes will be produced through 3D printing, the main workshop output will be a fabricated one to one functional model for one of the designs using our new in-house CNC machine. Tutors (check the PDF for bio): Olga Kovrikova, MArch DIA Alexandr Kalachev, MArch DIA Karim Soliman, MArch DIA Islam Ibrahim, MArch DIA Sherif Tarabishy, B.Sc. AAST Application: Application deadline 1 September 2013 ** For students (undergrad / Master), teachers and PhD proof of status is required (university ID with a date or a certificate of enrollment) to apply for the students package. Packages (choose one of the following in the application form): 1. Standard registration Course fee is 4250 EGP For Students 3500 EGP 2. Early bird registration discounted fee For Professionals 3750 EGP For Students 3000 EGP ** Early bird offer ends on 14 August 2013 3. Group registrations discounted fee (5 or more) For Students 20% off - You will have to fill out an application form here: http://goo.gl/0QxAga - You will need to submit your CV and Short Portfolio (max. 10 MB) to info@morph-d.com, email subject: “Morphing Norms Application” (we will decide if you are eligible for an early bird discount or not based on the date of your email submission) - We will confirm receiving emails from all applicants. Successful applicants will be contacted 5 days after each deadline (early bird/final) and will have to confirm participation within 3 days, if they fail to do so, places will be given to others on the waiting list. - A maximum of 30 applicants will be selected.
…
s visual programming interface, Firefly gives you the ability to create interactive programs and devices by manipulating elements graphically rather than by specifying them textually. It attempts to bridge the gap between the digital and physical worlds by simplifying the prototyping process for interactive objects. It combines a specialised set of components with a novel communication protocol (called the Firefly Firmata, or Firmware) which together enable real-time feedback between hardware devices such as the well-known Arduino micro-controller and the Rhino / Grasshopper modelling environment. All this happens instantly - so there's no compiling. Your program runs as you build it, making development and prototyping an extremely rapid processNOTE: You have to bring your own computer with Rhino 5 installed.Register:http://www.mcneelmiami.com/inc/sdetail/1730Optional: Arduino/FireFLY electronics kitPrice: $129.00 USDEach team [ 2 or 3 students ] will be able to use or buy a specialised Arduino/Firefly electronics kit as part of the workshop fee. Get the kit:http://www.mcneelmiami.com/inc/sdetail/1783//Firefly - Prototipos interactivosLugar: Sala Ejecutiva 1Precio: $95.00 USDIdioma de curso: InglésProfesor: Andrew Payne, LIFT architects | Harvard GSD | FireFlyProgramación de arrastreUtilizando la interface de programación visual de Grasshopper, Firefly tiene la agilidad de crear programas y dispositivos interactivos, por medio de manipular elementos gráficamente, en lugar de especificarlos textualmente. Intenta crear un puente entre el mundo digital y el físico simplificando el proceso de prototipo para objetos interactivos. Combina una series de componentes especializados con un nuevo protocolo de comunicación (llamado Firefly Firmata o Firmware), en el cuál juntos permiten una retroalimentación en tiempo real entre los dispositivos hardware, como lo es el microcontrolador Arduino, y el ambiente de modelado de Rhino / Grasshopper. Todo sucede instantáneamente, por lo que no hay compilación. El programa se ejecuta como se construye, haciendo los procesos de desarrollo y prototipado extremadamente rápidos.NOTA: Tienes que llevar tu computador con Rhino 5 ya instalado.Regístrate:http://www.mcneelmiami.com/inc/sdetail/1730Opcional: Arduino/FireFLY kit electrónicoPrecio: $129.00 USDCada equipo (2 o 3 estudiantes) podrá utilizar o comprar un kit Arduino/Firefly especializado como parte del curso. Obtén el kit:http://www.mcneelmiami.com/inc/sdetail/1783…
ain AutoDesk products).
See this? A 2400 seat WIP Opera Project. Imagine an outer envelope kinda a "shell" made by custom MERO members (a bit stupid engineering solution I confess) ... and various interior "shells" (concrete) that define the in-topology : audience/stage/workshops/activities/etc. About 70 heavily nested 3d files compose the total solution (in Final Level Study, meaning nuts and bolts Level of Detail).
On first (a bit Academic) consideration the envelope could be "easily" made by Grasshopper and/or Generative Components (patterning of some sort) by arranging MERO nodes and truss members across some V/U derived bezier curves ....the only problem is that the solution should...er...be a real-life arrangement of real-life nodes and truss members (not to mention real-life milling axis etc etc).
What about interoperability between the Architectural and the Structural Design team? What if the Structural Analysis/Feasibility study/etc indicates that the solution is not viable?
All that ... before designing some real-life skin support system (final skin: custom metal panels + 100mm Foamglass + membranes + custom alu support system + VM Zink).
All that...having in mind that some specialized manufacturer (like Donges AG) could receive structured 3D data that could/should comply with the way that MCAD apps - the likes of NX/CATIA - do business.
And that's the CATCH 22 these days: no non MCAD app supports any kind of meaningful assembly-component entity management. See for instance how naif Microstation is on that matter...not to mention Rhino (Rhino can't even manage different collection of entities on a per View basis - not to mention Dynamic Clips etc etc etc).
So the 1M question is : what serve power without control?
He He…
reated after the python component itself. Also sometimes with the existing ones, but that looks really random, I can't figure out why.
Any idea ?
Here is the code I used :
"""Retrieve a named slider's domain. Args: Sliders: Slider NickNames. Update: Set to 'True' to update information. Returns: Start: Slider domain start. End: Slider domain end. Domain: Slider bounds as domain.""" # Name componentghenv.Component.Name = "Slider Domain Retriever"ghenv.Component.NickName = 'Slider Retriever' # Import librariesimport Grasshopper as gh # Get to the GH objectsgh_objects = ghenv.Component.OnPingDocument().Objects ghenv.Component.Params.Input[0].NickName = "Sliders"ghenv.Component.Params.Input[0].Name = "S"ghenv.Component.Params.Input[1].NickName = "Update"ghenv.Component.Params.Input[1].Name = "U"ghenv.Component.Params.Output[0].NickName= "Start"ghenv.Component.Params.Output[0].Name= "Start"ghenv.Component.Params.Output[1].NickName= "End"ghenv.Component.Params.Output[2].NickName= "Domain"#ghenv.Component.Params.Output[3].NickName= "Value" if Update: # Iterate objects for obj in gh_objects: # Set the named slider values if obj.NickName in Sliders: # Get [Number Slider] objects with NickNames if type(obj) is gh.Kernel.Special.GH_NumberSlider: # Find mininimum and maximum values Start = obj.Slider.Minimum End = obj.Slider.Maximum Domain = str(Start)+' to '+str(End) #Value = obj.Slider.Value # Update slider information obj.ExpireSolution(True)…
hope you'd a Merry one,. 1) I used the Ln component to join vertices between each surface. As I was working with two surfaces I meshed each surface with an equal number of U/V divisions (Vertices) so was able to draw lines between each matching vertex.- ..by "meshed" i assume that meant converting Surfaces with MeshUV\DeMesh?, and from your screenshots thats a substantial number of vertices and therefore lines to draw, well worth it though from the results!, i agree with your answer to 3) that a more automatic solution is required,. 2) Equalizing is correct. When you mesh an object it will create vertices, and you can use these to re-create a mesh between each set of sub-surfaces. You don’t need to Sdivide after meshing. If you check the definition in my second post you should get the idea.- ..thats great news, equalizing vertex numbers is exactly what i need to do since my Blend surface "keyframes" by nature will likely have unequal point counts. However, a) ..when using default Rhino surf's your intruiging def. starting to work for me only after i replaced you "custom" Domain(VB\Python?,let me know) with Deconstruct Domain. then it connected each surf's vertices but did Not produce an intermediate surface or points. b) ..when using my IDENTICAL Blend surf's in your def. with Deconstruct Domain and Merge comp's it then produced intermediate vertices,.see def. screenshots or i can send def's i you like,.I'll also produce the 2nd, Non-identical Blend surf keyframe to test in your def.- 5) please show me which actual Domain etc. components or substitutes to use and how to use them to run your def. successfully? 3) This I am afraid I cannot provide concrete guidance on this. I am sure it is possible by drawing lines then matching vertices based on position relative to the ‘key lines’ however I don’t feel this would be a great solution. Better to create something that is more automatic.- .. agreed, 6) does or will your latest def. contain more automated, vertex correspondence, Ln creation? 4) Yes, you can use grasshopper Brep-join to join your sub-surfaces before you divide. See image below. Alternatively, if you are joining matching sets of sub-surfaces then you can morph each sub-surface with its corresponding sub-surface then join the whole object.- ..perhaps i missed something, but after using Brep > Join on my polysurface SDivide still saw it as subsurfaces instead of a single surface,. If you can upload an image of what you are trying to do I may be able to help more. My work evolved to some degree since I made these posts. I am now generating objects based on time stamped data from excel rather than objects in Rhino.- ..see screenshot "2-Def_shot.JPG" showing my two surf's beside Blended Rhino surfs which i need to do with mine,. How many sets of surfaces are you trying to merge through? It is also possible to morph from 1 to 2, 2 to 3, 3 to 4 …… x-1 to x by using a slider which calculates the range and picks the correct two surfaces to morph. If you need more info let me know and I will write something.- ..that sounds perfect, esp. since the sets of surfaces will be as nearly unlimited as the feature film they're modeled from. Yes, i'd love to learn more info\def's on this subject, thanks,.. I am planning to show some of my work and where my industry (civil engineering) is going with grasshopper based solutions. Will post a link shortly to some of my projects.- ..look forward to that as well, please keep me informed,..
I should be available most of today and days following so really look forward to heard back soon as you've free moments.
Thanks again for the great work as well,
big fan, Jeff…