n get the correct results with cooling loads:
3. After I update LB+HB, a warning is given for the set EP construction component:
4. so I replaced it with the latest one (Feb 05, 2017):
5. Now the cooling loads is missing from the result for reason unknown ...
May I ask if the missing cooling loads is related to the latest update of LB+HB? What component update is causing this problem?
BTW, I'm using Singapore's epw file, and for a tropical city, there should be no heating energy at all. So, sth clearly is wrong over here ...
Thanks.
…
to convert nested arrays ?
For intance if I have 5 times nested array, do I need to another method, or there is a short quick version that combines all three methods below into 1?
public static DataTree<T> IEOfIEToTree<T>(IEnumerable<IEnumerable<T>> list, int iteration = 0) { DataTree<T> tree = new DataTree<T>(); int i = 0; foreach (IEnumerable<T> innerList in list) { tree.AddRange(innerList, new GH_Path(new int[] { iteration, i })); i++; } return tree; }
public static DataTree<T> IE3<T>(IEnumerable<IEnumerable<IEnumerable<T>>> list, int iteration = 0) { DataTree<T> tree = new DataTree<T>(); int i = 0; foreach (IEnumerable<IEnumerable<T>> innerList in list) { int j = 0; foreach (IEnumerable<T> innerList2 in innerList) { tree.AddRange(innerList2, new GH_Path(new int[] { iteration, i, j })); j++; }
i++; } return tree; }
public static DataTree<T> IE4<T>(IEnumerable<IEnumerable<IEnumerable<IEnumerable<T>>>> list, int iteration = 0) { DataTree<T> tree = new DataTree<T>(); int i = 0; foreach (IEnumerable<IEnumerable<IEnumerable<T>>> innerList in list) { int j = 0; foreach (IEnumerable<IEnumerable<T>> innerList2 in innerList) { int k = 0; foreach (IEnumerable<T> innerList3 in innerList2) {
tree.AddRange(innerList3, new GH_Path(new int[] { iteration, i, j ,k})); k++; } j++; }
i++; } return tree; }…
go and sulk in the corner, my C# is non existent, although i am making progress on python unfortunately slower than my grasshopper.
Attached is a typical relatively simple planar grillage model for a bridge form that is common in Australia/NZ/Asia. The analysis package has a good graphical interface, however i am looking at replicating the process ideally with GH. I am getting there.
There are a few constraints in the use of a super T, the precast mould is governed by two critical dimensions:
1. from the beams soffit to the underside of the precast flange, normally Depth -75 or 100mm. Depths that are common are 1200/1500/1800.
2.The real sweet spot dimension is the 1027mm dimension to the outside of the webs, this is a constraint
The actual shapes of the prestressed beams are governened by AS5100:5 Appendix H (from memory)
In my definition I included the super T cross section which is parametric.
The other definition is where I have got to with the grillage.
I am a little one dimensional: point-line-surface-volume. I think I am getting to grips with manageing data i lists.
My ulimate aim is to:
generate basic geometry in gh, the type of analysis will be a space frame or FE, these analysis types require different geometries imported to a structural analysis package
ideally utilise IFC, for materials, 2D, 3D drawings and project documentation
At the moment I am looking to generate all of my gemetry in GH, that seems to generate a lot of doubled up geometry. Deconstruct Brep may become my favourite.
A little excesive is the inclined members spilt into the same no. of points at the grillage length.
again thanks for you time, oh! took a a few minutes to work out how to plug your def's in.
kenyon
…
Added by Kenyon Graham at 7:57pm on December 3, 2015
enerated their 3d shapes, but couldn't find what some of their types are:
This happens due to lack of Openstreetmap.org data attached to that building geometry. This data is called a "tag". A tag consist of two items connected with = character.
For example, an office building would have the following tag: building=office. Residential building tag would be: building=residential Ambulance station: emergency=ambulance_station The building, with 10 stories/floors would have a tag: building:levels=10
If you know that some building is an office building, a residential building, an ambulance station or anything other than that, you can tag that building by yourself. This is the beauty of the Open street map: any user with internet connection can add the content to the Open street map for free! Once you add the content (a tag/tags) Gismo would instantly be able to use it! Like this:
Here is a 5 minute tutorial on how to add a tag to a specific building at Openstreetmap.org.
Warning: adding tags and geometry to Openstreetmap.org is highly addictive activity! Use at your own risk!…
Added by djordje to Gismo at 4:55pm on May 9, 2017
rce=activity
Basically, I want to create a workflow to automatically subdivide a building mass envelope geometry into different floors which will be further subdivided as perimeter zones and core zones.
But I encountered an error for a particular building mass geometry (a quite regular form) which doesn't work with the split building mass component (see item 4&5 below):
The workflow is:
1. import building mass geometry:
2. divide the building mass into floors (one zone per floor) using one of the two different methods depending on whether the floor surface has holes or not:
3. use the split building mass component to further divide the zone for each floor into perimeter zones and core zone:
4. I tested several building forms which work for this workflow as shown below, except for one form C05 which is a courtyard block with small tower blocks on top of it:
5. in the last step, there is an error from the split building mass component saying that "solution exception: index out of range: 0" ...
So, I wonder if this is error is related to the split building mass component or related to the way the building mass geometry is created.
Appreciate your kind advice!
Thank you!…
es only have one raison d'être, which is to group types into logical chunks.
A Type is the definition of a class or a structure. Classes and structures are very similar entities (they can both contain any number of methods, properties and other types), but because they behave differently, you need to know which is which.
An Instance of a type is a single object that actually exists. For example, the class Human is the definition of what it means to be human. You are an instance of this class. I am a different instance of this class. Damien is yet another instance of this class. Every instance can assign unique values to all its properties and fields. If for example the type Human had a property for height, then in my case it would say 1.97m. In Damien's case it would be set to something much less, as Damien isn't anywhere near as handsome and tall as I am.
A Reference is a piece of information that tells you where a certain instance is. Think of a reference as an address. When you mail a letter (or e-mail), you must specify a valid and unambiguous address or the letter won't arrive. Similarly, every piece of data stored in the memory of your computer also has a unique address, but instead of "3670, Woodland Park Avenue, Seattle", it looks like this 0x12345678. Trying to access an instance through an invalid reference is like sending a letter without an address.
References are sometimes also called "variables", though sometimes the word variable is only used to indicate primitive types, such as Booleans, Integers and such. A reference is not the instance itself. Take the following code:
1. Dim crv As Rhino.Geometry.Curve
2. Dim dup As Rhino.Geometry.Curve
3. crv = GetACurveFromSomewhere()
4. dup = crv
5. If (dup IsNot Nothing) Then dup = dup.DuplicateCurve()
One lines (1) and (2) I declare two references, one is called "crv", the other "dup". Because Visual Basic is a strongly typed language, I can assign limitations to what sort of data crv and dup are allowed to reference. In this case they can only point to instances of the Rhino.Geometry.Curve class or any class which derives from Rhino.Geometry.Curve (such as Rhino.Geometry.NurbsCurve, or Rhino.Geometry.LineCurve).
On line (3) I assign an actual curve instance to the crv reference/variable. At least, assuming the GetACurveFromSomewhere() function actually returns a proper instance. If it doesn't, crv will remain a "null reference".
Line (4) is interesting, because both crv and dup will now point to the same curve instance. So even though there is only 1 curve in memory, both crv and dup provide access to it. This means that when we change the curve via crv, then dup will notice that change.
On line (5) two things happen. I want to duplicate my curve data so I can change the data via dup, without affecting the data available via crv. The best way to duplicate a curve (i.e. create a second curve in memory, that has the same shape as the first curve) is to use the DuplicateCurve() method on the Rhino.Geometry.Curve class. However I cannot call a method on an instance that doesn't exist, so before I do that, I need to check whether or not dup actually points to a real curve object, or whether it is a null reference.
Finally, it is also possible to have an instance of a class in memory, without any references to it. In this case nobody can reach that curve any more and it is essentially dead weight, taking up pointless memory. In C++ this is called a Memory Leak and it's considered a serious bug. In VB.NET and C# this memory will automatically be cleaned up by the .NET Garbage Collector. In my opinion the Garbage Collector is the single most important feature in .NET. It's what turns VB and C# from frustration central into a friendly and flexible coding platform.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
- nickname is rather the best approach - and not on active group, but that's irrelevant anyway).
Step back (assuming that you are talking about the "Tens_from_random_blah_blah" definition):
1. Engineering is the art of demystifying (or we are promising that anyway, he he). This means that you start defining (better: outlining) some topology for things based on some "generic" rules (like the ones applied for the masts,cables,cones etc etc). These things are kept in some kind of structure (Lists, DataTrees etc). Things are few in 99.99999% of cases (i.e. : even the biggest membrane "module" has, say, 20-50 masts per "module").
2. Then ... handling things "individually" (mostly modifying) becomes the most critical part. See this (an x "possible" solution by combining a myriad of "options" : a no cones membrane solution, in plain English):
3. But the above is impossible (for more than obvious reasons). You should deploy masts in some high/low sequence in order to achieve some meaningful convex/concave formation that could work.
4. This "works" : 5. This doesn't:
6. This works partially (the formation at the back is "flat" == undo able):
7. This is utterly kitsch (and faulty as the case6 - the back portion):
So it's quite obvious that without a (quite complex) capability to individually control things (in this occasion : mast heights) the whole definition is a waste of computer time. Additionally the more the solution is "demystified" (some curve is defined, some random points are created, some masts are in place, some cables appear etc etc) the more additional constrains are required in order to "narrow" the possibilities (In plain English : sliders should control other sliders as regards their min/max values, true/false, you/me etc etc).
Remember that we are talking about ONE (mast height) out of a myriad things that you should control "manually" (it's utterly pointless to mastermind some kind of "generic" rules - or use naive attractors etc etc) .You'll see the difference when I'll completely reform the definition by adding individual control upon anything.
PS: what about the blocks? (the real life stuff that actually make any solution possible). Can you imagine a 2nd set of "restrictions" imposed by "a child to his parent"? (Assembly/Component modeling , that is).
more soon
…
uick answers. Below you will find some suggestions, but don't think of them as rules and especially don't think of them as guarantees.
1. Choose a descriptive title for your post
Don't call your question "Help!" or "I have a problem" or "Deadline tonight!", but actually describe the problem you are having.
2. Be succinct but clear in your wording
People need to know some details about your problem in order to understand what sort of answers would satisfy you, but nobody cares about how angry your boss or how bad your teacher or how tight your deadline is. Talk about the problem and only the problem. If you don't speak English well, you should probably post in your native language as well as providing a Google Translation of your question.
3. Attach minimal versions of all the relevant files
If you have a GH/GHX file you have a question about, attach it to the post. Don't expect that people will recreate a file based on a screen-shot because that's a lot of pointless work. It's also a good idea to remove everything non-essential from a GH file. You can use the 'Internalise Data' menu option to cut everything to the left of a parameter:
If you're importing curves or Breps or meshes from Rhino, you can also internalise them so you won't have to post a 3DM file as well as a GH file. If you do attach large files, consider zipping them first. Do not use RAR, Ning doesn't handle it.
It is especially a good idea to post files that don't require any non-standard components if at all possible. Not everyone has Kangaroo or Hoopsnake or Geco installed so if your file relies on those components, it might not open correctly elsewhere.
4. Include a detailed image of the GH file if it makes sense
If your question is about a specific (group of) components, consider adding a screenshot of the file in the text of the post. You can use the Ctrl+Shift+Q feature in Grasshopper to quickly create nice screenshots with focus rectangles such as this:
5. Include links to online resources if possible
If you have a question about Schwarz Minimal surfaces, please link to a website which talks about these.
6. Create new topics rather than continuing old ones
It's usually better to start a fresh question, even if there's already a discussion that kinda sorta tangentially touches upon the same issue. Please link to that discussion, but start anew.
7. This is not a 'do my work for me' group
Many of us like to help, but it's good to see effort on our part being matched by effort on your part. Questions in the form of 'I need to do X but cannot be bothered to try and learn the software' will (and should) go unanswered.
7b. Similarly, questions in the form of 'How do I quickly recreate this facade that took a team of skilled professionals four months to figure out?' have a very low success rate.
--
David Rutten
Lead Grasshopper Development
Robert McNeel & Associates…
Added by David Rutten at 12:58pm on October 1, 2013
ting.
Thanks
Rania
** Warning ** IP: Note -- Some missing fields have been filled with defaults. See the audit output file for details.
** Warning ** Version: in IDF="'8.2.7'" not the same as expected="8.2"
** Warning ** ManageSizing: For a zone sizing run, there must be at least 1 Sizing:Zone input object. SimulationControl Zone Sizing option ignored.
** Warning ** ManageSizing: For a plant sizing run, there must be at least 1 Sizing:Plant object input. SimulationControl Plant Sizing option ignored.
************* Testing Individual Branch Integrity
************* All Branches passed integrity testing
************* Testing Individual Supply Air Path Integrity
************* All Supply Air Paths passed integrity testing
************* Testing Individual Return Air Path Integrity
************* All Return Air Paths passed integrity testing
************* No node connection errors were found.
************* Beginning Simulation
************* Simulation Error Summary *************
** Warning ** The following Report Variables were requested but not generated
** ~~~ ** because IDF did not contain these elements or misspelled variable name -- check .rdd file
************* Key=*, VarName=ZONE IDEAL LOADS SUPPLY AIR TOTAL COOLING ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE IDEAL LOADS SUPPLY AIR TOTAL HEATING ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE PACKAGED TERMINAL HEAT PUMP TOTAL COOLING ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE PACKAGED TERMINAL HEAT PUMP TOTAL HEATING ENERGY, Frequency=Hourly
************* Key=*, VarName=CHILLER ELECTRIC ENERGY, Frequency=Hourly
************* Key=*, VarName=BOILER HEATING ENERGY, Frequency=Hourly
************* Key=*, VarName=FAN ELECTRIC ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE IDEAL LOADS SUPPLY AIR LATENT HEATING ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE IDEAL LOADS SUPPLY AIR LATENT COOLING ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE IDEAL LOADS SUPPLY AIR SENSIBLE HEATING ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE IDEAL LOADS SUPPLY AIR SENSIBLE COOLING ENERGY, Frequency=Hourly
************* Key=*, VarName=SYSTEM NODE MASS FLOW RATE, Frequency=Hourly
************* Key=*, VarName=SYSTEM NODE TEMPERATURE, Frequency=Hourly
************* Key=*, VarName=SYSTEM NODE RELATIVE HUMIDITY, Frequency=Hourly
************* There are 3 unused schedules in input.
************* There are 5 unused week schedules in input.
************* There are 13 unused day schedules in input.
************* Use Output:Diagnostics,DisplayUnusedSchedules; to see them.
*************
************* ===== Recurring Surface Error Summary =====
************* The following surface error messages occurred.
*************
************* Base Surface does not surround subsurface errors occuring...
************* Check that the GlobalGeometryRules object is expressing the proper starting corner and direction [CounterClockwise/Clockwise]
*************
** Warning ** Base surface does not surround subsurface (CHKSBS), Overlap Status=No-Overlap
** ~~~ ** The base surround errors occurred 1 times.
** ~~~ ** Surface "839A5ADACCE44BC0AF00_GLZP_31" misses SubSurface "839A5ADACCE44BC0AF00_GLZP_31_GLZ_31"
** Warning ** Base surface does not surround subsurface (CHKSBS), Overlap Status=Partial-Overlap
** ~~~ ** The base surround errors occurred 1 times.
** ~~~ ** Surface "839A5ADACCE44BC0AF00_GLZP_34" overlaps SubSurface "839A5ADACCE44BC0AF00_GLZP_34_GLZ_34"
*************
** ~~~ ** The base surround errors occurred 2 times (total).
*************
************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
************* EnergyPlus Sizing Error Summary. During Sizing: 2 Warning; 0 Severe Errors.
************* EnergyPlus Completed Successfully-- 7 Warning; 0 Severe Errors; Elapsed Time=00hr 07min 35.94sec…
lC_UtilEigenSystemSym (level 1) { Exception has been thrown by the target of an invocation. TargetInvocationException }
Object: MillC_UtilEigenSystemSym (level 2) { Could not load file or assembly 'Sawapansolversnet, Version=1.0.4490.29339, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. FileNotFoundException }
Object: MillC_Topostruct2D (level 1) { Exception has been thrown by the target of an invocation. TargetInvocationException }
Object: MillC_Topostruct2D (level 2) { Could not load file or assembly 'Sawapansolversnet, Version=1.0.4490.29339, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. FileNotFoundException }
Object: MillC_Topostruct3D (level 1) { Exception has been thrown by the target of an invocation. TargetInvocationException }
Object: MillC_Topostruct3D (level 2) { Could not load file or assembly 'Sawapansolversnet, Version=1.0.4490.29339, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. FileNotFoundException }
Object: MillC_FEASystem (level 1) { Exception has been thrown by the target of an invocation. TargetInvocationException }
Object: MillC_FEASystem (level 2) { Could not load file or assembly 'Sawapansolversnet, Version=1.0.4490.29339, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. FileNotFoundException }
Object: MillC_UtilFFT1D (level 1) { Exception has been thrown by the target of an invocation. TargetInvocationException }
Object: MillC_UtilFFT1D (level 2) { Could not load file or assembly 'Sawapansolversnet, Version=1.0.4490.29339, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. FileNotFoundException }
Object: MillC_UtilFFT2D (level 1) { Exception has been thrown by the target of an invocation. TargetInvocationException }
Object: MillC_UtilFFT2D (level 2) { Could not load file or assembly 'Sawapansolversnet, Version=1.0.4490.29339, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. FileNotFoundException }
EDIT: Even with COFF disabled in GrasshopperDeveloperSettings this still happens (Thanks Jon)
Is millipede not compatible with Rhino version 5? Or is there a different .dll to use?
Having loaded some of the components:
I congratulate you on following Rutten's 3rd law of Grasshopper :)
Although I hope the Solver and especially the Stress lines get further refinement in order to differentiate them as I find it hard to read the small label at the bottom. Maybe the Chimney's can have different numbers 3 = 3D, 2 = 2D etc.
…