e to constrains, I HAVE to do it like this (I can't 3D print everything or opposite).
First
I have no idea how to make the panels, without so many duplicate Edges, Faces etc.
Second
I can't figure out how to align the triangle panels to fit in the construction, so it can be assembled ideally without glue. This problem is both conceptual (I can't figure out how to do it fiscally) and grasshoper-wise - I don't know how to organize data list and produce a global movement, so that the triangle parts do not intersect with each other, BUT intersect the 3d printed construction part (where they fit fix in or just fit and can be glued).
Triangles will be milled out from 3mm Plexiglas, BUT I will not have an option to mill at an angle, so only 90° edges.
3D printed parts will be executed by a high level production powder printer, so it should hold good.
Any ideas?
best,
cuki
…
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)
…
starting as soon as possible.
We're offering challenging projects, insights and contact to leading industry companies, project responsibilities according to abilities and initiative, great work environment and laid-back atmosphere, room to play and evolve,...
Our ideal candidate:
- is passionate about construction, engineering and (computational) design
- is proficient in Rhino / Grasshopper / (GH-)Python
- knows his ways around the Adobe Suite and MS Office
- has a current work permit for Germany
- is a German speaker (other native speakers also welcome, with excellent English skills)
- has an architectural background (Student / BA / MA /...), ideally with work experience
- is interested / has experience in digital manufacturing and prototyping
- will be able to join us shortly
We're looking forward to your applications / inquiries / CVs to: mpelzer@fat-lab.de
View our past projects here: www.fat-lab.com
(Current projects, unfortunately, are non-disclosed)
…
neybee?commentId=2985220%3AComment%3A1257744&xg_source=msg_com_gr_forum
is useful to replace values (even if I cannot replace the same value for example "fraction radiant" in two different internal gains), but not to add new stuff, as in our case.
As you may recall, we were able to add our internal gains through the additional strings, but we have the problem of the default ones that we can not change or remove.
We've noticed that People, Lights and ElectricEquipment Internal gains are located inside the "runEnergySimulation" honeybee command inside the Python script.
We were thinking of two possible quick alternatives while waiting to be able to fully customize the internal gains with honeybee.
For the first one, if it is possible, you could make a "modified" "runEnergySimulation" command for us in which you cut off the Internal Gain parts, so that we can add them as text in the additional strings part. Alternatively you could show us where to add the additional strings we need inside the runEnergySimulation command so that we can add the values we need to run the simulation.
For clarity, these are the internal gains in idf file we need (that are inside de gh file in the panel just below the additional strings command)
Lights,, !- Name, !- Zone or ZoneList Name, !- Schedule Name Watts/Person, !- Design Level Calculation Method , !- Lighting Level {W} , !- Watts per Zone Floor Area {W/m2} 16, !- Watts per Person {W/person} 0.2, !- Return Air Fraction 0.59, !- Fraction Radiant 0.2, !- Fraction Visible 0, !- Fraction Replaceable GeneralLights; !- End-Use Subcategory
People,, !- Name, !- Zone or ZoneList Name, !- Number of People Schedule Name People, !- Number of People Calculation Method 4, !- Number of People , !- People per Zone Floor Area {person/m2} , !- Zone Floor Area per Person {m2/person} 0.3, !- Fraction Radiant , !- Sensible Heat Fraction attività metabolica, !- Activity Level Schedule Name 0.0000000382, !- Carbon Dioxide Generation Rate {m3/s-W} , !- Enable ASHRAE 55 Comfort Warnings ZoneAveraged, !- Mean Radiant Temperature Calculation Type , !- Surface Name/Angle Factor List Name, !- Work Efficiency Schedule Name ClothingInsulationSchedule, !- Clothing Insulation Calculation Method , !- Clothing Insulation Calculation Method Schedule Name, !- Clothing Insulation Schedule Name, !- Air Velocity Schedule Name AdaptiveCEN15251; !- Thermal Comfort Model 1 Type
ElectricEquipment,, !- Name, !- Zone or ZoneList Name, !- Schedule Name Watts/Area, !- Design Level Calculation Method , !- Design Level {W} 5, !- Watts per Zone Floor Area {W/m2} , !- Watts per Person {W/person} 0, !- Fraction Latent 0.3, !- Fraction Radiant 0, !- Fraction Lost General; !- End-Use Subcategory
Thank you very much!Filippo
…
not seem to manage to download the data... (see picture attached).Djordje, do you have any idea about what I can I do or check to fix this?
I just tried to run the component for a couple of locations and it successfully downloaded the data from opentopography.org:
When did you try to run the component? An hour ago?Can you try again?
Other question, just to be sure, regarding the "origin_", is it the central point that you to get out of the output mesh/surface? And does it need to be the point at the actual point elevation or does it need to be the point projected on the ground floor (as I do in my definition)?
Yes, you are correct about both things: it's the central point and it will lie on the actual terrain (it will be projected to the terrain).The latitude and longitude information from the _location input will be taken to find the origin_ point. Elevation will always be ignored, as elevation is calculated from the elevation of the point laying on the terrain at those particular latitude-longitude coordinates.Please let me know if I did not precisely gave the answer to your questions. Or if I misunderstood your question.We are here to help with any issue.…
' component in K2 works very well, it converged in equilibrium state. But, in K2E, the 'rod' component behave differently so it bend very much that the whole structure became collapsed. I was using the mechanical properties just as the K2E presets has provided.
Model from K2 after Solving
Model from K2E After Solving
I want to do structural analysis on my model using K2E. But, with the whole structure in an equilibrium state as it was reached in K2 component.
Do you have any idea how i should done this?
Should I have any input on the 'Threshold' part of the Solver in order to limit the iteration?
Any help will be much appreciated.
Thank you.…
Added by Irfane to Kangaroo at 7:07pm on February 21, 2018
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…