duino code generator works fine, but when exporting, it doesn't seem to work? Could some one please tell me what is FFcasts.h, and if that could be effecting my code? Or if there is anything wrong in general with the export.
{0}
0. /* Firefly Code Generator by Andy Payne Copyright 2011 All Rights Reserved Code Generated on 03/04/2013 20:46:37 Special thanks to Panagiotis Michalatos. For more information visit: www.fireflyexperiments.com */
#include "FFCasts.h" #include <Servo.h>
//******************* Begin Function Definitions *******************
//Remap Number Function: Remap a value into a new numeric domain. double Remap_Numbers(double x, Interval _in, Interval _out) { return (x - _in.t0) * (_out.t1 - _out.t0) / (_in.t1 - _in.t0) + _out.t0; }
//Constrain Function: Constrains a number to a specific numeric range. double Constrain(double _v1, Interval _in){ double _min, _max, result; if (_in.t0 < _in.t1){ _min = _in.t0; _max = _in.t1; }else{ _min = _in.t1; _max = _in.t0; } if (_v1 < _min){ result = _min; }else if (_v1 > _max){ result = _max; }else{ result = _v1; }return result; }
double Smoothing_pval_0 = 0;
//Smoothing Function: Returns a smoothed value that is the sum of the weighted average of the previous observations and the current value. double Smoothing_Temporal(double _v1, double _sf, double *_pval){ *_pval *= _sf; return *_pval += _v1 *(double)(1.0 - _sf); }
//******************** End Function Definitions ********************
Servo servo9;
void setup() { servo9.attach(9); }
void loop() { int APin0 = analogRead(0); servo9.write(Smoothing_Temporal(Remap_Numbers(Constrain(APin0,Interval(10,130)),Interval(10,130),Interval(0,180)),5.0, &Smoothing_pval_0)); }
…
per has few limits.
And you get the benefits of "OpenBIM" with the opportunity to utilize the data in a multitude of software.
Here's some links to help you with learning IFC :
http://geometrygym.blogspot.com/2013/02/the-end-of-babel.html
A video recorded 20 years ago explaining the intent of IFC
http://collectivebim.com/grasshopper-revit-interoperability-adaptive-components-geometry-gym/
A blog post by Michael McCune (CASE) introducing and explaining the Geometry Gym GH plugin
http://geometrygym.blogspot.com/2013/01/ifc-what-it-is-and-why-you-should-care.html
Chrisopher Zoog of HOK presenting to New York City Revit User Group about IFC.
http://bim42.com/
Simon Moreau of Oger International also has some blog posts introducing and demonstrating the Grasshopper plugin
http://www.buildingsmart-tech.org/ifc/IFC2x4/rc4/html/annex/annex-b/alphabeticalorder_entities.htm
Maybe a little technical, but it contains descriptions and diagrams explaining the IFC types and their attributes and relationships (I will start adding links to relevant page from components).
If you have other online (or offline) references or helpful material, please post.
Note I am planning on shortly enabling more BIM in Rhino (not using GH)…
e openings with the simple calculation of room air and IES.
I am testing a shoebox of 15x5m, 3m height, 2 windows of 1sqm, only 1 person of internal gains, no heating, no cooling, basically nothing.
The tests were running fine with the "Wind pressure coefficient type" as Input on the AFN simulation control. But, as the number of ach that I was obtaining was tiny (approx. 1/6 of the ach of room air) I thought that the problem could be the Input and my wind pressure coefficient calculations. Therefore, I changed the WPCoefficient type to "Average surface calculation" and I deleted all the wind pressure elements.
As soon as I change this (and only this) the simulation crashes because of the error "DualSetPointWithDeadBand: Unanticipated combination of heating and cooling loads - report to EnergyPlus Development Team" And also, my heating set point changes from -100 degrees to 12
I've look for this in the bigladder manual for energy plus and looks like if I had set a thermostatic zone control on dual set point with dead band, what I haven't, because, to be honest, I didn't even know it existed.
I hope any of you can help me, because I've been trying hard, but I don't find which is the problem.
I have to say that all the AFN data is internalised (beside the run simulation) and will be a bit difficult to read. I'm sorry for this but, as they are about 20 user objects, I thought it was too much to upload.
Thanks a lot…
ure here: http://www.openfoam.com/download/install-binary-windows.php
This I found by following the instructions here:
https://github.com/ladybug-tools/butterfly/wiki/Getting-started-with-butterfly-in-grasshopper
HOWEVER:
At home here on my newer, faster Windows 10 machine - no such luck. This is becoming quite frustrating as I feel I am failing some obscure intelligence test.
I have attached what I suspect is the likely problem identifier - not that it has helped me identify the fix. What I believe is the salient message is appears in the OF_Env_Create Powershell Window (Running as Administrator) , which is step 3 on the Windows 10 special instructions found here:
https://github.com/ladybug-tools/butterfly/wiki/Windows-10-Installation-Notes
The message (in red as can be seen in the attached picture) states:
Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope. Due to the override, your shell will retain its current effective execution policy of "Unrestricted". Type "Get-ExecutionPolicy -List" to view your execution policy settings. For more information , please see "Get-Help Set-ExecutionPolicy." At C:\Users\Michael\AppData\Local\Temp\Quest Software\PowerGUI\18d7ce54-562c-4f2b-b985-3c24b83cae50\of_create_container.ps1:1 char:20 + Set-ExecutionPolicy <<<< bypass + CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], SecurityException + FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand
M…
o Common - just like C#. But Rhino Python has a "Scripting Language Wrapper" which breaks commonly used taks down to simpler functions.
Here's a general Example:
Take a look at the code on this website http://wiki.mcneel.com/developer/rhinocommonsamples/addline). Generally it's Rhino Common code in three language to create a line. They look equally difficult.
But if you use Rhino Python Scripting you can use an simplified syntax to get the same result. It's very similar to Rhino Script.
The code would be:
import rhinoscriptsyntax as rsstart_point = rs.GetPoint("Get start point")end_point = rs.GetPoint("Get end point")line_id = rs.AddLine(start_point, end_point)
OK - No Error Tracking here, but still you can see that the syntax is much simpler. (And in the end you just have less lines of code you have to debug.
And the good thing about Rhino Python is, that you can mix these approaches. Once you reach a level where Rhino Python Script doesn't get you there, which by the way happens very rarely, you can still use the Rhino Common methods.
Also, in Python Sycripting 99% of what you probably would like to do is available as a "wrapped" script function.
Rhino Python Script is currently also better documented than Rhino Common for C# and VB.Net. If you have used Rhino VB Script before, these functions will be very familar to you.
I'm not sure, why it's currently a separate plug-in. I belive the reason is that Rhino 4 (which is supported by GH) doesn't support Rhino Python. Also it's currently WIP, so it needed to be updated more frequently than GH itself. In the long run (I believe) it might be integrated into GH as a general component
- Martin
P.S.: To use Rhino Python within GH is a little more tricky than my example - but nothing compared to developing C#
P.S.2 Here's the code with Error Tracking:
import rhinoscriptsyntax as rsdef AddLine(): start_point = rs.GetPoint("Get start point") if start_point is None: print "No start point was selected" return end_point = rs.GetPoint("Get end point") if end_point is None: print "No end point was selected" return line_id = rs.AddLine(start_point, end_point) return line_idAddLine()
…
ARRAY with certain spatial order or mechanism under consideration of ecological design. The evaluation and definition of “ARRAY” are open to applicants’ imaginations. While the term “ecological” is subjected to many definitions: social, ecological, sustainable, its re-evaluations are open to students’ interpretations. Entrants are free to choose or make site, real or virtual.
ELIGIBILITY
Open to international students in the fields of architecture and design related disciplines from an accredited four-year or five-year architecture program. Graduates with certificate in 2011 are accepted. Teamed collaboration consisting of no more than 3 students in the above mentioned fields is permitted. Works submitted must be of applicants’ original works. Works done through school studios are accepted, but limited to 2011 term.
ENTRY FEE
Free
DEADLINES
Online Registration deadline: Oct 30th, 2011, 17:00 Taipei Time
(Upon completing registration, applicant will receive a registration number via email.)
Submission deadline: email sent by Nov 3rd, 2011, 17:00 Taipei Time
SUBMISSION REQUIREMENTS
This is a digital competition and no hardcopies are necessary. Entrants must submit their proposal via email no later than Nov 3rd, 2011 17:00 (Taipei Time) to the following email address:
hojenhwang@mail.ntut.edu.tw
The project submission must contain the following files:
1. Two A1 boards in portrait format (594mm x 841mm), with identification number at the upper right corner. Names and other identifying information are not allowed on front side of the boards. The resolution of the boards must be 300dpi, RGB mode and saved as JPG files.. The files must be named after the registration number followed by the board number. For example: 03956-board1.jpg and 03956-board2.jpg.
2. A DOC file containing the project discription (600 words max). This file must be named after the registration number followed by the word "discription". For example: 03956-discription.doc.
3. A scan of statement form. This file must be named after the registration number followed by the word "statement_scan". For example: 03956-statement_scan.jpg.
4. All the files must be placed in a ZIP folder named after your registration number. For example: 03956.zip. Size of the ZIP folder is suggested to be less than 15mb, while size more than 25mb will not be accepted
AWARDS
(1) Gold Prize winner will be awarded TWD 60,000 and a trophy.
(2) Silver Prize winner will be awarded TWD 30,000 and a trophy
(3) Bronze Prize winner will be awarded TWD 15,000 and a trophy
(4) Honorable Mention winners will be awarded TWD 5,000 and a merit certificate
Winners will be announced and notified by mid of Nov, 2011.
JURY
Two stages of open jury. Details to be announced
PUBLIC EXHIBITION
Nov 13, 2011~ Nov 18, 2011 at NTUT, Taipei
…
Added by Yu-Min Su at 2:03am on September 23, 2011
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…
ies and ideas (in this case agent-based modelling) simply because they are the new cool thing to do and, if we think carefully about how the integration of agent-based modeling will improve the accuracy and usefulness of our models, we are more likely to make lasting contributions through their integration.
For example, it seems vital to me that such agent-based models be grounded in some clear quantifiable observations of human behavior in real buildings as opposed to relying on our own coefficients to represent how valuable we think certain things are to the occupants. I will give an example of two agent-based ideas that I have had - one of which has turned out to seem much more valuable in the long-run because of it's grounding in real-world data and I plan to implement soon.
To start with the more valuable example, ever since I read this awesome book on adaptive thermal comfort (https://books.google.com/books?id=vE7FBQAAQBAJ&printsec=frontcover&dq=adaptive+thermal+comfort&hl=en&sa=X&ved=0ahUKEwjDmO6avNnJAhUD9h4KHXWVBuAQ6AEIHDAA#v=onepage&q=adaptive%20thermal%20comfort&f=false), I have had several ideas for how to integrate the findings of recent comfort surveys into our energy models. Generally, the focus of thermal comfort research seems to be shifting from theoretical human energy balance calculations to surveys of occupant behavior, giving us a lot of great data that helps incorporate these behavioral factors in our energy models. To continue one of the ideas that you mention, Theodore, here is a plot from the book that describes the window-opening behavior of occupants as the indoor temperature increases:
Currently, EnergyPlus does not easily allow you to set such a function for window-opening, as you point out but the incorporation of this behavior seems necessary to produce an accurate model of a naturally ventilated building (since opening all of the windows as soon as the indoor temperature hits 21 C is far from realistic). To get around this, I was thinking of including an option on the nat vent component that will put in a series of IF/THEN nat vent objects that approximate this smooth function through a step function:
IF 19 < indoor temperature < 20 THEN WindowOpening = 10%
IF 20 < indoor temperature < 21 THEN WindowOpening = 15%
IF 21 < indoor temperature < 22 THEN WindowOpening = 21%
IF 22 < indoor temperature < 23 THEN WindowOpening = 35%
...
I am hoping to implement this soon.
To describe the example that I have realized was not so helpful with time, when I was first drafting the idea for high-resolution comfort maps (https://www.youtube.com/playlist?list=PLruLh1AdY-Sj3ehUTSfKa1IHPSiuJU52A), I originally thought that I would develop computer models an animations of occupants moving around the thermally diverse space to make themselves more comfortable. Once I started to get into this, however, I realized that the social characteristics of a space usually have a much larger impact on where people place themselves than the thermal characteristics and it is not until the thermal characteristics become very uncomfortable or the presence of other people is completely removed that the thermal environment dominates the movement behavior. Thus, in order to model the occupant behavior, I would have to code in the relative importance of a large number of these social characteristics in relation to thermal comfort, which would have been a process of me simply making up coefficients to produce cool-looking but somewhat meaningless animations. It is only when my nicely-designed thermal environments were aligned with the social/programmatic characteristics of the space that I could argue that I was justifiably adding value since the thermal characteristics were not in contradiction to or being weighted against the social ones. So, in the end, realized that all I needed in order to produce a good design was to align the thermal environment with the placing of program and the agent-based modelling would not have enabled the production of a much better design. This is the reason why the human silhouettes are manually placed in the thermal animations on the youtube playlist in the above link and is the reason why I do not intend to incorporate agent-based modelling in this particular manner.
Let me know your thoughts on this as I realize I may also be looking at this from a narrow perspective that is not informed by all that agent-based modelling has to offer.
-Chris…