s before solving adjacency. As a result, you got adjacent surfaces that did not match in area and a simulation where conservation of energy was not obeyed.
2) The 'Set Ideal Air Parameters has been phased out as per this discussion: . I have implemented all of your specifications correctly using the new components in the attached file.
3) You specified a solar distribution of 1- FullExterior and this is not suitable for detailed comfort studies where you really want to know how the solar energy is distributed through the space.
I corrected all of this in the attached file but, even without changing all of this, I still got the same result that I did earlier:
I just cannot reproduce your error on my machine. The images that you post seem different from that which is int he GH file that you sent. Are you sure that you are sending me the right version of the file. Also, could you send me your userCustomLibrary again (I was using your old one from here)? Finally, do you have any other GH files open when you expereince this error?
-Chris…
ition" without problem, and i conect any componen to evaluate's input.
Image 2- it seems to be alright but inmediately turns red; It does not matter if i use the expression editor or a "panel".
Image 3- I closed Rhinoceros, i did the same expression and i got the same result, bun then i changed to another more simple expression and it worked,
Image 4-I change to the expression desired and it work.
So my question is about if im making a mistake or theres a problem with my software...
Kind regards.…
ve segments as seen in figure 1.
But as soon as I create more than one set of curves, the loft goes awry. I was able to make simple version of what I’m trying to in rhino as seen in figure 2, however I’d like to be able to quickly make changes in the rotation angle in grasshopper.
So far, it seems to work when I isolate one set of points form the curve segments – top and bottom. However, when I try to loft the entire series of points. I end up with a continuous loft, from the first point to the last point, as seen in figure 3.
Any help would be greatly appreciated, thank you in advance.
- David …
r reference, I uploaded a testfile with labels A to F that shows this issues.
When selecting some objects and pressing the middle mouse button, a button for clustering appears. The inputs and outputs of clusters created with this immense useful function cannot be tagged.
1.
Set up a cluster like in A with inputs/outputs, tag the inputs/outputs with double click, cluster it, the inputs of the clusters B are correctly labeled.
double-click the cluster to edit it, double-click the input to edit the label, edit, save-and-close cluster - the new label doesn't appear at the input. Maybe I'm doing something wrong?
2.
select the objects to be clustered like in C, middle-mouse-button, cluster selection, the result can be seen in D. Again, double-click the cluster to edit it, edit the labels - nothing happens.
3.
This has to do with the visibility of clustered components. E shows two clusters that cannot be displayed, no matter if they are set to visible or not (it's the same component imported from my library, copied, disentangled and made inside visible one time). I believe I created it like method C.
I tried different cases (that's why there are so many differently visible variations in the file), but cannot reproduce this error.
best regards, Laurenz…
tura significa confrontarsi con l’architettura ‘free-form’, in cui indagare liberamente la generazione di forme, a prescindere da ogni principio compositivo, statico o costruttivo.Il workshop di costruzione è un momento di sperimentazione didattica sulle strutture resistenti per forma, un'occasione per confrontarsi con problemi costruttivi reali, per superare la dicotomia tra progetto e realizzazione, forma e struttura.
Lecture >> 26/04 >> info qui
Dialogo tra architetture organiche nel segno della sostenibilità: il panorama italiano contemporaneo a confronto.
Laboratorio di progettazione >> 27-29 aprile >> + Laboratorio di costruzione >> 4-6 maggio >> info qui …
.. then you put (or drill) rather "canonical" patterns that formulate the inner/outer skin (or both).
2. The above approach hits 3 walls: (a) very slow response (Rhino is a surface modeller) (b) booleans/fillets potential issues (Rhino is a surface modeller) (c) a potential aesthetic antithesis between the liberty of the "whole" VS the "strict" rules of the "details".
3. Since you opt to work with Rhino It could be worth considering playing his own game: deforming surfaces that is ... by working against control points or via the Morph methods. Then join them and get the decorative thingy as "solid".
Images below are from a C# that actually gets the control points of Surfaces in Lists and "deforms" them according a gazillion of options (a) via any "on-the-fly" defined pattern (Take or skip this control point: shift branches/items that is) (b) using any number of attractors in any push/pull mode (c) using chaotic vector values (d) using ... well too many ways to list them here.
Imagine what the Alien cuppa def does (modifies "diagonally" control points) ... multiplied by 1000.…
hit Commit.
I'm wondering how hard it would be to have an edit box which shows the
number the user could click inside of then type in a new number, then
hit enter. :)
2) How would I go about using one line from a table and assign each
field to a variable? Then, move a slider or something and use the values
from the next row?
background: I'm recreating elbows, Tees, and other fittings using
paramatric scripts, then baking and exporting them. Here's one source
table, http://www.wardfittings.com/Assets/PDFs/0902CatalogColorOld.pdf
page 5, the uniform elbows.
Current Setup: the attached ghx file. Create a point at 0,5,0 in a blank
document with units set to inches, then assign that point to the top
left 'Center Pnt' in the ghx file.
Current workflow:
a) Modify variables A, B, H, and Nominal Dia to match one line from the
table in the linked PDF file, page 5, table of regular elbows.
b) Select the 'Nodes' and 'Surfaces' with a drag box
c) Click 'Bake'
d) Switch to Rhino window, do the 'sellast' command.
e) Drag baked objects along Y axis so the center point is at 0,0,0
f) Run 'Join'
g) Run 'Cap'
h) set the 'node' points to a layer called 'nodes'
i) set the surface to a layer called 'fit-3d'.
j) select the surfaces and nodes
k) export selected
This elbow that I'm doing only has 12 rows, so doing it the above method
doesn't take THAT long. I'm also going to be doing a couple with larger
tables like the Tee on page 8, and in other spec files. As you can
imagine, entering in EACH value into a slider is a bit tedious.
I'd love to take the pdf table, run it through an OCR program to convert
to excel, modify the headers so the ghx script knows what they are, then
paste it into grasshopper, or save it and have grasshopper read it, and
I be able to move a slider or something to to select one line at a time.
Has anyone done something similar? ie: assigned one row in a table to a
predefined set of variables, each variable coming from one field in the row?
Thanks for taking the time to read this message. :)
I'm making a rhino script to do steps d-k, so that part will be much faster.
-Suthern…
onsider:
Identify the aspect of calculations that consumes the most amount of time and resources: Based on what I have understood till now about the parametric workflow within the Grasshopper environment I don’t think it is Rhino/Grasshopper that consumes the maximum amount of time/resources (unless you are handling complex geometry and using native rendering). So, if you could identify the part of your iterations that consumes the maximum amount of resources we can look into parallelizing/optimizing that. It could be something like (RhinoModelling-15%, E+-40%,Radiance-45%)… If there is no way to keep track of that right now in Grasshopper, let me know, I might be able to write a custom script that records the timestamp for each part of the calculation.
Parallelizing Grasshopper: I have no idea of how to do this so I think the best resource/forum would the Grasshopper/Honeybee discussion board. I think at the very least, to make Grasshopper run on remote computers, you’d have to install Rhino/Grasshopper on those computers as well.
Parallelizing EnergyPlus/Radiance: Based on what I understand from reading Mostapha’s source code and also talking to him on this issue, Honeybee typically creates batch files ie radiance or e+ instructions which are then used to run EnergyPlus and Radiance. Radiance runs can be parallelized to a great extent, however, owing to the modular nature of how calculations are setup for grid point calculations , image rendering and some of the new matrix based calculations, there is no single answer to parallelizing Radiance calculations. One can look into optimizing a certain type of calculation and then code instructions for implementing those. E+, which I have only been using for the past month or so, doesn’t seem to have a native way of setting up parallel runs. One can, however, set up multiple separate runs of E+ and direct them to separate processors. I think there was some discussion E+ in the Honeybee forum so you might get a better answer from there on this issue.
Clustering computers and GPU based calculations: One way of implementing the kind of parallelizing that you are referring to, ie. utilizing unused desktops is to cluster computers. Penn State has a dedicated, text-only, Linux-based cluster system which I have been tinkering with for the past year or so. A single node of this cluster has 60 parallel cores and close to 300GB or RAM. Each node, in turn, was created by linking a bunch of computers together. Implementing such a cluster would require an active participation from IT systems admins in your firm. Another option is to use Accelerad for Radiance which parallelizes Radiance . Radiance doesn’t have a limitation regarding the number of cores you could use. I think the 8 processors that you mentioned is more a function of the currently available desktop computer configurations than Radiance’s ability to handle more processors(i7 for example, has 8 processors). In the past, I have run parallel renderings with up to 20 processors. Radiance code is optimized to run on Linux systems so the performance on Windows systems is likely to be somewhat slower.
Finally, unless there is a pre-existing platform to handle such parallel processing, some scripting effort would be required to direct calculation files outwards into different systems/processors and then fetch and consolidate results from those calculations into a single location and then visualize those results on an interface like Mostapha’s Design Explorer.
Sarith…
llet Distance]
[Slider=0..1..10]-->[D][Fillet Distance]
[Slider=1..5..20]-->[F][Unit Z]
[Fillet Distance][C]-->[B][Extrude]
[Unit Z][V]-->[D][Extrude]
This still leaves the problem of having more than one of a single component on the canvas. Referral can be made unambiguous by simply picking the most recent component with the same name. But how do you indicate you want a second Polyline component?
Possible solutions:
Separators in the text:[Point=SetMultiplePoints]-->[V][Polyline]----------------------------------[Point=SetMultiplePoints]-->[V][Polyline]
Keywords or symbols to indicate the creation of a new component rather than the re-use of an existing one:new [Point=SetMultiplePoints]--> new [V][Polyline]new [Point=SetMultiplePoints]--> new [V][Polyline]
(2) is a lot more flexible and (1) may not work at all as it will prevent any reuse above and below the separator.
--
David Rutten
david@mcneel.com…
re isn't a lot of documentation out there at the moment.
You should set your 'Target framework' in your project properties to '.Net Framework 3.5'.
I'm not sure if it will be helpful or just more confusing, but I've attached the source code to a component I wrote for the SPM Vector Components set. It's a simple component that takes in a vector and a boolean and outputs a custom settings object as a GenericParam.
I'm not qutie the best at explaining this part, but the output of this component is meant to be passed into another of my components, which accepts it as a GenericParam, and then unwraps the GH_ObjectWrapper. I hope this won't be too confusing to follow, but I've pasted in some sample code below on how this is handled:
// inside the component which receives the output of the component I attached to this forum post
protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
{
pManager.Register_GenericParam("Dynamics", "D", "Dynamics Input");
}
protected override void SolveInstance(IGH_DataAccess DA)
{
// read in the wrapped object
var dynamicWrapped = new GH_ObjectWrapper();
DA.GetData(0, ref dynamicWrapped)
// unwrap the object by casting its value to the type you expect
var dynamicObj = dynamicWrapped.Value as IDynamic
// now use dynamicObj as you would any other object
}…