(tree info, relationships to certain other objects, etc.) after it's been baked, so that our team can hand tool some of the results, delete certain objects, etc. I'm using the doc.objects.find(guid) function right now - which works fine when I feed a string into the VB component and set the input as a GUID, but am having a hard time casting my strings from Excel into the GUID directly in the VB component. Hopefully it's easy to do and I can whack my palm on my face, as often I do. Here's my script...I get the "specified cast is not valid" error at: Dim obj As Guid = xlSheet.Range(strGUIDColumn & I).Value.
If activate = True Then
Dim xlApp, xlSheet As Object
xlApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application")Dim strSheet As String = "MEM_6"
Dim strGUIDColumn As String = "C"
Dim strDeleteColumn As String = "F"
Dim intCheck As Int16 = xlApp.Worksheets("META").Range("B4").Value
Dim I As Int16
xlSheet = xlApp.Worksheets(strSheet)
For I = 2 To intCheck + 1
Dim obj As Guid = xlSheet.Range(strGUIDColumn & I).Value <- returns my casting error
If doc.Objects.Find(obj) Is Nothing Then
xlSheet.Range(strDeleteColumn & I).Value = "X"
End If
Next
End If
thanks!…
Added by David Stasiuk at 8:05am on December 15, 2010
(twice the amount of lines, it'll take twice as long).
If you nest two loops you're iterating over each line, and then you iterate again over each line. So when you now have twice as many lines, it takes four times as long O(N*N) or O(N²)
With an octree you can reduce the second iteration from O(N) to O(log N). The reason octrees are fast is because they allow you to quickly reject large amounts of lines in your set. Lines are no longer stored in a list, but rather in recursive spatial buckets. If we determine that a certain bucket is too far away to possibly yield any valid results, we can instantly skip all the lines in that buckets and any sub-buckets. If you're lucky, you can reject ~85% of the local data in every iteration, which means even large collections of lines are reduced to only a few potential candidates very quickly.
Thinking about this I'm actually not sure now whether lookup in my Tree3d class is O(log N) or O(sqrt N), but the basic principle holds. The reason the resulting algorithm is O(N * log N) is because the outer loop is still O(N) but the inner loop is now replaced with an O(log N) searcher, so you end up with O(N) * O(log N) = O(N log N)
At least that's how I think it works, computational theory has never been my strong suit.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 4:55pm on November 29, 2012
try now to integrate Geco in an interdisciplinary architectural engineering studio: hoping we can show you some nice applications of your tool, I'll keep you update and sending now details by e-mail. Here the file (very welcome to be shared). It most probably contais trivial errors by me, thanks for helping and giving some tip! Gr. Michela
FILE:
Ok, right, I see the outputs update correctly. Origin of problems must be in some different mistake I do:
- Incident radiation: I am not sure I understand what is going on: why I get so many 'not a number' ? (The Galapagos report is full of NaNs).
Bio-Diversity: 0.887 Genome[0], Fitness=NaN, Genes [89% · 44%] { Record: Too many fitness values supplied } ...
Genome[7], Fitness=NaN, Genes [74%] { Record: No fitness value was supplied } ....
Genome[9], Fitness=NaN, Genes [37% · 11%] { Record: Genome was mutated to avoid collision Record: Too many fitness values supplied }
- Daylight calculations: the geometry accumulates withouth deleting the previous models. As a consequance, results almost do not change after few varations (so, outputs get updated but do not vary). In current daylight definition: the first object being imported is the one where the grid has to fit; its setting makes it cancelling all the other objects during import. All the others, do not delete anything when imported. When running loops (manual or GA) that vary parameters, the entire geometry do not get cancelled - so I guess the loop does not pass back by the cancelling step, but imports only the geometry which has been varied by the parameters using the setting of that import component only? I will then try again by changing the order of the operations, but if you have specfic tips, let me know.
THANKS!
…
Simpsons episode were Bart goes into a mall and in the time he goes in and out of a shop all others have been turned into Starbucks.
I personally don't like it but you can't say they are crushing all competitors because, as far as i know, all owners of those software packages voluntarily sold their property for a good price. I would actually be more worried that an antitrust lawsuit was filed against Autodesk.
For example, this is what happened with Rockefeller's Standard Oil:
The antitrust case against Standard Oil also seems absurd because its share of the petroleum products market had actually dropped significantly over the years. From a high of 88 percent in 1890, Standard Oil's market share had fallen to 64 percent by 1911, the year in which the US Supreme Court reaffirmed the lower court finding that Standard Oil was guilty of monopolizing the petroleum products industry.[32]
The court argued, in essence, that Standard Oil was a "large" company with many divisions, and if those divisions were in reality separate companies, there would be more competition. The court made no mention at all of the industry's economic performance; of supposed predatory pricing; of whether industry output had been restrained, as monopoly theory holds; or of any other economic factors relevant to determining harm to consumers. The mere fact that Standard Oil had organized some thirty separate divisions under one consolidated management structure (a trust) was sufficient reason to label it a monopoly and force the company to break up into a number of smaller units.
To economists, "predatory pricing" is theoretical nonsense and has no empirical validity, either.
In other words, the organizational structure that was responsible for the company's great efficiencies and decades-long price cutting and product improving was seriously damaged. Standard Oil became much less efficient as a result, to the benefit of its less efficient rivals and to the detriment of consumers.
From: http://mises.org/daily/2317
(Beware, that site is very ideologically charged)…
points within the bounds of the site boundary and use each location as an attractor point controlling a variable at each point in the grid (radius of a circle/height of a cube/colour based on a gradient etc.).This would be based on proximity to the attractor points with the effect of each attractor point essentially scaled by the percentage associated with it. For example a location with 88% visitor rates would have a more dramatic effect than a location with 26% visitor rates.
I've had a bit of a play around but can't seem to get beyond the point of what is shown in basic point attractor tutorials online. I'm definitely a novice.
Here's how I figured it would be done:
1) Create a grid of source points within a boundary curve.
2) Select 18 pre-defined attractor points.
2) Measure the distance between the source points and the attractor points.
3) Invert this data so that variables increase with proximity rather than decrease.
4) Give each of the attractor points a strength value from 1-100% based on the visitor rates.
5) Use the scaled data to control a variable at each of the source points.
6) Create some way to control the drop-off rate of the effect from each point.
It is at step 3 that I get completely lost.
I hope my description is clear. Any help would be greatly appreciated,
Adam
…
troducción a su plugin de modelado paramétrico, Grasshopper.
Con este tipo de herramientas podemos pensar formas más allá de las cajas para diseñar, porque seremos capaces controlar con total rigor geometrías muy complejas.
En el siguiente video, podemos ver un ejemplo realizado durante un curso impartido anteriormente en Madrid por el profesor, Francisco Tabanera, en el que se realiza una interpretación del proyecto de BIG para la Biblioteca Nacional de Kazajstán.
<a title="Interpretación de la Biblioteca Naiconal de Kazakstan, de BIG" href="http://www.youtube.com/watch?v=YLldO-SxgPw" target="_blank"></a>
A lo largo del curso se realizarán diferentes ejemplos que podrán ser realizados por todos los asistentes, ya que no es necesario ningún conocimiento previo para su seguimiento.
El curso se desarrollará en las oficinas de Arquitecton en Barcelona con el siguiente horario:
HORARIO
Sábado 1 de Marzo
De 9.30 a 13.30h.
Sábado 1 de Marzo
De 15.30 a 19.30h.
El curso está planteado para un máximo de 9 alumnos, para conseguir el máximo aprovechamiento posible por parte de los mismos.
El curso tiene un precio de 90€. Estudiantes y desempleados tienen un descuento del 10%. Es posible asegurarte una plaza con un primer pago de 25€ a modo de reserva.
Apúntate aquí…
next level.
This Parametric Design course will provide the participants with the necessary knowledge and ability to use Grasshopper, a free visual programming plugin in Rhinoceros; you will be guided through a series of hands-on exercises that highlight NURBS modeling and its concepts. We will introduce Grasshopper as a graphical algorithm editor tightly integrated with Rhino’s 3D modeling tools. You will also learn how Rhino is used to render models for visualization, translate 3D models for prototyping, and export 3D models into 2D CAD or graphics programs.
English is the course main language.
Location: Düsseldorf city center
Registration and buying Tickets
www.digitalparametrics.eventbrite.de
Course Calendar:
4 Days 6 hours each
Total duration 24h
2 weekends
Date:
Sat. 17 - Sun. 18 June
Sat. 24 - Sun. 25 June
10:00 - 17:00
Getting Started in Rhino. 2 days (17 - 18 June)
Getting Started in Grasshopper. 2 days (24 - 25 June)
-----------------------------------------------------------------------
Participants will be given a certificate of participation at the end of the course.
-----------------------------------------------------------------------
Course fees:
Professionals: 600€ (excl. MwSt.) Students: 500€ (excl. MwSt.) Students need to provide: Copy of current student ID or proof of student enrollment at University/School.
Group discounts:
Group of 3 professionals: 3x500 = 1500€ (excl. MwSt.)
Group of 3 Students: 3x400 = 1200€ (excl. MwSt.)
Participants are kindly asked to bring their own laptops and have pre-installed Rhino + Grasshopper.
Useful Resources:
Rhinoceros Installation (90 days full version trial available): http://www.rhino3d.com/download
Rhinoceros for Mac (includes Grasshopper) http://www.rhino3d.com/download/rhino-for-mac/5/wip
Grasshopper Free Installation: http://www.grasshopper3d.com/page/download-1
Grasshopper Free Plugins: http://www.food4rhino.com/app/lunchbox http://www.giuliopiacentino.com/weaverbird
Main Tutor:
Rihan
M.A. Dipl.Ing. Architect
Architect at RKW Architektur + Düsseldorf
For any questions about the course, please email: info@immersive-studio.com…
ll geometry.
The difference with programs like Inventor is that they are made for production, regardless of the fabrication method. I won't go into detail about that, and instead focus on the modeling process.
In this little model, the starting point actually is a bit obvious, the foundation.
The only contents in the 3dm file are 27 lines. These indicate the location of each footing, and the direction of the tilt of each column. Everything else is defined in GH with the use of numbers as input parameters.
Needless to say, instead of those lines you could obviously generate lines and control the number of columns and panels, hence establish their layout, with any algorithmic or non-algorithmic criteria you please. That marks a major difference between GH and Inventor.
You can generate geometry with Inventor via scripting/customization (beyond iLogic), with transient graphics for visual feedback similar to GH's red-default previews. However Inventor's modeling functions are not set to input and output data trees. I won't go into detail on that, but suffice to say that the data tree associativity of GH was for me the first major difference I noticed. I've used other apps with node diagram interfaces like digital fusion for non-linear video editing since the late 90's, so the canvas did not call my attention when I first started using GH.
Anyways, here's a screen capture of the foundational lines:
In the first group of components, the centerlines of the rear columns are modeled:
And the locations in elevation for connection points are set. Those elevations were just numbers I copied from Excel, but you can obviously control that any way you please. I was just trying to model this quickly.
The same was done for the rear columns:
The above, believe it or not, took me the first 5 hours to get.
Here's a screen capture of what the model and definition looked like after 4 hours, not much:
If you're interested, next post I can get into the sketching part you mentioned, which is a bit cumbersome with GH, but not really.
I wouldn't say that using GH to do this little model was cumbersome, it just needed some thinking at the beginning. You do similar initial thinking when working with a feature-based modeler.…
Added by Santiago Diaz at 12:44am on February 24, 2011
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…