Meeting Agenda:
1) Discuss what the group would like to learn this term through our regular scheduled meetings. Topics include the priority and sequence of Grasshopper exercises we would like to explore during the winter term from http://www.digitaltoolbox.info/grasshopper_basic.html and Processing tutorials from the Processing Handbook I received from MIT.
2) Watch the Matt Storus Church Machine video and have a discussion about parametric and generative tools in design.
If you have a chance, please read the following article by Tim Love called Between Mission Statement and Parametric Model at:
http://places.designobserver.com/entry.html?entry=10757
3) Discuss a possible design build project over the following winter and spring terms using the skill set this group is developing. Conversation led by Chris Nielson (please see comments below for a brief backstory)
4) Discuss possible applied research and design work for the National Conference on the Beginning Design Student paper, Machine Craft and the Contemporary Designer: exploring parameters and variables through making physical artifacts. I wrote the attached abstract and submitted it for the conference the past fall and it was accepted. To continue with the research I need to assemble a team of students that will help explore the principles I set forth by making physical objects with the cnc router. In exchange for helping with the research I will show participants how to use the cnc router, how to author machine code and provide you with the cnc controller interface software necessary to simulate machine movements. Not to mention, your work will be sited in the research paper I present at the conference at UNC Charlotte in March. More tomorrow night, of course.
Thank you for your interest and I hope to see you there.
Sincerely,
Erik Hegre
Chris Nielson Reply by Eugene Parametric Society on January 7, 2010 at 12:02pm
All,
In response to Erik, who requested that I describe my intentions in a design-build project and to the article posted (definitely required reading for this group) I propose that we begin development of a project that spans the realm of "sustainable social" architecture and parametric design. The particulars of such a design do need to be made concrete, and it will be important to define the goals of such a project.
Therefore, I would suggest that this serve as a forum for the next few weeks for those interested in producing a built project. I agree with Nico that it may not be feasible to create the built piece, whatever it may be, this term; however we should have the groundwork and a plan in place by the end of the next 10 weeks.
Either way, I would ask that everyone who is interested to please provide as many concepts to this forum to begin a discussion. If you are indeed interested, please submit goals that this project could achieve (energy, socially, aesthetically, economically, related) and perhaps what you envision the project to physically be (shading device, public bench, water catchment, interactive thermal contraption, etc . . . )
I look forward to hearing your thoughts!
Cheers,
Christopher…
ntación en distintos procesos del Diseño.Se abordaran los conceptos basicos y la metodologia para abordar problemas de diseño a traves del desarrollo de Herramientas Algorítmicas mediante un proceso de programacion visual.
Como nuestras herramientas de trabajo se utilizara Rhinoceros+Grasshopper+WeaverBird
Detalles:
Instructor: Leonardo Nuevo Arenas[Complex Geometry]
Fechas: 22, 23 y 24 de Noviembre de 2011
Lugar:Facultad de Arquitectura, Benemerita Universidad Autonoma de Puebla
Cupo: Limitado a 20 plazas
Costo:
$1,500.00 [Evento auspiciado por el por el Cuerpo Academico de Diseño y Tecnología CA-116]
Para hacer tu pago vía deposito o transferencia electrónica:
Banco HSBC
No. de Cuenta: 4003895570
Importante:
Los participantes deberán traer su propia Laptop con todo el software y actualizaciones (originales o versiones de demostración oficiales) previamente instaladas. (Se fijara una fecha unos días antes para revisar que todos los equipos estén en orden y listos para trabajar). Si planeas venir de fuera de la ciudad contáctanos y te pondremos en contacto con otras personas que también vayan a hacerlo para en caso de desearlo puedan compartir su lugar de estancia.
Contacto:
BUAP
Dr.Arq. Víctor Martínez
ca116fabuap@gmail.com
Complex Geometry
Leo [33 3956 9209]
[nuarle@msn.com]
…
hours/day (40 hours) Future University in Egypt (FUE) Department of Continuing Education(DCE) ________________________________________ The aim of this workshop is to teach participants how to create a parametric housing model which can be associated with day lighting and thermal analysis. Moreover, participant will get the opportunity to develop passively design envelope. The workshop is highly interactive giving different examples that develop a strong understanding of Grasshopper Workflow & different passive strategies using the performance simulation tool (DIVA). The participants are divided into groups to study the different orientations and the final outcomes of each group are presented thus concluding the recommendation strategies for each orientation. At the end of the workshop, each participant will receive a Certificate of Attendance from Future University in Egypt. Target Participants: ‐Professional architects. ‐Master and PhD students. ‐ Last year of undergraduate students (ONLY). Prerequisite: -None, however, a basic Grasshopper & Rhinoceros knowledge is preferred. Used Software:(will be provided by the instructor). ‐Rhino 5 SR 3 ‐Grasshopper 0.90066 ‐DIVA Version 2.1.0.3 ________________________________________ Workshop Outline: 1st DAY (Wednesday 29 Jan): 1.Introduction to passive design strategies (efficient envelope) 2.Introduction to parametric design logic 2nd DAY (Thursday 30 Jan) : 1.Developing technical tools based on reverse engineering technology. 2.Examples for parametric facade design 3rd DAY (Saturday 1 Feb): 1.Enforcing the parametric logics with Grasshopper 2.Introducing the performance simulation tool (DIVA) 4th DAY (Sunday 2 Feb): 1.Facade design using grasshopper ‐Studio work. 2.Associative techniques – Day lighting and thermal simulation 5th DAY (Monday 3 Feb): 1.Final optimization and final results 2.Group work presentation ________________________________________ Participants are required to bring their own laptops. To register: 1.Fill in the application form found in this link: https://docs.google.com/forms/d/18OrcwwDks5-vd0irZITC430bjMVb8I8pdw0i5OefyMg/viewform 2.Kindly pay the workshop fees at FUE DCE Admission or in the Bank account Number of participants is a minimum of 20 and a maximum of 24 ________________________________________ Workshop Trainers: Ayman Wagdy Mohamed Ibrahim Researcher at Sustainable Design research group | AUC Lecturer at Parametric design | AUC M.Sc. Architecture – Architecture and Building Technology| Politecnico Di Milano Haitham Salah Ali Mahmoud Teaching Assistant of Design course | AASTMT Head of design team | YBA Architect Principal and cofounder | Arkan Architect ________________________________________ For any questions or info please do not hesitate to contact us at : Mob. : 01003220017 - 01008551772 Email : Fue_ppd@outlook.com…
Added by ayman wagdy at 12:12pm on January 17, 2014
ears many bridges had been constructed and even more has collapsed or has been destroyed. Today Warsaw is connected by eight road bridges and two rail bridges, only few of them have a bike lanes. Modern cities are going through rapid changes. Hamburg has announced that in less than 20 years they are closing the center for cars, Copenhagen notes major incrementation in bike use, city bike system has been successfully introduced to many Polish cities. Warsaw bicycle net path is still very weak and probably the most urgent issue is to build a new bridge overpassing the Vistula River. This year Warsaw City Council decided to run an architectural competition for a new bridge. Architecture for Society of Knowledge and Architektura Informacyjna, Master's Programs of Architecture Faculty of Warsaw University of Technology, and Architektura Parametryczna, a digital design educational platform, invite for workshop: Outcome: The primary goal of workshops is to find the most optimal position for new bicycle bridge (or bridges) in Warsaw to enhance the global accessibility and Walkscore. During the workshop the participants will develop an interactive tool that will help to understand the accessibility changes by connecting Vistula shores with bicycle bridges. Program: Four days event will include coding part and learning how to apply digital tools into urban scale problems along with lectures of invited guests. This workshop is planned for intermediate user that understand and use Grasshopper. The workshop will be conducted in English. Tools: SOFTWARE Rhinoeros, Grasshopper, Silverye, Elk, Shortest Walk, Human, gHowl, Unity HARDWARE: Multimedia tool a multimedia tool designed by Jacek Markusiewicz for data representation and design in VR Tutors: Jacek Markusiewicz is an architect graduated from Warsaw University of Technology and the Master in Advanced Architecture at IaaC Barcelona. He specializes in fields of parametric architecture, programming and responsive design. He has been working on different projects combining parametric approach and urban scale in international offices in Barcelona, Warsaw and Beirut. He is a PhD candidate at Warsaw University of Technology. Adrian Krezlik Is an architect, co-founder of Architektura Parametryczna a platform dedicated to promotion of parametric design and digital fabrication, he has worked for Zaha Hadid Architects, FR-EE Fernando Romero and Michel Rojkind, he teaches at School of Form in Poznan. Tution fee: Warsaw University of Technology 420pln Polish Students 470 pln Polish Professionals 550 pln International Students 160 EUR International Professionals 220 EUR All the prices include VAT.…
sshopper for the developable surface problem. Thanks for connecting me to those discussions on it. Those images are fantastic!Andrew, I took inspiration from your approach and my ran with it! This works for my curve set: Here's what's going on. We can see the curve C as a graph above some plane P, and we'd like to find the local maxima, ie, it's critical points. We segment C into smooth, convex segments and use the Extremes component to locate the global maxima of each segment. This can include the endpoints of segments as artifacts, which we filter out. Now we have only genuine critical points of C with respect to P. We also check the endpoints that we filtered out earlier. If a tangent at one these points is perpendicular to P's normal vector, the point is in fact critical, and is included in the final point stream.
The pro of this is that it uses Extremes as the 'workhorse', and this component is likely to use an efficient and numerically robust zero/maxima finding algorithm, such as bisection, or Brent's method.The con is that it requires curves to be segmented at their inflection points, and for each segment to turn less than one full rotation around any line whatsoever that is parallel to P. Note that segmenting curves in these ways are interesting and useful problems in their own rights. Without this kind of segmentation, my approach will in general fail to extract some critical points on splines with inflection points, and on curves such as helixes or spirals. However, arc-segmented polylines naturally have these properties, and these are enough for my purposes for now.
In a different direction, I think I will try the method of bisection to extend your curve subdividision / dot product graphing approach. Essentially we'd sample the curve, use your dot product graph construction to find regions that we know will contain a zero crossing, subsample on those regions, and repeat the process until we've hit floating point precision for the result. This probably takes around 20 to 50 iterations. But it would give the highest quality results possible, and likely be far more stable than any dubious, inflection-point-splitting, wild-turn-avoiding, subtle-bug-inducing approach that I'll come up with otherwise, hah.Andrew, thanks for the code and inspiration!…
d of interpenetrating surfaces somewhere:
Now all links (except a possible single ball on the very end of odd numbered ball series) are four balls long, including the jostled ones. Without that step, those items simply don't appear in the output, leaving way too big of gaps to ignore, eventually leaving huge gaps at later stages of segment doubling:
So if I turn the jostling multiplication factor way down it should work imperceptibly:
Ta-dah! The jostling strategy WORKS! Granted, only in this special case where I know I'm dealing with adjacent pairs of worms along a curve, not generic objects arranged in space by some artist.
Now I just need to wrap the multiple Python script components I'm stringing together into one script.
How long does the full 2400 balls take, finally? It took 12 Python scripts that merge pairs, to achieve this breakdown: 2400 -> 1200 -> 600 -> 300 -> 150 -> 75 -> 38 -> 19 -> 9 -> 5 -> 3 -> 2 -> 1. Time was 2 minutes 50 seconds, so there is some extra struggle for 2X as many balls as 1200 that took 1 minute 20 seconds, but only ten more seconds.
…
Added by Nik Willmore at 9:06pm on February 17, 2016
of them. If they were already suggested and deemed impossible, i apologize.First, it would be really cool to have a right-click menu item for any geometry retaining module, that does the following: bakes the geometry, then disconnects all inherited data from the module, and assigns the baked version as locally defined. This is a one-time only thing, of course - it would be cool because if you have a "step-definition", that is, you have clear bottlenecks in your dataflow, and at some point you become satisfied with what you have so far, and only need to manually tweak some stuff to move on, you can discard the "already solved part of your definition. It's just a sort of "casting in stone" of partial results, that helps especially with simple work-defs or helper-defs. You could also call it something kickass like "manual override" or "emergency/hand b(r)ake".Second, if you have a component that outputs to a lot of others, and you want to change it with something else, you usually have to painstakingly reconnect all those wires, and if it doesn't work out, you do it right back or undo until you fingers bleed. Just as there is an extract parameter upstream for locally defined values, a downstream "extend parameter" with one rightclick menu item would make switching between various components easier.
Third, maybe a hot-key that you press and then click on a wire, which creates a "data" component at that point, splitting the wire and effectively allowing you to hijack it.
Lastly, maybe this is a stupid question, but what happened to the "clusters"? I mean i know they ended abruptly because of technical difficulties, but collapsing a group to a single component like that was totally awesome.Oh, and a minor bug repor from the v7.053 - it's not important, but mildly annoying: when you have an embedded graft, flatten, reparam or expression into a plug, the component extends to the left with the nifty little icons, and that looks very nice, but the wires still go in the old place, so at first glance i always think the wires are plugged in wrong. Is it possible to move the plug along with the component icon edge, or at least make those little indicators smaller, so that the error is minimized?
Thanks for your time,Hope i was pertinent
Andrei I.ps: the lolcat component is adorable, but i do believe that overall worldwide grasshopper productivity has dropped by various increments of those 20 sec it takes for it to refresh. Sadly accustomed with the feeling of guilt associated to watching around 50 lolpics refresh, I suggest that every 5 refreshes or so, you get a "stop looking at this and get back to work" message. It is at least a good way to derogate responsibility for tempting people to watch kitty-pics all day. :D…
es at the beginning. But as I make changes to the input (or just hit the recompute button) the time it takes to execute increases. This has happened to me with other scripts I've written with the python component. Why does this happen? And how do I fix it? Does python hold onto data from one execution to the next? The only solution I have found is to relaunch Rhino. Even if I copy the component into a fresh grasshopper canvas, the computation time does not return to original.
The images below illustrate the time increase. I simply hit the recompute button between each pass. All inputs remain the same the whole time. There are 6400 curves being projected. I will say that with fewer curves, the increase in time is nonexistent or perceivable. (I have 24 GB RAM and it is did not even reach 50% of usage during the tests)
My python code:
import ghpythonlib.components as ghcompimport ghpythonlib.parallel
def project (tempc): tempresult=ghcomp.Project(tempc,B,D) return tempresult
a=ghpythonlib.parallel.run(project,C,True)
I have attached the GH file with the inputs internalized if anyone wants to try for themselves.
Pass 1= 444ms
Pass 5= 610ms
Pass 10= 908ms
Pass 15= 1.2s
Pass 20= 1.4s
…
Added by Lawrence Yun at 3:19pm on December 10, 2014
I thought the easiest way (and really tight deadline now) was c4d mesh deformer because it lets one choose a cage object, so I modeled this "rig", essentially a mesh of 20 carefuly measured points to see how exact the real thing is to the 3d model. My plan is to deform the entire mesh from source (3d model) to target (meaured low resolution mesh = "rig" )
(above two images : C4D test... work with a spheric cage - but not with a mesh I modelled in rhino)
C4D Mesh Deformer doesn't work with the cage geometry like this because I think the cage geometry actually need to be larger and be more like a cage, but of course I can't measure Imaginary cage off this thing :)
So I am asking for a suggestion for any quick tool like mesh deform in c4d, or how one might go about it with grasshopper... with some coding.
Thanks!
Youngjae
…
will occur only after a certain amount of time has passed or a condition has been met.
When using firefly, I constantly need to wait for a data set to be filled before I send a boolean to another component.
I am trying to use python's 'time' module to mitigate this; however, it does not work like a time delay in processing or arduino would. Instead, it waits and sends all the data at once in a condition like this:
import time
a = []
for i in range(20):
if i % 2 == 0:
time.sleep(.5)
a.append(i+2)
else:
print 'better luck next time'
Another sample code that freezes:
import time
while True:
if x == 1:
time.sleep(.5)
print 'now waiting...'
a = 0
else:
a = 1
print 'finished'
break
Thank you in advance…
Added by johnnyUtah05 at 2:36am on November 22, 2016