his project. Attached is my latest script. It seems to work for all points & directions of gravity except when the points are at equal height (in the reference plane the script creates, not in the world space). In other words, when the vector from A to B is perpendicular to the gravity vector, it doesn't work. It's totally due to the formulas used to solve for distance (see script), but I haven't found a way to fix it to make it work. Kudos to anyone that can help me figure it out!
Other notes: Required input: Point A, Point B, Gravity vector, and desired Height and/or desired chain/arch Length. Cool trick: when inputting both Height and Length, it recalculates the end point (point B) with those desired parameters, and the end point lies along the AB vector. Also, the "x" output shows either the found height, length, or distance (when both height & length are input), and "newPl" just shows the reference plane used to make calculations easier.
Cheers…
Added by Will McElwain at 11:52pm on January 18, 2014
med that a 1000 lux measurement for a particular hour on a workplane grid point will indicate a illuminance from direct sun at that point. If I remember correctly, these simulations are to be run without the presence of any shading devices.
From an ASE calculation perspective, there are several shortcomings within Daysim (as it exists right now). The daylight coefficient method, which Daysim employs, calculates illuminance by dividing the sky into discrete patches. (http://naturalfrequency.com/wiki/sky-subdivision) For a clear sky with sun, the luminance from sun is accounted for by approximating the position of sun into 3 (as far as I know) patches. That in turn leads to an incorrect estimation of both position and luminance contribution of the sun.
Anyways, as I wrote in the begining, in my opinion the closest you'd get to calculating ASE from daysim right now would be running an annual daylighting calculation with Honeybee by setting ambient bounces as zero. A better approach, in case you are not trying to comply with something like leed v4, would be to do a DGP analysis as Chris mentioned in his post.
…
i projected my surface on XY plane, created voronoi curves on the planar surface and re-project / map the curves onto the subject model.
However, i'm not getting a desired result.
can any-1 please help me. or even show me a different way to model it via GH? I donot want to use rhino objects.
I have attached my initial sketch, GH and Rhino files.
Hope to find some solution so I could move forward :-(
Moreover, I could not convert the initial non-planar curves into surface hence I converted them into Mesh (thanks to 'Brian Harms' for helping me out). However, the protruding edges of the mesh is not a smooth NURB curve, it forms kind of vertices of a polygon. Any way to smoothen / fillet it? Will it affect when i commence 3D printing?
Regards,
aB…
/ interest to some of you. I'm attempting to generate "bricks" along an arc, the span of the arc is known (Line AB), as is the desired brick edge length (shown as chords on the dotted circle). Im am essentially trying to solve for the diameter of the dotted circle and its center point (C). The variables within the grasshopper script would be span (X), chord Length (Y) and number of segments to the arch (N). Lacking the radius or central angle means that Im unable to solve this using my limited knowledge of Trig.
I guess the key issue here is that chord length and number is driving the radius of the arc / circle. Hence why Im not simply using the divide curve tool.
Any input members might have would be fantastic and I'd be very happy to share the resulting file.
Thank you!
…
Added by Robert Harvey at 11:24am on November 20, 2012
join site boundary curves with voronoi curves so that voronoi curves at the edges becomes a closed polygon?
2)I want to create a line between voronoi curve control points and voronoi cell centroid points, such that each 2D voronoi cell is broken down into a sets of triangles. Please refer attached sketch.
3) Then How do i project voronoi curves along with triangl curves onto a vaulted roof?.
4) lastly, i want to give some thickness to those curve. i.e. the curves basically are structural beams of the roof. with my definition pipe command does not work very well i.e. pipes intersect and crossover at each vertices, which is not my intention.
attached is a sketch and my definition.
Can any1 help me with any of the 4 problems?
Thank you very much
AB…
g a problem though when trying to set a daylight simulation with some determined radiance parameters. Here's the problem: After many tries I think I found out that setting -ab = 6 and at the same time -aa = .05 creates some sort of problem, because when I try to do so My PC blocks for several minutes, without letting me manually end processes from taskmanager, and when I'm able again to enter grasshopper, i get the following error:
"Solution exception:index out of range: 0"
Does this really depends on the parameters and values I found out or is it related to something else? Is the problem relative to the structure of HoneyBee or is it just relative to my specific case (and maybe PC)? Is it possible to solve it, and if yes, how?
Atteched you find my rhino model and my grasshopper file.
Thanks in advance for your help and again many compliments!
Luigi…
e design intent, but this is what Inventor is good at. The way it packages bits of 'scripted' components into 'little models' that can be stored and re-assembled is central to MCAD working. The big speed/usability advantage for the user that apps like Inventor provide is: All the defining, handling, assembling/gluing to the adjacent components is done as part of its 'main loop' with all the hooks that can cater to user interaction, ie traditional modeling. I guess one example of this is how Revit handles the placing of Adptive Components. AC's (and GC's GFT's) is pretty much a copy of Catia PowerCopies (which are probably a copy of something else). When placed, the AC's input points are transferred one by one to the cursor for the user to interactively place them. When copied, it tries to keep the same inputs, while changing its position/parameters. This saves a lot of time/nerves.
Catia, OTOH, is still thinking in terms of scripting and looks for matching property names, or uses a script to match strings, that nearly match. Sure, sometimes, this is unavoidable, but I think that there is a lot of room for incorporating a more traditional 'event-based' interface or 'wrapper' around the scripted components.So much is scripted in GH, maybe it should also be possible to script/define/constrain/assist the placement/gluing of the results? An example of this is how Modo's Toolpipe works. The Toolpipe is a simple tool to record the active selection, snap/alignment/working plane, tool settings for re-use. I could see the user benefitting if the GH component was aware of the app's 'state' when placing/assembling components.
Also, a lot of simple things could be 'modeled' first and translated into scripted form if GH could read the active workplane, snap settings etc. Draw first, convert to hand-scripted script later?Columns: Looking at your description, the vertical elements were modeled in Rhino, and referenced in GH? 5hrs to get some points on the lines? And using Excel as the design table? I think this could be 'drawn' and constrained in Inventor in a lot less time. I know the GH model would have a lot of flexibility, but in this case, what can you do with it that wasn't provided by an Inventor model? The other thing that MCAD apps like Inventor have, is the 'structured' interface that offers up all that setting out information like the coordinate systems, work planes, parameters etc in a concise fashion in the 'history tree'. This will translate into user speed. GH's canvas is a bit more freeform. I suppose the info is all there and linked, so a bit of re-jigging is easy. Also, see how T-Flex can even embed sliders and other parameter input boxes into the model itself. Pretty handy/fast to understand, which also means more speed.Would love to understand what you did by sketching.Starting point: I think we are talking across purposes. AFAIK, the solving sequence of GH's scripted components is fixed. It won't do circular dependencies... without a fight. The inter-component dependencies not 'managed' like constraints solvers do for MCAD apps.
With a manager, If one of the beams is connected to the column, changes in either component would trigger changes in the other to preserve the connection, regardless of the creation history. In GH, the dependencies are fixed, and the connection points would probably need to be defined independently, and placed 'upstream' of both elements. This makes editing laborious... but DAG processing is a lot quicker than constraints solving. Switching direction seems to be possible in the animation world. Maya etc have IK/FK switching, which seems to be able to reverse the solving direction on demand. Not sure how or whether the rig is scripted.…
. From the Thermal Comfort Indices component, Comfort Index 11 (TCI-11):MRT = f(Ta, Tground, Rprim, e)
with:- Ta = DryBulbTemperature coming from ImportEPW component- Tground = f(Ta, N) where N comes from totalSkyCover input. Tground influences the long-wave radiation emitted by the ground in the MRT calculation.- Rprim defined as solar radiation absorbed by nude man = f(Kglob, hS1, ac)- ac is the clothingAlbedo in % (bodyCharacteristics input)- I can't find any definition in the code of Kglob and hS1. Could you tell me please what are those values referencered to? --> probably the globalHorizontalRadiation but how?- e = vapour pressure calculated from Ta and Relative Humidity input
Do you agree that in this case the MRT does not depend on these inputs: location, meanRadiantTemperature, dewPointTemperature and wind speed?It does not depend neither on the other bodyCharacteristics like bodyPosture, age, sex, met, activityDuration...?
MRT calculated by the TCI-11 method is the mean radiant temperature of a vector pointing vertically with a sky view factor of 100%?For ParisOrly epw,
2. From the SolarAdjustedTemperature component (that seems to be more used for the UTCI calculation examples on Hydra compared to TCI-11).
In contrast to the TCI-11, this component distinguishes diffuse and direct radiation and contextualizes the calculation thanks to _ContextShading input, right? It can also be applied to a mannequin thanks to the CumSkyMatrix and thus evaluate the dishomogeneity of radiation exposure.This component seems not to consider the influence of vapour pressure on the result --> is it then more precise to put the MRT output (from the TCI) as an input of meanRadTemperature for SolarAdjustedTemperature?The default groundReflectivity is set to 0.25 --> is GroundReflectivity taken into account in the Tground or MRT calculation in the TCI component? If yes, what is the hypothesised groundReflectivity?The default clothing albedo of 37% (TCI-11 bodyCharacteristics) corresponds to Clothing Absorptivity of 63%?
If the CumSkyMatrix input is not supplied, I get 9 results for the mannequin --> where are those points/results coming from?
If the CumSkyMatrix input is supplied,I suppose the calculation of the 482 results correspond to a calculation method similar to the radiation analysis component that is averaged over the analysis period. Right?But I don't understand why the mannequin is composed of 481 faces and meshFaceResult gives 482 results.
Finally, what is the link between the MESH results, the solarAdjustedMRT and the Effective Radiant field ? Is there a paper to have a detailed explanation of the method?
3. Here are some results for the ParisOrly energyplus weather data. You can find here attached the grasshopper definition.There is no shading in this simulation and the result coming from the ThermalComfort indices for MRT is very different compared to the solar adjusted MRT.Why such a big difference and which of the result should be plugged into the UTCI calculation component?
Results for ParisOrly.epwM,D,H:1,1,12
Ta : 6.5°Crh: 100%globalHorizontalRadiation: 54 Wh/m2totalSkyCover: 10MRT (TCI-11): 1.2°C
_CumSkyMtxOrDirNormRad = directNormalRadiation : 0 Wh/m2diffuseHorizontalRad: 54 Wh/m2_meanRadTemp = TasolarAdjustedMRT: 10.64°CMRTDelta: 4.14°C
_CumSkyMtxOrDirNormRad = CumulativeSkyMtxdiffuseHorizontalRad: 54 Wh/m2_meanRadTemp = TasolarAdjustedMRT: 10.47°CMRTDelta: 3.97°C
_CumSkyMtxOrDirNormRad = CumulativeSkyMtxdiffuseHorizontalRad: 54 Wh/m2_meanRadTemp = MRT (TCI-11)solarAdjustedMRT: 5.17°CMRTDelta: 3.97°C
Thanks a lot for your helpRegards,
Aymeric
…
nputs to run (please refer to the image)
Currently, here is how I set the data:
protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager) { //Create default size
double defaultBaySize = 0; pManager.AddTextParameter("LotLib", "Llib", "Lot Library", GH_ParamAccess.tree); pManager.AddCurveParameter("BoundaryCrv", "BC", "Boundary Input", GH_ParamAccess.list); pManager.AddIntegerParameter("Direction", "D", "Direction of gridLines", GH_ParamAccess.item, 0); pManager.AddNumberParameter("CCsize", "S", "Distance from column to column", GH_ParamAccess.item, defaultBaySize); pManager.AddCurveParameter("GridCrv", "GC", "Take in curves input for gridlines", GH_ParamAccess.list);
}
protected override void SolveInstance(IGH_DataAccess DA) {/* Setup */ GH_Structure<GH_String> LotLib = new GH_Structure<GH_String>(); DA.GetDataTree(0, out LotLib); List<Curve> BoundaryCrv = new List<Curve>(); if(!DA.GetDataList(1, BoundaryCrv)) { return; } int Direction = 0; DA.GetData(2, ref Direction); double CCsize = 0; DA.GetData(3, ref CCsize);
List<Curve> GridCrvs = new List<Curve>(); DA.GetDataList(4, GridCrvs); if (!DA.GetDataList(4, GridCrvs)) { return; }}
Is there a way can set data in the way if the component does not receive inputs for BoundaryCrv but only GridCrvs, the BoundaryCrv List will empty.
Thank you very much …
the Butterfly_Solution component to visualize only the last value, during the simulation.
With this setting, the optimization through Galapagos seems to start in a good way, but after some iterations it stops due to this error on blockMesh component:
Runtime error (ArgumentException): Environment variable name or value is too long.Traceback: line 420, in __setitem__, "C:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\os.py" line 80, in getShellinit, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 69, in containerId, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 260, in _RunManager__command, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 316, in run, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 716, in command, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\case.py" line 748, in blockMesh, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\case.py" line 112, in getContainerId, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 215, in command, "C:\Users\mmel\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\butterfly\runmanager.py" line 47, in script
Anyone know how to fix it?
Thank you
…