[Sub]Code This page is set up to host bits of codes and sample algorithms. Those algorithms are free to be explored or even shared with proper recognition to the author.Please let me know if you reached any interesting result using any piece of the code provided. Before downloading anything from Digital [Sub]stance you consent to the following license agreement Digital [Sub]stance by Marios Tsiliakos is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Based on a work at digitalsubstance.wordpress.com. Permissions beyond the scope of this license may be available at “If you Enjoyed anf found the content of this blog useful please consider donating to keep Digital [Sub]stance up and running.” Grasshopper Definitions
SKETCHES: PART 2 EXTENDED - BLOG I wanted to go into more depth about how I created the sketch look. Images like these depend almost entirely on the textures you use. I spend a lot of my time scavenging images online as well as creating my own to get the exact style that I am looking for. Along with good textures, another key component to sketch illustrations is the subtle imperfections. Sometimes, the textures that I use have enough blemishes and flaws that nothing extra is needed. I started out creating a video tutorial but soon realized that there was too much custom editing done that was unique to this illustration and probably would make things confusing. 1. 2. 3. 4. 5. 6. 7. 8. There is obviously a lot of manipulation done to each layer that wasn't shown here, but that will change from illustration to illustration.
| DesignReform This is a response to a question on the forum. The question is 1. How does one snap in 3ds Max and 2. how can one move things dimensionally. I'm going to start this post by saying this is not something I will do regularly but i was compelled in this case to give it a shot. Delete Mesh provides parametric deletion based on the current sub-object selection level in the stack. So.... This is the third part of a series in which I will try and go through all the operations that can be done at the sub-object level of the various geometry types in 3ds Max. Generative Algorithms: Lindenmayer-System (L-System) An L-system or Lindenmayer system is a parallel rewriting system, namely a variant of a formal grammar (a set of rules and symbols), most famously used to model the growth processes of plant development, but also able to model the morphology of a variety of organisms. L-systems can also be used to generate self-similar fractals such as iterated function systems. L-systems were introduced and developed in 1968 by the Hungarian theoretical biologist and botanist from the University of Utrecht, Aristid Lindenmayer (1925–1989). For details and samples, check wikipedia Koch Curve. Penrose Tiling. Sierpinski Triangle. Dragon Curve.
blackspectacles David LeFevre's course is going to walk you through a number of ways to create and manipulate surfaces using Grasshopper and Rhino. We'll start by showing basic methodologies for creating surfaces. Then, we’ll create a simple Grasshopper definition that will illustrate the basic principles of relationship modeling. From there we’ll learn how to extract information from surfaces in order to create new geometries, we’ll learn how to sample an image to create parametric inputs, and finally, we’ll learn how to inform the selection of objects within arrays of multiple geometries. When we’re finished you will have the knowledge you will need to construct your own parametric surfaces using Grasshopper and Rhino. Here's a link to the course, below is a listing of the videos: Chapter 1: Basic Surface Modeling Tools Chapter 2: Building Parametric Surfaces
Maya Poly-Modelling – Plethora Project Plethora-Project.com is an initiative to accelerate computational literacy in the frame of architecture and design. It aligns with the "show me your screens" motto of the TopLap live-coding group attempting to get rid of Obscurantism in digital design. Directed by Jose Sanchez Contact me at : jomasan@gmail.com Bio: Jose Sanchez is an Architect / Programmer / Game Designer based in Los Angeles, California. He is partner at Bloom Games, start-up built upon the BLOOM project, winner of the WONDER SERIES hosted by the City of London for the London 2012 Olympics. He is the director of the Plethora Project (www.plethora-project.com), a research and learning project investing in the future of on-line open-source knowledge.
Supra | Supracodex A DLA model, now coded in C++ / Openframeworks. The DLA model is a paradigm model for far-from-equilibrium pattern formation. ‘[P]articles are added, one at a time, to a growing cluster or aggregate of particles via random walk paths starting outside the region occupied by the cluster.’ (Paul Meakin 1998) The cluster has a fractal structure with scaling properties. The Ulam spiral (named after its discoverer, the mathematician Stanislaw Ulam) is a rectangalur grid of numbers spiraling out from the center, in which the prime numbers are highlighted. An interesting feature reveals itself when many numbers are plotted (replacing the numbers with colored dots): a pattern emerges, dominated by diagonal lines. A visualisation of an attracting set of a quadratic recurrence equation exhibiting a very elegant and intricate structure with fractal properties. A simulation of a reaction-diffusion system. The model is coded in Processing as an agent-based Cellular Automaton model.
DataTree selection rules Dear Users, I've been working on data tree selection rules this weekend and when 0.9.0063 is released (hopefully tomorrow, 4th November) the [Path Compare], [Tree Split] and [Replace Path] components will work slightly different from before. Sorry about breaking this, but it proved impossible to improve the selection logic with the fairly ambiguous notation that was implemented already. Not every change is breaking though and I hope that most simple matching rules will work as before. Imagine we have the following data tree, containing a bunch of textual characters: {0;0} = [a,e,i,o,u,y] {0;1} = [ä,ë,ê,ï,î,ö,ô,õ,ü,û,ÿ,ý] {1;0} = [b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,z] {1;1} = [ç,ĉ,č,ĝ,ř,š,ş,ž] There are a total of four branches {0;0}, {0;1}, {1;0} and {1;1}. So what if we want to select from this tree only the standard vowels? This selection rule hard-codes the number zero in both tree path locations. {0;?} {? {0;?} {A;B;C;... The following rule notations are allowed: David Rutten Seattle, WA
Week 2: Variables - Computational Methods, Fall 2012 Lattice Lab LATTICE LAB was a two-day workshop on the topic of Subdivision Modeling for fabrication with 3D printing. Workshop Journal Lab participants learned how to create, distribute, and smooth mesh elements through the Plug-Ins Paneling Tools and Weaverbird for Rhinoceros. The Lab curriculum included a series of instructional lectures, lab exercises, and open work sessions. Drawing inspiration from the patterns found in 3-Dimensional Lattice Structures, Lattice Lab participants created vast arrays of geometrical units capable of responding to a range of dynamic contexts. Open work sessions offered participants time to develop individual design studies with one-on-one assistance by the Lab instructors.
Jeffrey Vaglio Project vignettes:Tower VignetteDefinition Vignette Additional images:Top ViewPerspective ViewOverall View Grasshopper file:Elliptical Tower with Annual Solar Response Louvers This is a parametric tower Grasshopper routine which twists an tapers and ellipse as it rises vertically. Here are some more images:Close-Up View Here is the Grasshopper file:Elliptical Tower with Annual Solar Response Louvers Here is the Diagrid Routine applied to an pseudo-ovoid shell: Here is the Grasshopper file: Diagrid Panels on Surface I was interested in applying a Diagrid Panel system to my tower geometry. Here are some snapshots from my efforts to combine the Solar Responsive Panel System with component population to a high rise tower definition. Here are some more images:Tower ViewPerspective View The following Solar Responsive Custom Paneling System integrates component population strategies developed by nGai. USC_517_JVaglio_Solar_Responsive_System3_100418.ghx Here are some more images:Plan ViewIsometric View
john locke » grasshopper Extrude Mesh Faces In conjunction with a form-finding exercise in Kangaroo, I was searching for a way to render a single, closed mesh as if it were an inflatable form made of individual, stretchy panels – think soccer ball. Since I was already starting with a mesh, I needed something that could extrude and manipulate individual mesh faces normal to the face centroid with a certain degree of flexibility. Parametric facade apertures on swooping surfaces are out, parametric emoticons are in. bucky was right I’ve used genetic algorithms for form finding with a previous project, and that time I was using a tenuous connection between catia, modeFrontier and Robot. A couple of observations: Galapagos pretty quickly found the overall shape – smaller radii at the extremes and bulging in the middle – the beginning of a sphere. But in general my hypothesis was proven correct. kangaroo tests more » inflatable mobile voter center assembly more » closest point on a curve more » parametric image sampling
Lyrebird This is the first release of our plug-in to instantiate Revit families using data from Grasshopper. Lyrebird for Grasshopper will create one component, LBOut for sending information from Grasshopper to Revit. Within Revit, the Lyrebird plugin will create a split button with four commands: a toggle to turn the receiver on/off, a settings dialog, a command to select all elements in a particular set, and a command to strip the Lyrebird data from selected element(s). We have tested this project, but it is the first release and it may still contain bugs. Please use it "as is", it does not come with warranties. To install: Download the Lyrebird.msi file from below and run it to install Lyrebird for the local user. In Grasshopper, choose File > Special Folders > Components folder. For Revit, copy the two DLL files and one ADDIN file to %programdata%\Autodesk\Revit\Addins\2014. You can get more information about Lyrebird here.