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!…
he Cordyceps. Maybe some of you find this helpful/useful.
So basically, the Cordyceps is a physical module with 4 knobs and 1 slider. The knobs give an output between 1 and 1000, while the physical slider outputs 0-359. And of course, for this physical module I wrote a plugin to communicate with it. The knobs are intended to be the variables that modifies the design, while the physical slider is intended to be connected to the camera component.
Here I will put up "the recipe" for all to make their own module. You will be able to download the plugin as well.
Please send me a message if you want the 3D-files for the knobs, the box and slider knob. They've been made to directly 3D-print.
Plugin:
https://github.com/zakadjeb/Cordyceps/blob/master/Cordyceps/Cordyce...
Code for Arduino IDE:
https://github.com/zakadjeb/Cordyceps/blob/master/Arduino/_Arduino_...
What you need:
1x - Arduino (Leonardo, UNO or whatever)
4x - Potentiometers
1x - Sliding potentiometer
1x - Breadboard
Bundle of jump wires.
1. So, a potentiometer is a variable resistor, which is basically a component that changes the resistance between the voltage and the ground.
If A is supplied with 5V then B must be connected to Ground. The W will give "read" the resistance, and thus should be placed in Analog input (A0-A5) on the Arduino. The slider potentiometer works the same way.
2. Now connect the 4 pots to each their Analog input. The slider is supposed to be in A4. So to make sure:
A0: Knob1
A1: Knob2
A2: Knob3
A3: Knob4
A4: Slider
3. Now it's time to connect the voltage! Using the breadboard, the voltage can be sent through 1 line, the Ground as well. It should be quite easy to connect them.
4. Now, download the Arduino IDE and copy-paste the code I supplied above. In the IDE, you need to let it know which Arduino you're working with, and which port is should send the script.
5. Almost there. Download the plugin. Open the port you're using through the plugin. Set Start to True and the Cordyceps should be within you.
This recipe will be updated!
Let me know if there are any issues.
// Zakaria Djebbara…
he Cordyceps. Maybe some of you find this helpful/useful.
So basically, the Cordyceps is a physical module with 4 knobs and 1 slider. The knobs give an output between 1 and 1000, while the physical slider outputs 0-359. And of course, for this physical module I wrote a plugin to communicate with it. The knobs are intended to be the variables that modifies the design, while the physical slider is intended to be connected to the camera component.
Here I will put up "the recipe" for all to make their own module. You will be able to download the plugin as well.
Please send me a message if you want the 3D-files for the knobs, the box and slider knob. They've been made to directly 3D-print.
Plugin:
https://github.com/zakadjeb/Cordyceps/blob/master/Cordyceps/Cordyce...
Code for Arduino IDE:
https://github.com/zakadjeb/Cordyceps/blob/master/Arduino/_Arduino_...
What you need:
1x - Arduino (Leonardo, UNO or whatever)
4x - Potentiometers
1x - Sliding potentiometer
1x - Breadboard
Bundle of jump wires.
1. So, a potentiometer is a variable resistor, which is basically a component that changes the resistance between the voltage and the ground.
If A is supplied with 5V then B must be connected to Ground. The W will give "read" the resistance, and thus should be placed in Analog input (A0-A5) on the Arduino. The slider potentiometer works the same way.
2. Now connect the 4 pots to each their Analog input. The slider is supposed to be in A4. So to make sure:
A0: Knob1
A1: Knob2
A2: Knob3
A3: Knob4
A4: Slider
3. Now it's time to connect the voltage! Using the breadboard, the voltage can be sent through 1 line, the Ground as well. It should be quite easy to connect them.
4. Now, download the Arduino IDE and copy-paste the code I supplied above. In the IDE, you need to let it know which Arduino you're working with, and which port is should send the script.
5. Almost there. Download the plugin. Open the port you're using through the plugin. Set Start to True and the Cordyceps should be within you.
This recipe will be updated!
Let me know if there are any issues.
// Zakaria Djebbara…
orking in Grasshoper v0.9.00xx (I tried, 9.0010 and 9.0014)
If I try this code
------------------------------------------------------------------------------
System.Globalization.CultureInfo oldCI = new System.Globalization.CultureInfo("en-US");
Object objExcel;
objExcel = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
objExcel.Cells(2, 1).Value = "titleA";
------------------------------------------------------------------------------
I see, the message
" Error: 'object' does not contain a definition for 'Worksheets' (line 95) "
Line 95 is the last one < objExcel.Cells(2, 1).Value = "titleA"; >
I've also tried,
Microsoft.Office.Interop.Excel.Application xlApp;xlApp = (Microsoft.Office.Interop.Excel.Application) System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
But GH C# says
Error: The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) (line 89)
What did I wrong??
…