ive input but I have no clue how to begin doing this. I've read about using Processing and have even tried something with Processing but it didn't work for me.
I haven't had any luck finding step by step tutorials on inputing data with the 'read file' tool either. I have a feeling that just knowing how to import data would help a lot but the only examples I've found didn't work for me.
I'll be honest though, when it comes to programming and code, I'm an idiot and at a very beginner level. However, once I have working code to study and play around with, I pick up pretty quickly. I've done this with some of the GH definitions I've found and had some good results.
Basically, it's been very difficult and frustrating since I've spend literally 4 weeks trying to figure this out. Like I said, I'm not good with code! Fortunately I've had a little bit of help from the GH community and am very thankful. With any luck, maybe some other people on here would be willing to help out a couple students working on a thesis project? We don't have money but could exchange fabrication services for your help with code or definitions. We have access to a 3 axis CNC mill, Laser Cutter and FDM printer.
Thanks for your time (and hopefully your help),
Matt.
…
to problems. If anyone wants to take a look at the attached file "605b-3" and try to help me, that would be awesome.
The way I'm thinking about creating the louvers:
1. Contour the shape (could be any shape, but I attached the one I'm trying to do it to)
2. Divide those contour curves
3. Find the 4 points on those curves that are furthest away from the center of each curve
4. Move those points slightly away from the center of each curve
5. Replace the unmoved points with the moved points
6. Interpolate/NURBS curve through the new list of points
7. Loft the new curves with the original contour curves
I think I'm close, but I'm getting stuck at the end- I thought shifting lists would be the best way to solve my problem, but I'm a little confused as to how grasshopper is organizing the list of new curves and how to match that organization to the original curves.
Attached is an image of where I am stuck. I can only create a surface in the gap that I'm trying to create by the louvers. Either that, or one or two of the curves tends to create a "tornado" looking thing and i can't figure out how to fix it without individually breaking up the list. Is there a way to set all the curve seams to be at the same location in a list?…
ry branches would be an added bonus.)
I had an idea of using contours to find the center point, then connecting these found center points to create my centerline. However, I am facing a few challenges... specifically, I do not know how deal with splits in the tree branch.
I think I have an idea for how to deal with this, but I am not skilled enough (yet) to execute. The whole idea would look like this:
1) create a list of contours through the tree branch
2) connect the center points of the contour lines
3) when a single contour produces two separate polylines (when the tree splits), AND the previous contour produces only a single polyline, divide the list into two new lists starting at that contour.
4)when a single contour produces two separate polylines, AND the previous contour also produces two separate polylines, draw a polyline between the closest pair of centroids.
Has anyone run into this (or something similar) before? And, is this a good way of going about it?
The attached script is incomplete, but has the oak tree branch internalized.
I have been struggling hard with this....Any help would be greatly appreciated!!
Thanks,
Ethan
…
Added by Ethan Davis at 8:55pm on September 4, 2017
r." I'm sorry to hear that, I take the interface and ease-of-use rather seriously so this sounds like a fundamental failure on my part. On the other hand, Grasshopper isn't supposed to be on a par with most other 3D programs. It is emphatically not meant for manual/direct modelling. If you would normally tackle a problem by drawing geometry by hand, Grasshopper is not (and should never be advertised as) a good alternative."What in other programs is a dialog box, is 8 or 10 components strung together in grasshopper. The wisdom for this I often hear among the grasshopper community is that this allows for parametric design."Grasshopper ships with about 1000 components (rounded to the nearest power of ten). I'm adding more all the time, either because new functionality has been exposed in the Rhino SDK or because a certain component makes a lot of sense to a lot of people. Adding pre-canned components that do the same as '8 or 10 components strung together' for the heck of it will balloon the total number of components everyone has to deal with. If you find yourself using the same 8 to 10 components together all the time, then please mention it on this forum. A lot of the currently existing components have been added because someone asked for it."[...] has a far cleaner and more intuitive interface. So does SolidWorks, Inventor, CATIA, NX, and a bunch of others."Again, GH was not designed to be an alternative to these sort of modellers. I don't like referring to GH as 'parameteric' as that term has been co-opted by relational modellers. I prefer to use 'algorithmic' instead. The idea behind parameteric seems to be that one models by hand, but every click exists within a context, and when the context changes the software figures out where to move the click to. The idea behind algorithmic is that you don't model by hand.This is not to say there is no value in the parametric approach. Obviously it is a winning strategy and many people love to use it. We have considered adding some features to GH that would make manual modelling less of a chore and we would still very much like to do so. However this is such a large chunk of work that we have to be very careful about investing the time. Before I start down this road I want to make sure that the choice I'm making is not 'lame-ass algorithmic modeller with some lame-ass parametrics tacked on' vs. 'kick-ass algorithmic modeller with no parametrics tacked on'.
Visual Programming.I'm not exactly sure I understand your grievance here, but I suspect I agree. The visual part is front and centre at the moment and it should remain there. However we need to improve upon it and at the same time give programmers more tools to achieve what they want.
Context sensitivity."There is no reason a program in 2014 should allow me to make decisions that will not work. For example, if a component input is in all cases incompatible with another component's output, I shouldn't be able to connect them."Unfortunately it's not as simple as that. Whether or not a conversion between two data types makes sense is often dependent on the actual values. If you plug a list of curves into a Line component, none of them may be convertible. Should I therefore not allow this connection to be made? What if there is a single curve that could be converted to a line? What if you want to make the connection now, but only later plan to add some convertible curves to the data? What you made the connection back when it was valid, but now it's no longer valid, wouldn't it be weird if there was a connection you couldn't make again?I've started work on GH2 and one of the first things I'm writing now is the new data-conversion logic. The goal this time around is to not just try and convert type A into type B, but include information about what sort of conversion was needed (straightforward, exotic, far-fetched. etc.) and information regarding why that type was assigned.You are right that under some conditions, we can be sure that a conversion will always fail. For example connecting a Boolean output with a Curve input. But even there my preferred solution is to tell people why that doesn't make sense rather than not allowing it in the first place.
Sliders."I think they should be optional."They are optional."The “N” should turn into the number if set."What if you assign more than one integer? I think I'd rather see a component with inputs 'N', 'P' and 'X' rather than '5', '8' and '35.7', but I concede that is a personal preference."But if I plug it into something that'll only accept a 1, a 2, or a 3, that slider should self set accordingly."Agreed.
Components."Give components a little “+” or a drawer on the bottom or something that by clicking, opens the component into something akin to a dialog box. This should give access to all of the variables in the component. I shouldn't have to r-click on each thing on a component to do all of the settings."I was thinking of just zooming in on a component would eventually provide easier ways to access settings and data."Could some of these items disappear if they are contextually inappropriate or gray out if they're unlikely?"It's almost impossible for me to know whether these things are 'unlikely' in any given situation. There are probably some cases where a suggestion along the lines of "Hey, this component is about to run 40,524 times. It seems like it would make sense to Graft the 'P' input." would be useful.
Integration."Why isn't it just live geometry?"This is an unfortunate side-effect of the way the Rhino SDK was designed. Pumping all my geometry through the Rhino document would severely impact performance and memory usage. It also complicates the matter to an almost impossible degree as any command and plugin running in Rhino now has access to 'my' geometry."Maybe add more Rhino functionality to GH. GH has no 3D offset."That's the plan moving forward. A lot of algorithms in Rhino (Make2D, FilletEdge, Shelling, BlendSrf, the list goes on) are not available as part of the public SDK. The Rhino development team is going to try and rectify this for Rhino6 and beyond. As soon as these functions become available I'll start adding them to GH (provided they make sense of course).On the whole I agree that integration needs a lot of work, and it's work that has to happen on both sides of the isle.
Documentation.Absolutely. Development for GH1 has slowed because I'm now working on GH2. We decided that GH1 is 'feature complete', basically to avoid feature creep. GH2 is a ground-up rewrite so it will take a long time until something is ready for testing. During this time, minor additions and of course bug fixes will be available for GH1, but on a much lower frequency.Documentation is woefully inadequate at present. The primer is being updated (and the new version looks great), but for GH2 we're planning a completely new help system. People have been hired to provide the content. With a bit of luck and a lot of work this will be one of the main selling points of GH2.
2D-ness."I know you'll disagree completely, but I'm sticking to this. How else could an omission like offsetsurf happen?"I don't fully disagree. A lot of geometry is either flat or happens inside surfaces. The reason there's no shelling (I'm assuming that's what you meant, there are two Offset Surface components in GH) is because (a) it's a very new feature in Rhino and doesn't work too well yet and (b) as a result of that isn't available to plugins.
Organisation.Agreed. We need to come up with better ways to organise, document, version, share and simplify GH files. GH1 UI is ok for small projects (<100 components) but can't handle more complexity.
Don't get me wrong, I appreciate the feedback, I really do, but I want to be honest and open about my own plans and where they might conflict with your wishes. Grasshopper is being used far beyond the boundaries of what we expected and it's clear that there are major shortcomings that must be addressed before too long. We didn't get it right with the first version, I don't expect we'll get it completely right with the second version but if we can improve upon the -say- five biggest drawbacks (performance, documentation, organisation, plugin management and no mac version) I'll be a happy puppy.
--
David Rutten
david@mcneel.com…
step-sizes. It starts out with large jumps, then as it cools the jumps get smaller and smaller as does the likelihood of a retrograde jump being accepted as a valid new state.
Most fitness landscapes have more than one dimension and therefore a 'jump' could include any number between 1 and N, where N is the dimensionality of the landscape. The Drift Rate setting —which may well be poorly named— controls the odds that a jump includes an additional dimension. All jumps must be at least one-dimensional, but 25 percent of them (on average) will include another dimension. 25% of those will include a third dimension and 25 percent of those a fourth and so on and so forth until the dimensionality of the landscape has been reached. Here's a list for 1000 jumps:
Drift Rate: 25%
1D jumps: 750
2D jumps: 187
3D jumps: 47
4D jumps: 12
5D jumps: 3
6D jumps: 1
A good question to ask would be; "Why would you want a jump to include more than one dimension?" and the answer is that the more genes are related, the higher the changes that a multi-dimensional jump will yield an improvement. It's not difficult to imagine that you cannot improve your current state by only modifying a single gene. Sometimes you need to change two in unison in order to reach a better solution. If your genes are highly related (which is bad practice to begin with) then you may need to adjust the Drift Rate to a higher value.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 11:09am on April 17, 2012
make sure I add this information to groundTerrain_ inputs in the next few days.
So if you are using "Gismo Terrain Generator" component (former "Ladybug Terrain Generator 2" component), only the following types are allowed for groundTerrain_ input: type_ = 2 (surface with rectangular edges)
type_ = 3 (surface with circular edges)If you are using "Ladybug Terrain Generator" component, then only the:
type_ = 1 (surface with rectangular edges)
is allowed.
As for terrain not being colored when it is created as a surface, you can analyse it additionally with "Terrain Analysis" component for Elevation analysis type. It can even be colored for rendering afterwards by using the "OSM Render Mesh" component. Check the attached file below.Have in mind that in urban areas "Ladybug Terrain Generator" component produces much more precise terrain than "Gismo Terrain Generator" component. On the other hand, the latter component can generate much larger terrain areas (up to 10 000 sq km2, at least in theory).
The reason why component might still work even though a terrain mesh has been added to the groundTerrain_ input is probably because once groundTerrain_ input fails to convert a mesh to a brep, this results in it being equal to None. Component then considers as if groundTerrain_ input is empty and runs as if nothing has been added to it (the buildings are laid down on a flat plane with 0,0,0 as the plane origin).
Thank you once again for all the testing you are doing!!! It really makes Gismo a better plugin!!…
Added by djordje to Gismo at 12:45pm on February 8, 2017
ng the "kaleidocycle" as a facade component, and i need to be able to move it through its entire "rotation" in 3d space to understand where and how it is moving.
http://www.youtube.com/watch?v=4owFczeqqMQ
this is what it is doing, in general. there are 2 sets of 3 hinges, rotated 180 degrees, making up a hexagonal form.
here is a rhino model of the form. i used the trigonometric properties of the isoceles triangle to make this model very accurate (63.333, 53.333, 63.333 angles), and now i need to describe the movement.
It is TOUGH. i think i have it and it just throws me for a loop (no pun intended).
I have a ghx model set up to where it can go through part of the cycle, but the inbetween states are incorrect, and therefore it's not valid, but it shows how something like this could work. The trick is it rotates on multiple axes at different times, and its just very very tricky to figure out what it is rotating around and when.
If anyone has any ideas, or insight, please please let me know. I am working on this in my masters' studies, and I'm pretty screwed if i can't figure this out in grasshopper!
Also, please find attached a research article concerning this form. I haven't been able to apply the geometric findings of theirs, yet. But it shows it can be described mathematically.
THANK YOU!!!!
benjamin
…
ts connectors and slots that allow CNC machining the facets and connectors for assembly.
https://www.youtube.com/watch?v=34OvgflJEmI
We developed this construction methodology earlier this year while working on a large scale parametric structure for Midburn, the Israeli Burning Man. While doing so I used grasshopper to generate the facets for the geometry, while a friend on the team (Matan Zohar) wrote a javascript app that translated the mesh into connectors and slots for CNC manufacturing. You can see more about the project here:
http://www.shlomimir.com/triped/
I wrote this component as an exercise in learning rhinoscript and python, with the purpose of bringing the functionality into the grasshopper workflow. It's now to the point where it is working for triangle and square welded meshes while outputting the connectors and slots as an unorganized list.
Questions and To Do List
1. I'm new to object oriented coding and functions, and basically just wrote the whole thing as a series of conditional loops with two dimensional arrays holding the data. Planning on restructuring this better, would love any tips.
2. Right now outputting the connectors and slots on the input mesh itself in 3D, planning on setting this up layed out on one plane to organize for cutting. I was wondering if there are any existing tools for this or if I need to do this manually.
3. Labeling connectors and slots. Is there anyway to output text from python that can be later baked into the rhino for labeling?…
del diseño, el curso cubrira los conceptos basicos para abordar proyectos de diseño a través del desarollo de herramientas algoritmicas mediante un processo de programación visual , utilizaremos el software Rhino 3d y el plugin Grasshopper como nuestras herramientas de trabajo.
Detalles:Instructores: Rodrigo Medina | Daniel Camiro
Lugar: CID [centro integral de diseño] www.cid.mx
Plaza Andares Local UPST2-01 Ingreso por Av. Acueducto, Zapopan, Jalisco, México
Fechas: 01 / 02 / 03 de Abril 2011
Cupo: Limitado a 15 plazas
Costos:Estudiantes:$2,500
Profesionales:$3,000
Fecha limite de pago: lunes 27 demarzo 2011
Importante:Todos los niveles de experiencia son bienvenidos el unico requisito es tener un entendimiento basico de los programas CAD y una actitud positiva hacia el aprandizaje de dichas herramientas.
*Los participantes deberan traer su propia laptop con todo el software y actualizaciones (originales o verisones de demostración oficiales)previamente instaladas.(se fijara una fecha unos días antes para revisar que todos los equipos esten en orden y listos para trabajar)
Si planeas venir de fuera de la ciudad avisanos 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 Guadalajara:
Leonardo Nuevo ArenasCel: 3339569209nuarle@msn.comfacebook.com/nuarle
No. Cuenta Banamex : Cuenta 6035264 sucursal 0644
Al hacer la movimiento bancario favor de mandarnos el deposito (scaneado) para que recibas más iformación del curso y del tema a chidostudio@gmail.com y nuarle@msn.com.
Muchas gracias por tu interés saludos.…
is to reduce the gaps between built environment and digital technologies seamless integrating design and fabrication. Among the benefits: efficient use of production resources, material-specific design concepts, outcome optimization and durability.
Jointly organized by FabLab Poliba and Polytechnic University of Bari, Self Made Architecture 03 aims to help students to develop new skills and tools on 3D Modeling, Advanced Parametric Modeling, Structural and Daylighting Optimization and Digital Fabrication.
The tools we’ll use:
#Rhinoceros3D #Grasshopper3D #Kangaroo #Ladybug #Honeybee #Cura #BigRepOne
The students will be involved in morning lectures and hands-on workshops during the afternoon with a Do-It-Yourself and Do-It-Together approach. They will be asked to work on group projects and take part of the final phase of a temporary architecture installation.
More info:
Days: 2nd July 2018 to 7th July 2018 Location: Italy > Puglia > Bitonto Language: English Students: 27 International students Credits: 2 ECTS Benefits: Fully Fundend Summer School. Free Application for the Summer School, Free Accommodation with B&B and meals included, Free Enrollment to FabLab Poliba Elegibility criteria: students and graduates of architecture, design and engineering.
Apply: www.poliba.it/didattica/sma03 Deadline: 31st May 2018 at 12:00 (noon) Contacts: info@fablabpoliba.org Scientific Coordinator: Prof. Nicola Parisi…