File) 2. I have designed a curved Trichordal-Truss from one curve in Rhino.
The Truss is lying in the XY direction and the footer is placed on the zero point.
3. And now my problem:
I want to put the Truss-object on the feet, move 90°
(from the XY axis to Z axis, see sketch 1).
4. Then copy / move the truss to all 36-points of ellipse (see sketch 1).
5. Align the 36 trusses with the center of the triangle .
pointing at the center of the ellipse (see sketch 2).
6. Using a slider to change the position of the 36-Trusses at der ellipse.
Variable distance between Truss and ellipse (see sketch 3).
Thanks for you Answer.
Best regards
Noureddine…
multiply of variants from Galapagos, to have a chance for better analysis and comparability after. I also would like to use more then one solution in my design after.
In old topics i found kind of 3 solutions.
1.Change Galapagos to octopus ( what don t really want to do, i am kind of happy with Galapagos)
2. Use Slingshot! and MySQL Database ( it s look a little bit too complicated from the first view)
3. Use Colibri and Design Explorer Platform (looks kind of pretty way to solve my problem)
So i tried to add Colibri components to my definition , but have some mistake in the Colibri Aggregator after adding the Genome "An item with the same key already been added". I think it comes because for some steps i am using the "Gen Pool" and not a normal slider. Is it a way to connect Gen Pool and Colibri (i really prefer to have it, then a lot of sliders in some cases)?
And the second question (if i will get it solved with gen pool), could i somehow controll the recording process? For example i would likte to record only variants wit fitness over 90% or start recording just after 20. generation and record till the end?
I also opend for all other possibilities to reach the same goal (record/save/bake multiply variants from galapagos)
…
ace Syntax." eCAADe 2013 18 (2013): 357.
http://www.sss9.or.kr/paperpdf/mmd/sss9_2013_ref048_p.pdf
The measure Entropy is newer. I hereby explain it (from my PhD dissertation):
Entropy values, as described in (Hillier & Hanson, The Social Logic of Space, 1984) and specified in (Turner A. , “Depthmap: A Program to Perform Visibility Graph Analysis, 2007), intuitively describe the difficulty of getting to other spaces from a certain space. In other words, the higher the entropy value, the more difficult it is to reach other spaces from that space and vice-versa. We compute the spatial entropy of the node as using the point depth set:
(11)
“The term is the maximum depth from vertex and is the frequency of point depth *d* from the vertex” (ibid). Technically, we compute it using the function below, which itself uses some outputs and by-products from previous calculations:
Algorithm 4: Entropy Computation
Given the graph (adjacency lists), Depths as List of List of integer, DepthMap as Dictionary of integer
Initialize Entropies as List(double)
For node as integer in range [0, |V|)
integer How_Many_of_D=0
double S_node=0
For depth as integer in range [1, Depths[node].Max()]
How_Many_of_D=DepthMap.Branch[(node,depth)].Count
double frequency= How_Many_of_D/|V|
S_node = S_node - frequency * Math.Log(frequency, 2)
Next
Entropies [node] = S_node
Next
…
r "virtual partitions" as follows:
What I mean "air walls" here, is derived from the description of the E+ documentation with the header of "Air wall, Open air connection between zones". (Page 17, http://apps1.eere.energy.gov/buildings/energyplus/pdfs/tips_and_tricks_using_energyplus.pdf)
As I understand, the term "air wall" used in E+ here refers to a description of something like "boundary condition" between adjacent interzone heat transfer surfaces, but not a kind of "construction or material" (like air space resistance or air gaps within a wall/double glazing window).
The main purpose of introducing the "air wall", is to simulate or approximate the airflow/convection/natural ventilation effect between multiple thermal zones which are connected by a large opening.
In my previous tests, using HBzones and GB, I managed to create the gbXML file which can be successfully imported to DB (without assigning any constructions within HB). And the adjacency condition can be recognized automatically by DB, even when I did not use the "Solve adjacencies" component in HB - shared surfaces between multiple thermal zones are recognized automatically by BD as "internal - partition"(which are standard partitions, but not virtual partitions).
In order to create/approximate "virtual partition", I need to manually draw a "hole" in the standard partition surface (fig.1&2). Again, the reason why we want to use "virtual partitions"(or "air wall") is that it allows airflow between multiple thermal zones which are connected by large openings and we could get different temperature of the each subdivided thermal zone which compose a large thermal zone.
My question is, if there is a possible way to simulate/approximate this kind of "virtual partitions"(or "air wall") in HBzones or in GB? If so, I would like to test if DB recognizes it or not. Actually, we expect that there is no need to involve any manual operations (like drawing a "hole" in the standard partition surface) in DB, due to an automatic optimization loop.
Thank you!
Best,
Ding
fig.1
fig.2
…
unity in Ukraine, which is orientated to contemporary architecture.
The results of CANactions will be published in ACC magazine (link), on the web-sites of “Architectural club” (link), AB "ZOTOV&CO" (www.zotov.com.ua),
Theme
Theme of CANactions 2009 is emergent design techniques.
This theme could include following architectural branches as Digital design, sustainable architecture and other sectors, which by the participants’ opinions, could be EMERGENT.???
Any architectural projects made earlier of specially for the CANactions’09 are allowed for submission.
Presentation
All the projects will be submitted in two phases:
Phase 1 – selection of 10-15 participants of CANactions.
Project has to be sent by e-mail to: (__) in PDF (not less then 300 dpi, not more then 10 Mb).
Phase 2 –the CANactions participants prepare 15-20 min presentation of their projects (screen projector, microphone) and materials for the exhibition in House of Architect, Kyiv. The project has to be presented by author. -> exhibition is the first architecture biennale
Presentation requirements: file should be composed in PDF format on A0 sheets, placed horizontal (not more then 1 sheets). This file should contain sufficient amount of the presentation graphic material, including text explanation up to 300 words.
The raster images should have printing definition not less then 300 dpi. It’s recommended to avoid solid black fillings, because the projects will be printed on ink-jet printer.
The presentation requirements could be changed after phase 1 results.
The presentation materials should be made in Ukrainian (or Russian) and English. Verbal part can be presented in any language.
Tarek Naga, Naga Studio, Los Angeles / USA (I can contact him - he will do it for free)
Awards
DIA (Dessau Institute of Architecture), Germany gives a prize: certificate for the education for 1 (2) semesters of Master-program in DIA for students and young architects (up to 30 years) from Ukraine. The decision about the prize winners will be made by selection board.
Guests presentations
- Daniel da Rocha DIA /Germany/ (flights, accommodation?). Theme: (scripting???)
- Aleksandr Kalachev DIA /Riussian Federation/, Tudor Cosmatu DIA /Romania/, Irina Bogdan DIA /Romania/ - "Parametrically Defined Urban Patterns".
- Grygorii Zotov DIA /Ukraine/ - “The Multicultural Columbarium”.
- Armen Menendian /USA/ - "Blending Parametric Methods With Traditional Design:
"The Danish Pavilion at Shanghai EXPO 2010".
Exhibitions
1. Projects of 10 (15) CANactions participants
2. other projects: Zotov+Co
Bollinger+Grohmann - structural eng.
the very many
C-Space Pavillon / alvin huang
ala _ amanda levete studio
anOtherArchitect
student work, Charles Walker, AA Unit Pavillon
Event schedule
Phase 1: 01.07.2009 – start of the CANactions 2009 and beginning of projects submission.
16.08.2009 - dead-line of the project submission of phase 1.
Phase 2: 17.08.2009 – announcement of the CANactions 2009 participants.
30.08.2009 – dead-line of submission of the CANactions 2009 exhibition materials.
14-26.09.2009 – exhibition of the CANactions 2009 projects in House of Architect, Kyiv.
25-26.09.2009 – CANactions 2009.
26.09.2009 - finnissage / announcement of competition winners for DIA study
Contacts: canactions2009@gmail.com…
Added by Grisha Zotov at 6:32am on August 10, 2009
50 and reduced the 'cell size' slider to 0.5. When the 'Azimuth' angle is changed to 180 +- 90 (dawn or dusk), the points are widely dispersed, reducing the density and increasing the number of cells in the "sparse grid". Under these conditions, the number of cells was ~2000 and the Profiler time for 'Boundary' went up to a full minute or more each time 'Altitude' or 'Azimuth' was changed.
So I created this code to benchmark some alternatives and found two interesting things:
'Boundary' surface performance (v.1) is not linear. As the number of surfaces goes from 1000 to 2000, the time per surface goes up dramatically.
I tried three alternatives for creating a rectangular surface at a given point that are all substantially faster: v.2, v.3 and v.4. For 2000 points, v.4 is 150 times faster than v.1 !!!
Performance of v.2, v.3 and v.4 are similar and all scale up very well. To benchmark beyond 2000 points, I recommend disabling the VERY SLOW v.1. At 5000 points the 'Pop2D' component takes ~11.3 seconds but v.3 and v.4 take less than one second to generate 5000 surfaces!
See boundary_2015Nov19a.gh attached.
So I replaced the 'Rectangle' and 'Boundary' components in my sun reflection model with v.4 in focus_2015Nov19b.gh (also attached) and the performance is amazing.
I'm sure someone has mentioned this performance issue with 'Boundary' on the forum before but as with many things, I didn't realize what a major obstacle it can be until I discovered this for myself.…
Added by Joseph Oster at 9:16pm on November 19, 2015
grout lines, a tile surface and tile perimeter poly line). I then use that as a Mesh (from Rhino) in the second definition.
2. I can tile out the mesh surface and rotate all the tiles in 90 deg. increments.
To get what I wanted. I took the Mesh and have copied it in series to make a grid. I can then control the dimensions of the grid. X and Y extents. I can also rotate the tiles around their centers.
The spacing of the grid is set from an edge curve of the tile (or mesh). This sets the size of the squares in the grid themselves.
See definition, images and Rhino 4 File, to give the definitions a shot. I have labeled how to use them.
My question -- how can I randomly rotate squares in my grid? I would like the deg of rotation to be random and also which tiles they are.
Also how might I rotate (every other tile) for example? So that I can control the pattern more?
Thoughts?
Thanks!
…
ror when it comes to points on edges of the surface.I guess it is because normal vectors at a few of points are invalid. After all, because of these invalid points, an error message comes out which is saying " Runtime error (PythonException) : Unable to add polyline to document " and it results in no output. Please give me some help if you know how to handle this problem. I post a code below.Thanks in advance.
---------------------------------------------------------------------------------------------
import Rhinoimport rhinoscriptsyntax as rsimport mathimport ghpythonlib.components as gh
output_crvs = []
for pt1 in input_pt :output_pts = []newPt = pt1output_pts.append(newPt)
while len(output_pts) <= 100: newPt = outputpoint(base_srf, newPt, distance_factor) output_pts.append(newPt)
output_crv = rs.AddPolyline(output_pts)output_crvs.append(output_crv)A = output_crvs
def outputpoint(base_srf, input_pt, distance_factor):centre_point = rs.AddPoint(0,0,0)height_point = rs.AddPoint(0,0,10)
zaxis = rs.VectorAdd(centre_point, height_point)
cp_pt = rs.SurfaceClosestPoint(base_srf, input_pt)normal_vector = rs.SurfaceNormal(base_srf, cp_pt)drain_vector = rs.VectorCrossProduct(normal_vector, zaxis)
dvector2 = rs.VectorUnitize(drain_vector)dvector3 = rs.VectorRotate(dvector2, 90, normal_vector)
mpt = gh.DeconstructVector(distance_factor*dvector3)moved_pt = rs.PointAdd(input_pt, mpt)moved_uv = rs.SurfaceClosestPoint(base_srf, moved_pt)output_pt = rs.EvaluateSurface(base_srf, moved_uv[0], moved_uv[1])
return output_pt…
g from a list of 12 items I would find all the combinations taking just 4 at time.
I'd use a Stream gate that takes the indexes of the items and pass them to a list item in order to select just the items of the combination. Doing so I can choose a single combination of index at time to pass to the list item.
In this moment all the data come out from the first gate, all the others are empty.
If I pass these index to the list item it gives me an error (probably because of the data structure).
*long version*
I start from a list of 12 segments, all of them with the starting point in common and the ending point distributed regularly in the space. It's a quite simple starting point.
What I'm trying to achieve is to find all the possible spatial configurations made of 2, 3, 4 segments. I started with 2 segments so I've 12^2=144 possible configurations but just 4 different configurations that can intuitivelly be recognized (60°, 90°, 120°, 180°).
Doing the same with 3 segments generates 12^3=1728 configurations and I don't know how many different ones. With 4 segments I've got 12^4=20736 possible configurations.
As you can imagine many configurations are identical but just with a different orientation so at the end I'll have to parse geometrically the output to delete duplicates (I'll address this later on).
Please could you help me to figure out how to mix these segments in different configurations?
Thank you in advance.…
per bake commands to bake the connected geometry with the corresponding materials.
mxDiff is a simple diffuse material. Only reflectance color for 0° and 90° are exposed.
mxEmit is a basic emitter material. You can set light color, power and efficiacy of the emitter.
mxBasic is the most complex material for now. You can set all the properties of a single layer material including. Use this for transparent materials.
mList is your way if you don't want to create your own materials. This component returns a list of all the materials on the Maxwell scene manager. Make sure this is evaluated after you add your own materials if you want to see them in the list.…