ve a curvy, paneled facade that I need to print flat so I can heat it and wrap it around the rest of my model. As far as I can see, there's two ways I can do this. Whichever is easier, I'd be delighted with.
Option 1:
Make it in grasshopper as a flat surface with the panels on it, then smash/unfold it in rhino and extrude it there.
Option 2:
Make the whole facade in grasshopper and somehow unfold it then.
Here's what the facade looks like:
So far, the design process was quite simple. It's just geometry box-morphed onto an surface box. Along the way I have things like the lofted surface, the surface boxes and the original geometry. The problem is that I don't know a) how to use surface morph using the domains I have for the surface box, and b) how I can get this to unroll/unfold.
What I really need is the facade unrolled flat, but still with a thickness.
Any help would be MASSIVELY appreciated.…
ll last):
File "C:\GH_CPython\PythonFileWritten_4.py", line 1, in <module>
exec('abs_coefficients = None\ns = [0,013] \nd = [0,23] \n\nclass fileInfo:\n def __init__(self):\n self.filePath = "E:/Download/Wallacei-GH_CPython problem.gh"\n self.fileName = "Wallacei-GH_CPython problem"\nghenv = fileInfo()\n\n\n')
File "<string>", line 2
s = [0,013]
^
SyntaxError: invalid token"
-------------------------------------------
It's curious as:
- the same warning occur for the others GH_CPython component although they are not connected with Wallacei X,
- if I recompute the GH canvas, with the same genomes slider values, all it is ok,
- if I use Octopus or Galapagos, no problems occur.
Is this a bug or my problem?
For clarity, I've tried with a simple test that I have attached, and it's the same.
Can anyone help me, please?
Thank you in advance,
Angelo
…
aled sphere as the "egg" instead of your surface, it looks OK to me?
The "egg" results are cleaner if, in the 'Path Mapper' Target, you replace this: "{A;B;C+2}(i)" with this: "{A;B;C+1}(i)"
As usual, the 'Image Sampler' is lost when I try to save a copy of your file. Will that ever get fixed?…
Added by Joseph Oster at 6:53am on January 20, 2017
If
Dim myForm As New Form1 myForm.TextBox1.Text = value.ToString() If (myForm.ShowDialog() = DialogResult.OK) Then If (GH_Convert.ToDouble(myForm.TextBox.Text, value, GH_Conversion.both)|) Then RecordUndoEvent("First Row Horiz Distance")
param.PersistentData.Clear() param.PersistentData.Append(New GH_Number(value)) ExpireSolution(True) End If End If
This is what I'd do. The logic here is:
Get a pointer to the input parameter we're dealing with.
(not shown above) If the input parameter already has incoming wires, don't show the window, but return immediately.
Harvest the current value, so our window displays something meaningful.
Create a new instance of the form.
(not shown) Make sure the form is near the cursor.
Put the current value into the textbox.
Display the form.
If it returns anything other than OK, abort right away.
Try and parse the newly entered text, if it doesn't parse, abort right away.
Record an undo event so the current value isn't lost forever.
Erase the entire persistent data of the input parameter.
Put in the new value.
Trigger a new solution by telling Grasshopper that this component was modified.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 10:54am on October 15, 2012
sed in this video to C#
http://vimeo.com/album/2282897/video/60606151
I keep getting errors at my for statement and I don't know why. I think I'm doing it right...
Here is my code so far and I'm attaching my file.
private void RunScript(List<Point3d> allpts, int iterations, ref object u) {
//Get the first point in the list Point3d firstpt = allpts.Interval(T0); //Remove the first point from the list allpts.Remove(firstpt); //Creates a list for the used points List<Point3d> used = new List<Point3d>(); //Loops through iterations For(iterations = 0; iterations < allpts.Interval(T1); iterations++){ //Gets the closest point in the list from the first point and adds it to the used while removing it from allpts Point3d nextpt = Rhino.Collections.Point3dList.ClosestIndexInList(List < allpts > list, firstpt); allpts.Remove(nextpt); used.Add(nextpt); } //Output the list of the visited points u = used;
Thanks in advance for any help. Maybe I should have just started with python instead :(…
"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,.
1) By mesh, I should have said produce a surface – then convert surface to mesh – followed by de-mesh to get access to vertices etc.
You can reduce the resolution of points if you need to, depending on your hardware. The more points you use the harder and it is to compute a solution, however the more points you use, the more accurate your interpolated surface. You need to find your own balance between speed and accuracy.
- ..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.
2) I am not sure what you mean by my ‘custom domain’ are you referring to the definition in my second post – or the post I sent for David to look at? Perhaps you can circle the component and upload a screenshot so I know what you are referring to? Your second screen shot appears to have worked OK
- .. agreed, 6) does or will your latest def. contain more automated, vertex correspondence, Ln creation?
3) No, I moved away from morphing surfaces and moved my solution to generating surfaces based on point data. This cut out the requirement for me to generate the surface to begin with and allows very automatic production of surfaces from data out of excel. Perhaps this would also be a good solution for you? You could:
Move your point data to excel, by exporting the x, y, z of your vertices for each surface.
Use excel as your information repository then write a definition to interpolate between your start and end points from excel.
This is basically what I have done now, as I have 1700 different ‘surface’ snap shots from the data I am working with.
- ..perhaps i missed something, but after using Brep > Join on my polysurface SDivide still saw it as subsurfaces instead of a single surface,.
4) Sorry, perhaps I should have tried that – I didn’t get as far as trying to subdivide. There should be a way to then re-create as one surface if it is necessary… I will try and find out when I have time.
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,..
Sounds to me like you might be better taking the excel read, interpolate route? If you have nearly unlimited surfaces, then they must be generated from some other data source yes?
Let me know your thoughts, if you would like to discuss anything I am happy to make myself available on skype at some stage to talk you through some of this stuff.
Cheers
Lyndon
EDIT: I have uploaded a video, which shows a surface generated using excel data - which basically loops between 'snapshots in time' to give you an idea of whether this would suit your needs.
https://www.youtube.com/watch?v=f9XAne9byQc&feature=youtu.be
…
hat didn´t let me Build the dll file in the bin/release folder.
Error 1 'Register_Boolean' is not a member of 'Grasshopper.Kernel.GH_Component.GH_InputParamManager'. E:\Visual Studio 2008\Projects\Prueba\Prueba\Class1.vb 16 9 Prueba
Error 2 Overload resolution failed because no accessible 'GetData' can be called with these arguments: 'Public Function GetData(Of Grasshopper.Kernel.Types.GH_Boolean)(name As String, ByRef destination As Grasshopper.Kernel.Types.GH_Boolean) As Boolean': Value of type 'Boolean' cannot be converted to 'Grasshopper.Kernel.Types.GH_Boolean'. 'Public Function GetData(Of Grasshopper.Kernel.Types.GH_Boolean)(index As Integer, ByRef destination As Grasshopper.Kernel.Types.GH_Boolean) As Boolean': Value of type 'Boolean' cannot be converted to 'Grasshopper.Kernel.Types.GH_Boolean'. E:\Visual Studio 2008\Projects\Prueba\Prueba\Class1.vb 26 13 Prueba
Error 1 is easy to get in silent changing Register_Bollean to Register_BolleanParam. But I don't know if this is the correct solution.
I have no idea about Error 2 :S
Anyone knows? It's my first time debuggin in visual studio :)
…
It was originally developed at NBBJ by the Design Computation Leadership Team over the course of about 10 months in 2015-2016.
Primary development by:
Andrew Heumann / andheum / @andrewheumann
Lead Developer
Marc Syp / marcsyp / @mpsyp
Product Manager
Nate Holland / nateholland / @_NateHolland
Contributing Developer
----
Gone are the days of faking a user interface by laying out sliders and text panels and hiding wires on the Grasshopper canvas. Human UI interfaces are entirely separate from the Grasshopper canvas and leverage the power of Windows Presentation Foundation (WPF), a graphical subsystem for rendering user interfaces in the Windows environment.
OLD NEW
In other words: Human UI makes your GH definition feel like a Windows app. Create tabbed views, dynamic sliders, pulldown menus, checkboxes, and even 3D viewports and web browsers that look great and make sense to anyone--including designers and clients with no understanding of Grasshopper.
Download the plugin + sample files:
Food4Rhino
View the project on Bitbucket:
Bitbucket
We look forward to seeing where this project takes you, please share your projects made with Human UI!…
this occasion, but it could be converted for DT in no time). Requires some minutes more as regards ... some things, but the usual update is due to some days.
Bad news: it's C#
Good news: User's Manual :
1. That thing (the C#, not me) after sorting (in a "sequential way", so tho speak) the panels (their order was chaotic) allows you to start the massacre by locating a focus of interest (and the user controllable +/- Range derived from it).2. The Range is variable (obviously) and takes care not to exceed the indices of the panel list (OK, that's elementary).
3. If you click the right button (Sadistic Q: where is it? he he) things are deleted and a new constantly self-updating list is your new List. Thus the massacre of panels is totally controllable. An autoZoom thing is also included (free of charge, but it's a bit nerve braking). Zoom factor is variable as well.
4. Then you move over (via the index slider) and start the massacre again. Notice the change of Range.
5. If you turn begin to false (initialization) and then begin to true > start all over again.
6. The other C# thing allows you to increment the index slider in a rather more convenient way. It's a bit weird: it uses delegates (A delegate is an object that knows how to call a method) and events (An event is a construct that exposes just the subset of delegate features required for the broadcaster/subscriber model - but don't ask what this means, he he) in order to talk with your slider (with a defined NickName) and perform the required value control.
NOTE: without realizing it you've just (indirectly) asked one of the most important questions even exposed in this Noble Forum. I hear you : what question? Well ... wait some days for the mother of all threads: "Total control in collections on a per Item basis"
may the Force (the dark option) be with you (and me)
best, Peter…
y to heaven (or hell) is full of pain,frustration and tears. In plain English: if you are not totally committed (and willing to pay the heavy price) ... well ... what about forgetting all that freaky stuff? (the best option, trust me)
Note: 99% of beginners dream to learn programing in order to make geometry. But the truth is that this is the least (and rather the most insignificant) that you can achieve especially when working in teams with lot's of CAD/MCAD apps (and verticals) in the practice of tomorrow (bad news: tomorrow is already yesterday).
Anyway: How to go to Hell in just 123 easy steps
Step 1: get the cookiesThe bible PlanA: C# In depth (Jon Skeet).The bible PlanB: C# Step by step (John Sharp).The bible PlanC: C# 5.0 (J/B Albahari) > my favoriteThe reference: C# Language specs ECMA-334The candidates:C# Fundamentals (Nakov/Kolev & Co)C# Head First (Stellman/Greene)C# Language (Jones)Step 2: read the cookies (computer OFF)Step 3: re-read the cookies (computer OFF)...
Step 122: re-read the cookies (computer OFF)Step 123: Open computer > burn computer > computers are a bad thing (not to mention the Skynet trivial thingy).May The Force (the Dark Option) be with you.
…