of 400 interlocked rings in a 20 X 20 grid.
V1 - A single 'suLoop' component doing 400 'SUnion' operations (20 X 20): 11.6 minutes
V2 - Two phases: 5 X 10 in phase one and 2 X 4 in phase 2, 58 'SUnions' total: ~88 seconds combined
V3 - Two phases: 4 X 5 in phase one and 4 X 5 in phase 2, 40 'SUnions' total: ~104 seconds combined
Again, these Profiler benchmarks don't reflect the whole picture, and might be affected by other things I was doing on the laptop while the code was running.…
Added by Joseph Oster at 12:29pm on March 23, 2017
,
and then I saw under Application that resources are managed by 'Icon and manifest'.
That can also be set as 'Resource file', but then a file path is required.
Is 'Icon and manifest' OK, or have I to set thing differently ?
Also, in the class code I inserted the following:
( I saw it mentioned here in the forum )
protected override Bitmap Icon { get { return Resources.colour; } }
( colour.png is the image file's name )
but VS gives me an error, saying:
Error 1 The name 'Resources' does not exist in the current context C:\Program Files\Rhinoceros 5 Evaluation\gh\plug-ins\ColourRhOb\Class1.cs 88 26 ColourRhOb
Did I miss a reference in the code ? Here they are:
using System;using System.Drawing;using System.Collections.Generic;using Grasshopper.Kernel;using Grasshopper.Kernel.Types;using Rhino;using Rhino.DocObjects;using Rhino.Geometry;
What am I doing wrong ?
Thanks
emilio
…
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~…
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)…
a value.
In this case it will be between position 86 and 87 where the x value of a point jumps from 2.32... to -6.04... (see inside red rectangle @ attached image).
Idea so far is:
1) Decompose the list into x,y,z
2) get just the x values in one list
3) compare all values in a kind loop.
4) if value difference is more that let's say 1.0 - get the index
5) split list at that index.
My question: How to do that without looping?
I would be very thankful is someone could give me a hint.
Best, Boris.
…
Added by Boris Baehre at 5:33am on January 28, 2016