re is my problem... I need to arrange Boxes in the most efficient way within boundaries of object and follow the following constraints.
The Goal: To fit 125 boxes in the most efficient way inside the total area. Starting Variables:
(1) 40% of the Boxes need to be between 60 and 85MSQ. (2) 40% of the boxes need to be between 86 and 110MSQ.
(3) 20% of the boxes need to be between 111 and 125mSQ. The breakdown doesn’t have to be exact to give the script some flexibility. Meaning you can have 41% +39% +20% = 100%.
Constraints:
1. A total MAXIMUM area of approximately 1600M per layer.
2. A maximum of 8 layers for a total of 12,800M per layer. Optimization can make as little or as many as 8 layers vertical to accommodate all boxes. So if script can achieve with 3 levels great. If needed all 8 levels, that's fine too. However, pay attention to next constraint (#3).
3. Approximately 15% of that space on each layer is off limits. (internal area) (blue area in example script) and the shape of the boundary cannot be modified to accommodate box design resulting in jagged lines for the internal area.
4. All generated squares/rectangles must have at least 3m touching an outside border (The Green lines).
5. All boxes must also be touching minimum 1M of border of the blue line.
6. If the boxes generated go outside the green boundary, they must be fillet to maintain the straight lines of the green boundaries.
7. Get as many of the boxes as possible a view towards the dots.
Could any one provide me a method or a way to start, if there are any useful links, please share with me. Thank you!
…
ce issue with Rhino and shouldn't make an issue with EnergyPlus but just to have cleaner geometries, I untrimmed base surfaces so zones are closed brep now.
I also noticed that when you are adding multiple openings to a surface, the surface doesn't show-up in the output of createHBZoneFromHBSurfaces. The surfaces are there though and show up once you explode the zone! Again should be a tolerance issue for join. I need to take a closer look to both of these.
Also, in a number of the zones you had wall surfaces connected to createZoneFromHBSurfaces both before and after adding glazing. I removed parent surfaces so you don't end up having duplicate surfaces.
Back to adjacency which was your question, the issue happens since you have couple of zones with the same name so component was assuming them to be the same zone so it wouldn't solve the adjacency (Yes! it shouldn't. That was a bug which is fixed now). I changed the names and now it should find the surfaces that you are looking for.
Moreover, once you solve the adjacency, next solveAdjacency won't overwrite the BC unless you set remCurrentAdj to True.
Mostapha…
rection: there's no visible demand. Explanation: a lot of AEC oriented people (Smart Geo daydreamers) they think - potentially - about GH but they are rejecting it for more than obvious reasons: our job is 1% about the smart thing and 99% about the structured aspect of the smart (or stupid thing).
Back to that "hangar" : The primary role of this GH definition provided herein (and hopefully some future updates) is NOT to outline some academic solution (via some abstract collection of pipes/lines/points/surfaces) ...but to place in 3d space - properly structured - all the real-life (hmm, he he) bits that can compose the actual project. Of course if the bits could be parametrically driven assemblies ...well...you get the gist of the message.
All in all: I think that Engineers who are GH skeptics could see GH with a totally new perspective if, say, a collection of similar examples/test cases could be available for demo/evaluation/whatever > Ah! at last : this appears to be a real thing > what software did it? > say it again - Grass Components you said? > what sort of name is this? ... etc etc etc.
But since a similar development is quite expensive (and requires a team of several gurus), maybe this is rather a future potential task for the GH/Rhino people if they think that the AEC market segment could be beneficial for their products. Combine a similar capability with tools like yours and/or Evolute (planar quads are "a-la-mode" these days).
PS: forget trivial stuff > what about Stefanie? (plan B : better something than nothing)…
e case pictured already: don't bother how this truss is made and never mind that the def attached looks like an "add-on" (no components) - because it could be (so don't get stuck on that, it's irrelevant). In fact since the critical part (the 99% of the whole) if only doable with code ... it makes sense to do the rest with code as well (but that's my personal preference anyway, he he). Note: Balls are excluded from the demo.
You can toggle what "class" of struts is gonna being made with these booleans:
You can vary the sliders and if the code thinks that you make a valid input ... it obeys, he he.
But the big questions are:
1. Can you work with this in some interactive way? I mean vary any slider and ... wait ... for some change. Although the MERO components here are created ONCE and then placed around (minus obviously the tubes) ... they are placed as copies of the "donor" object (not instance definitions) creating a vast "pool" of "unnecessary" data.
2. What happens if you bake these little thingies? What file size you get? Is it OK?
But the bad news are that as I said ... this is ... NOT a task for a novice ... nor you can handle this get-a-truss-and-make-a-MERO-thing goal with half-measures: either you should do it properly ... or abandon ship.
NOTE: Load R file first (nothing is internalized).
Moral: even if this was made with components ... it wouldn't serve much.
best, Peter…
ard to find example...
I do not know how to load windows form and send data to object in form.vb...using grasshopper sdk.
it is the same,, when I try to use dll(class) with VB component in grasshopper.
may be I have to make two class (class1, form1) but,
when I send data to class1, form1 can not receive class1 data because form 1 made new class1 and both class1, class1(from form1) is different session?
for novice programer,, for me it is very hard.
load class1,
class1 load form1
send data from grasshopper to form1. x
and button click
couldn't calculated,... result was always "0"
and tried many other methods,, but it failed...
may be some known technic but it is hard to find books...
Please...help me.
if possible would you tell me how to load form1 using grasshopper sdk and ""send data "" to form1
or form1 could use data from grasshopper?
Thank you....
for ex)
'(in class.vb)
Public Class Class1 Private Shared fl As Form1 Public Sub fload() If fl Is Nothing Then fl = New Form1 fl.Show() End If End SubEnd Class
'(in form1.vb)
Public Class Form1 Public x, y As Double Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ab(x, y) MsgBox("hi" & y) End Sub Sub ab(ByRef a As Double, ByRef b As Double) b = a * 2 End SubEnd Class
'(in Grasshopper VB.component)
Dim cl As ClassLibrary1.Class1 If cl Is Nothing And f = True Then cl = New Class1 cl.fload() End If Dim fr As ClassLibrary1.Form1 If fr Is Nothing Then fr = New Form1 End If fr.x = x a = fr.y…
f my list.I don't understand why, but I guess I must be too young user ^^In the original list, i have a path {0;0;0;4} with two index and after the random node, {0;0;0;4} has 88 index.Items are not correct?I would have a comparable structure has the right list on my jpg (photomontage...)How I can do that?Thank you in advance
…
er, i hae drawn a quck sketch. Different curves in blue and orange colour. i have marked on my sketch which is a a non-planar surface.
At the moment, i have modeled this with NURBS curve component (component without Knots & Weights). I have set 5 to its 'P' intput (I'm going to reduce it to 3). Each point having 3 parameters X, Y & X axis. I have set my slider from -100mm to 100mm range. It is a closed curve.
If i just loft it, i get random results which i donot want. I can get a planar surface if i set Z parameter to zero. But how do i get a non planar and preferably a burbs surface?
the curves are very important to this projects. as Whole form is dependent on these curves.
Your tips will be highly appreciated. If you have different way of modelling it, I'm open to suggestion too.
cheers,
aB…
and perpframes
3) Ellipse on perframes
4) Series + Move + Series + Scale + Series + rotate (to create generations)
5) Divide curve (ellipse) + Dispatch only seleced points + join those points on ellipse using Intercurve + Divide the resulting intercurve
6) List items (I used list items 4 times, you could do as many). For 'i' parameter in list item i used slider to create generations. depending upon your definition, at this stage you might have to flatten your list output
7) joint the points you get from list output to form another intercurve + repeat that for all items.
8) Loft the curve
9) to form fenestrations, i again used rhino closed curves.
8) Project curve onto surface + copy trim + surface to mesh + mesh thickening from WB.
Hope this helps
Cheers
aB
…
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