all the other rules.
2. No Flattening! use path shift / trim tree instead of flattening.
3. No Path Mapper! I have never met a data operation with the path mapper that could not be achieved through relative means.
4. No Simplify! It makes things *look* nicer but believe it or not those zeros are meaningful and shouldn't just be eliminated. If you are OCD about the way your paths look, then Path shift after every operation that introduces a new branch level (a new "0" at the end) IF AND ONLY IF you are sure that in the case of your definition the component will always function "1 to 1" - that is, for every single input there is only one output.
5. If you absolutely must flatten (to take a global bounds, or generate random values for every item, or whatever) be sure to Unflatten before continuing.
6. Design for the worst case - start with primary inputs in the most complex data structure your definition is likely to need to be able to handle (a tree for instance) rather than a single item.
If you follow the above rules, 99% of the time your definitions will respond appropriately to any change in upstream data structure. If you want an example of how this works in practice, post your definition and I can help find "relative" approaches to the "absolute" things you are currently doing. …
ating. Here's a regex that answers this question though.
^(3[2-9])|([4-9][0-9])$
I say this hoping that you'll appreciate knowing that regexes can handle ranges such as this and can add really interesting functionality for number manipulation. I should add that it does certainly get trickier with larger numbers (e.g. 3-digits or more). I also know that this post is 5 years old, so I presume you may be aware of this by now... Anyways, thought it wouldn't hurt.…
ections, that is.
Since the WOW stuff it would been addressed solely via code and since it's actually the 99% of the whole puzzle ... I've used solely code for the 1% as well (does this make any sense? not much I guess, he he).
Note: Load R file first.
Moral: roll the bones (since it's the only mode currently working (dice == true)).
best, Peter
…
cided to expose the real-thing (something that is under construction these days, a "bit" bigger than the "demo" examples provided up to this point - around 25K m2). This means a more complex definition (a "bit"). The real thing is not made with GH.
4. Membranes are treated with 2 ways: Kangaroo (bad news: you receive a mesh that is anathema for shop-drawing level studies). MinSurf + trim (nurbs on hand but with the obvious disadvantages as regards "relaxing" the other components - more code, less time for windsurfing)
5. Puzzle: do you know that big "umbrella" thing made recently in Saudi Arabia? (colossally big membranes that ...er... hmm..."fold" - 1M times the size of an umbrella). Never heard about that? Shame I must say, he he.
best, Ron (actually I mean Stan).…
the geometries in a component ("set multiple 'geometries'"). If you have 100 curves and would like to add(/remove) 1, you need to select 101(/99) curves in Rhino, it could be annoying.
2) you use the "manage 'geometry' collection" with the Object ID but I don't like this way.
3) you create a new component with the new geometries and you merge the two components.
My point is that it would be useful to add/remove geometries like you set them by picking them up in Rhino, the current collection being selected automatically.…
a close collaboration with them. Keep in mind that a membrane is 1% the "tissue" and 99% the nuts and bits that keep the tissue properly in place. In order to design bespoke nuts and bits you'll need a decent feature driven solid MCAD app (from CATIA/NX to Solidworks) - Rhino is NOT suitable for that type of work by any means.
The Catch 22 is that these specialized fellas they don't pay any attention to you if they don't know you ... but in order to know you ... blah, blah. …
omponents - more on that soon. By that I mean that the focus of the design (even on Academic level) should concern totally different things than the fabric.
So ... leaving aside the components (for the moment) let's examine the simplest (cone free) design: get a polyline and do something using the classic one node up, the next down approach.
Using the 099 K1 engine (behaves better in some occasions, not in this particular case ... but anyway).
Using Starling/WB as well.
more soon.…
the mesh and 2 curves which represent the problem vector intersections. The VB script:
Dim cell_tot As New List(Of Integer) Dim ray_int As New list(Of line) For i As Integer = 0 To cells.Count - 1 Dim intx As Integer = 0 For j As Integer = 0 To pts.Count - 1 For k As Integer = 0 To sample_V.Count - 1 Dim r As Ray3d = (New Ray3d(pts(j), sample_V(k))) Dim cell_intx As Double = Rhino.Geometry.Intersect.Intersection.MeshRay(cells(i), r) If cell_intx > 0 Then intx = intx + 1 Dim l As New line(pts(j), sample_V(k), 100) ray_int.add(l) End If Next Next cell_tot.Add(intx) Next A = cell_tot B = ray_int
This works with 99% of the vectors but seems to systematically miss some. Wondering if it is a tolerance issue or if I am messing up the code. Screenshot of the geometry, rhino model, and GH defn attached.
Thanks,
Jeff…