nitions prior to Karamba are to allow the genes to manipulate the form of the shell and then kangaroo to relax the form to its "equilibrium" state.
The definition, as attached, runs fine over one iteration. However, when I run the Galapagos solver, rhino slowly uses up my computers memory and then ultimately crashes (around 80 Galapagos iterations). I don't think that the surface patch, or kangaroo are the issue, as I have run other iterative definitions through them without issue.
I believe Karamba may be occupying memory each iteration that is not released when a new iteration begins. This problem is exasperated by the fact that I am running 11 load cases, 9 of which are point loads defined over each vertex of the mesh. I ran a definition with only one load case, and it reached 170 generations (with a population of 50 for each generation). However, at this point it had occupied 90% of my computer's available memory.
Do you know of a way to ensure that Karamba purges its memory after an iteration, or is this a possible memory leak bug?
Thanks again, any help you can provide is much appreciated.
Sean
…
.
I think i'm about 80% there. It may not be the most elegant procedure, but it appears to be working. I am having some slight problems.
1. I'm having trouble extracting the edge curve on one side of my mesh
a. I used a mesh plane intersection to trim my site mesh, and the resultant curve extends beyond the limit of my mesh
b. I identified the intersection point, but GH is not shattering on that intersection point. instead it happens at a point further down the polyline
2. I'm can't join my curves. If i bake them, they join into a closed curve.... GH join curves is not behaving. i've had some success joining two segments, but i can seem to get all 4 side wall curves to join.
if anybody could offer some advice, i'd be very appreciative. also, i'd like some recommendations for ways to streamline this definition. I'm sure that there are more creative ways to manage this data, and i'd love to about them. thanks - CSDG
…
use an attractor curve to adjust curves that are being lofted to create a "wavey" surface. I've attached a picture to show the end result. Right now i create all the curves and then loft them together to create a surface which could then have a rib definition applied to it, and it works, my problem is that this project is for a 80' section of wall with ribs that would be a few inches apart, so that is a ton of curves i have to change everytime i want to adjust the overall shape. So is it possible to have an attractor curve that instead of adjusting the spacing of shapes in plane with the curve, would create high points or low points perpendicular to the curve? Hopefully that makes some sense, i'm having trouble finding the words to explain it, the attached pictures should help.
Any advice on how to do this would be great. I hate being that guy but this project came up last minute and it seemed like something the Grasshopper help save a ton of time in as far as adjustments go.
Thanks,
Kyle
…
h kangaroo and have found one project that illustrates my idea exactly...
https://vimeo.com/88002087
So far my best attempt has been to use a gridded surface in which the lines of the grid are springs, with a rest length at 80% of their initial length. (call this grid A) This is to simulate as if the material has been stretched 120% of its resting dimensions.
I have been trying to anchor the springs to a secondary grid (Grid B, curves that will be deposited onto the material) at the points of intersection with grid A.
I am not sure if this is the best approach, maybe soapfilm would be better? although i require the boundary (grid B) to adapt also...
Any advice or attempts to explain how Taichi Kuma has done this in his video would be greatly appreciated.
Thanks…
A: Who created it? / Copyright?
B: Anyone have a larger resolution copy of this image (or a vector so I can do a large resize).
Long and short - I'm an artist and I'd like to make a quilt out of that image. I need a decent resolution copy of it so I can do a huge resize and get a 76" x 80" crop out of it. I've tried resizing it in Photoshop, but by the time it's large enough, the quality has dropped below what is usable for my needs.
Thanks in advance! I totally understand I'm relying on the kindness of strangers here. (Also if this is inappropriate to post - please delete. Thank you)
Michael…
e section which wont recompute with owner.expiresolution(true). Am I missing something ? I cannot declare buttons and form and all that stuff in run script, cause it doesnt accept withevents property. My idea is to recompute all the script component stuff...
This is my code :
Private Sub RunScript(ByVal x As Object, ByVal y As Object, ByRef A As Object)
If x = True Then frm.Controls.Add(b1) t1.location = p0 frm.Controls.add(t1) frm.show a = zmienna Else frm.Dispose End If
End Sub
'<Custom additional code> Dim frm As New system.windows.Forms.Form WithEvents b1 As New system.Windows.Forms.Button WithEvents t1 As New system.Windows.Forms.TextBox Dim p0 As New system.Drawing.Point(30, 30) Dim zmienna As String
Private Sub b1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b1.click
zmienna = t1.Text owner.ExpireSolution(True)
End Sub
…
assume we want to format two numbers, one integer and a floating point value. The integer represents an index and it should appear inside square brackets, then we want the floating point number rounded to a maximum of 4 decimal places (but always using at least one decimal place, even if it's zero), and then, in parentheses a scientific notation representation using 8 decimal digits of the number.
So, assuming the index is 16 and the value is 47.280006208, what we are after is:
[16] 47.28 (4.72800062E+001)
To make this work, we need a formatting pattern that looks like:
[{0}] {1:0.0###} ({1:E8})
The square brackets, spaces and parenthesis are just part of the output, they have no meaning whilst formatting. Everything inside the curly brackets though will be replaced with a specific formatting of one of the values.
When using the Format component as shown above, the formatting pattern is just text data. The component knows that it is supposed to use the Format() function using the pattern text and whatever additional data is provided.
When you invoke the Format() method in an expression, you do need to make sure that the pattern is actually text:
So here the pattern needs to be encased in double quotes, otherwise it will be treated as code, rather than text.
You cannot use the formatting method in the internal expression of a number parameter, because this method returns text, whereas the number parameter is only capable of storing numbers. Any expression that you put into a number parameter had better return numbers as a result.…
wing exception will be thrown:
Message: Cannot import name minimum_edge_cut
Traceback:line 60, in <module>, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\site-packages\networkx\algorithms\__init__.py"line 21, in <module>, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\site-packages\networkx\generators\classic.py"line 5, in <module>, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\site-packages\networkx\generators\__init__.py"line 84, in <module>, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\site-packages\networkx\__init__.py"
I would inform you that I have also copied the Networkx library into "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\site-packages\" and have specified this directory in "Python Options->Files->Module Search Paths" so that Rhino/Grasshopper knows where to access this library.
Could you please help me how can I sort this out?
Any comment is highly appreciated.
Shayan…
t BBox will then be mapped relative to the UVW space of that box to the new target boxes.
Where your definition is slipping up is the data matching aspect of GH. You have two lists (that count). One list contains 100 items of target boxes and the other contains 2 items of geometry. GH defaults to the Longest List data matching
List A --> List B
Target Box A0 --> Cuboid
Target Box A1 --> Cylinder
Target Box A2 --> (Oops List B has run out of items. Now GH will repeat the last item = Cylinder)
Target Box A3 --> Cylinder
.....
Target Box J9 --> Cylinder
Solution
There are two approaches to rectify this the most logical would be to group the geometries into one object (What you had in mind with the bounding box) to do this use the Group Component on the Transform Tab > Utility Panel.
The other approach is far more common in GH mentality. Use the Graft, right click the G input of Morph and select Graft from the Context Menu. This places all of the items in the List on to separate branches. Creating a list of lists (although these new list only have one item). When GH now tries to data match them it will apply the whole of the first geometry list (Only the Cuboid) to all of the target boxes and all of the second list (Cylinder) to the target boxes again.
I hope this helps…
milar once its default data managment techniques are exceeded thus forcing a new address index to be inserted. Its all just so unnecessarily particular and finickity.
If addresses are added when forced to, why not just have that as the default behaviour in the first place? Its not so much 'one size fits all' as postulated previously, but more one size fits 80% of cases and in the remaining 20% of cases you're going to be a slave to your definition as constant manual management will be required just to control the thing.
My final point:
circle with points should have a list address of {0}
multiple circles with points should have list address of {0;0}
multiple circles in multiple locations with points should have list address of {0;0;0} etc
I really dont see how that is any less consistent for highly complex data strucutres. To any rational individual this is predicable and follows a logic. What advantage is there in fixing the address at {0;0} yet still allow for new address sequences to be added firther down stream? Logic is the key thing to keep in mind here, not peculiar nuances only the initiated can ever be aware of.…