fear that it would be too hard, but I was pleasantly surprised. Not that bad, even for a C# novice. I am attaching the *.cs files for three components:
SerialCreate component creates the serial port instance. This component controls port parameters and opens/closes the port. (It won't close the port, however.) SerialWrite and Read try to interact with the port created by SerialCreate. I can verify that the port opens because it's unavailable to other terminal applications, but if I try to close the port, it won't...it stays open until I restart Rhino. SerialWrite works, because I can see the rx light on my device light up when I enter text in grasshopper. SerialRead does not work. I blue screen with a DPC WATCHDOG VIOLATION.
All in all, not too bad for a day's work. I'll forget the user objects and go for custom components. The question that still remains is that I don't think I'm correctly or efficiently sharing the serial port instance with the other classes. Again, this is just a hack, but I'm happy I'm closer to solving the problem (or so it seems). If anyone has any ideas about how to better go about this, I'd appreciate any suggestions.
Thanks again,
~BB~…
ut only one list of indices(i).
Equal numbers of lists of items and indices.
Which I think probably covers 99% of usage. However for the optimizations to kick in the wrap input has to be either 1 value, or a single list of values, or equally many lists of values as the i input.
I can't just upload the maths.gha file for you to test as this optimization required a change in grasshopper.dll (I needed a way to inform the component base class to stop to try and solve it for every item in (i) whenever I treat the (i) input as a datatree. I can send you an official installer later though (after lots and lots of internal testing) so you can see if it works for you.
--
David Rutten
david@mcneel.com…
Added by David Rutten at 5:29am on February 15, 2014
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).…
t worth looking at it seems.
The whole "specification tree" a la Catia where there is a clear child parent hierarchy of grasshopper components would, I agree be great. The ability for constraint based modelling is also great.
However, grasshopper is not a true constraint based parametric modeler like CATIA.
It is also a generative algorithm editor and really shouldn't be compared to tools like CATIA. It could be argued its primary purpose is as a means of providing a visual scripting alternative to traditional text based scripts. I would also argue Grasshopepr itself is very flexible in providing a bespoke blank canvas to set up work flows between different tools such as Catia/excel. This is something I see no other solution out there that can do this.
I love CATIA but however great it is, it is an extremely heavy and unfocussed piece of software. Until Dassault take it seriously as an alternative to REVIT and produce a light-weight version, its dead in the water as regards realistic implementation in the AEC world. 99% of the work benches you don't need for AEC work. It is never going to take off.…
u see around you they lack any zen: that allows the 1% to shine.
2. Each thing that you do/design never dies inside you: Let's call it an "event". The sum of them formulate you as an Engineer. If some "events" are faulty (or worst: shallow) your kaleidoscopic sampling is disturbed proportionally to the sum of the bad "events".
3. "Events" MUST withstand Time: there's nothing worst than fading reasons for doing this or that.
4. "I want" means nothing (anyone wants this or that, so what?). "I did it because" means - maybe - something.
5. Cost (and modesty) should be always your FIRST concern: forget form exploitation(s), new frontier(s) and other similar nonsense > they just yield another pointless waste of resources and guide you gradually into an amoral state of the worst kind: Remember > 1 dollar can save the life of one kid in Africa per day > in this context it's rather hard to justify ... well ... pretty much anything.
6. If you can do anything imaginable this means that you should do LESS other wise you'll find yourself trapped into a rabbit hole that has many entries but not a single #^%^# exit.…
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…
ve an adequately low value for vibration. Script all runs fine and matches expected results for a few test cases. Phew. Note that in excel form this calculation runs over 6000 cells of look up's and arrays, it's not a trivial calc that can practically be rearranged to make it work back from an acceptable value.
But in my results I have 99 sets of vibration-acceptable outcomes, which I'd now like to examine to see which one uses the least material in its particular combination of beam thicknesses, slab thicknesses and other stuff to find the overall most efficient system. The plan at the moment is to copy the solver Record over into Excel, extract the %'s for the different variables and post-process the info to sort the acceptable outcomes by weight.
It feels like there must be a better way that avoids taking the data out and having a gap in the parametric thinking. Is there a way to ask Galapagos to give me all (or at least, loads of) combinations for which R < 8 and then test those for the minimum weight? Can I automatically take the winning results from fitness test 1 out into an array of data that feeds into a second fitness test in the same grasshopper space? …
glass panel).
2. This actually means that the parts on duty they don't differ that much. Meaning that we can use an "average" size (and "local" topology) acting as the Jack for all trades.
3. Meaning that we can effectively solve the abstract topology with an abstract app the likes of GH and then place in properly defined coordinate systems all the real-life bits and nuts ... closely "emulating" a pro solution (that could "adjust" the parts as well).
4. This means that one particular C# needs more lines of code since as it is it defines cable axis on a per nod to node basis ... but in fact these are defined as the min segment between curves (circles to be exact).
5. Additionally the end part of each strut differs depending on how many pairs of stabilizing cables are used (either 2 or 1). Meaning some lines of code more for defining the proper coordinate systems for the instance definitions.
6. This is the reason that I've postponed mailing to you the 4 horsemen (because PRIOR finishing the whole you MUST define what parts to use: the classic bottom-top design approach).
But in order to receive the Salvation (aka: Apocalypse) you MUST answer correctly to a simple puzzle:
Provided that money is no object, pick your car:
1. Ferrari 245 (Less is more)
2. Lancia Stratos (Lethal).
3. Cobra 427 (Men only)
4. Ford GT40 (Mama mia)
5. Ariel Atom (Mental)
6. Aston Zagato GTB4 (Sweet Jesus)
7. Fulvia HF Fanalone (THE racer)
8. Lambo Miura (Enough said)
9. Lotus Elise (Just add lightness)
10. Alfa Romeo 8C Competizione (In red)…
value=WINTERDESIGNDAY, in SIZINGPERIOD:DESIGNDAY=SINGAPORE ANN HTG 99.6% CONDNS DB ************* IDF Context for following error/warning message: ************* Note -- lines truncated at 300 characters, if necessary... ************* 53 SizingPeriod:DesignDay, ************* indicated Name=SINGAPORE Ann Htg 99% Condns DB ************* Only last 10 lines before error line shown..... ************* 57 23.5, !- Humidity Indicating Conditions at Maximum Dry-Bulb ************* 58 101133., !- Barometric Pressure {Pa} ************* 59 2, !- Wind Speed {m/s} design conditions vs. traditional 6.71 m/s (15 mph) ************* 60 320, !- Wind Direction {Degrees; N=0, S=180} ************* 61 0.00, !- Clearness {0.0 to 1.1} ************* 62 0, !- Rain {0-no,1-yes} ************* 63 0, !- Snow on ground {0-no,1-yes} ************* 64 21, !- Day of Month ************* 65 12, !- Month ************* 66 WinterDesignDay,!- Day Type
The relevant lines in the IDF file is shown below:
SizingPeriod:DesignDay, SINGAPORE Ann Htg 99.6% Condns DB, !- Name 23, !- Maximum Dry-Bulb Temperature {C} 0.0, !- Daily Temp Range {C} 23, !- Humidity Indicating Conditions at Maximum Dry-Bulb 101133., !- Barometric Pressure {Pa} 2, !- Wind Speed {m/s} design conditions vs. traditional 6.71 m/s (15 mph) 320, !- Wind Direction {Degrees; N=0, S=180} 0.00, !- Clearness {0.0 to 1.1} 0, !- Rain {0-no,1-yes} 0, !- Snow on ground {0-no,1-yes} 21, !- Day of Month 12, !- Month WinterDesignDay,!- Day Type 0, !- Daylight Savings Time Indicator WetBulb; !- Humidity Indicating Type ! SINGAPORE_SGP Annual Heating 99%, MaxDB=23.5°C SizingPeriod:DesignDay, SINGAPORE Ann Htg 99% Condns DB, !- Name 23.5, !- Maximum Dry-Bulb Temperature {C} 0.0, !- Daily Temp Range {C} 23.5, !- Humidity Indicating Conditions at Maximum Dry-Bulb 101133., !- Barometric Pressure {Pa} 2, !- Wind Speed {m/s} design conditions vs. traditional 6.71 m/s (15 mph) 320, !- Wind Direction {Degrees; N=0, S=180} 0.00, !- Clearness {0.0 to 1.1} 0, !- Rain {0-no,1-yes} 0, !- Snow on ground {0-no,1-yes} 21, !- Day of Month 12, !- Month WinterDesignDay,!- Day Type 0, !- Daylight Savings Time Indicator WetBulb; !- Humidity Indicating Type
It seems that there is an empty line after the line for "!- Humidity Indicating Type" field, and nothing is specified for "! SINGAPORE_SGP Annual Heating 99%, MaxDB=23.5°C" field.
May I ask why this happens and how to correct the error?
Thank you very much!…