icosecond laser. In their wisdom the manufacturers of the laser have paired a cutting edge laser with an ancient CNC. The machine requires straight cut lines only (it doesn't handle curves) so these have to be converted from the original design, for which I'm using Grasshopper. Also, it requires multiple passes at a slight offset each time in order to ablate the silver successfully, generated again using Grasshopper.
So far so good. The machine controller is very picky about the format of Gcode it accepts, and it will only accept Gcode. So I am currently exporting the Grasshopper processed design as a dxf and running it through a dxf2gcode converter. This must then be manually processed (I use vi!) to change x references to c, y references to d and remove any references to z. Precision must be to 3 decimal places.
Silkworm is of course ideal for creating Gcode but is pretty specifically written for 3D printing I think? How configurable would it be with the config file to produce what I've described above, even if it's raw gcode which could then be wrapped manually with a header and footer? I'm thinking you'd have to rewrite portions of the module which is of course a bit pointless for such a specific task. Thought I'd ask anyway!
Cheers,
Simon
…
ficiently learn concepts and features of Grasshopper at an accelerated pace in an instructor-led hands-on instruction environment. The advantages of using Grasshopper in preliminary design and concept development come to life since the students will be able to create their models on TROTEC Lasers machine. Participants should have basic knowledge of Rhino 5. Details...
Location:TROTEC - Laser (map)7610 Market DriveCanton, MI 48187United States
Instructor:
Andres Gonzalez, ART, McNeel Miami
RhinoFabStudio
To Register:e-mail: Jackie@mcneel.comphone: 305-513-4445http://mcneelmiami.com/training1…
o I can apply your color gradient code (not shown but in GH file, off screen) after the Z sort:170316_SpheresStandardizer_2017Mar16b.gh
The fact that sphere 'Volume' is required a second time, after 'Pull' to wires, reminds me of a similar issue we dealt with last week: http://www.grasshopper3d.com/forum/topics/trimming-points-pulled-fr...
Seems to me that 'Pull Point' has a serious defect that requires extraordinary effort and/or kludgy code to remedy. If you don't graft the curves, 'Pull' returns each point pulled to it's nearest curve - exactly what you want, except without knowing which curve puled it?
In this code (above), you are using 'Pull D (Distance)', 'Smaller' with an arbitrary value as 'B' and 'Cull' to associate the closest curve with each point. In the other thread, I ended up creating brep cylinders around the curves to get the correct result. Ridiculous!!
I've spent a lot of time trying and utterly failing to find a truly proper solution. Is there one? (see "AHA!!!!" below!)
Searching the forum, I quickly found a couple old posts referring to the same problem:
pull point (bug?) May 27, 2009http://www.grasshopper3d.com/forum/topics/pull-point-bug
Small request April 18, 2013http://www.grasshopper3d.com/forum/topics/small-request
=========================
AHA!!!! I had given up and was about to post the above when I finally solved it. Created a cluster called 'PullT' that does the job, sorting by 'D (Distance)'. Here's the cluster:
And here's how it's used: 170316_SpheresStandardizer_2017Mar16c.gh
Notice that 'PullT' emits a cull pattern ('Pc') that can be used on related data to structure it into the same tree pattern - 'Volume (V)' in this case, so it's only used once. Could do the same with the original mesh spheres if there was reason to do so.
I've tested it on last week's code in the other thread and it seems to work fine; will post it there shortly.…
rera de Arquitectura CEM | presenta la cordial invitación al Curso de Diseño Computacional a realizarse en nuestros laboratorios de Arquitectura y Diseño Industrial del Campus Estado de México.
Fecha: jueves 21, viernes 22 de 18: a 22:00 Hrs y sábado 23 de 8:00 a 15:00 Hrs febrero 2013. 15 Horas.
El taller está orientado a estudiantes y profesionales de la Arquitectura, Arte, el Diseño e Ingeniería.
COSTO:
Alumnos Tec o EXATEC con una cuota de $2000.00 pesos.* Estudiantes EXTERNOS y profesores TEC $3000.00*, Estudiantes de posgrado externos $3800.00* y Profesionales externos $4250.00 pesos.*
OBJETIVO GENERAL:
Alfabetización sobre lectura y escritura de herramientas computacionales para el desarrollo de la Arquitectura, Diseño e Ingeniería.
Objetivos específicos:
1. Comprenderá los conceptos metodológicos del Diseño Computacional y generativo.
2. Aplicará las metodologías en el diseño, análisis y despiece de una cubierta (celosía, muro, losa, fachada o mobiliario) con base en un espacio existente en el campus.
3. Desarrollará los conceptos de programación orientada a objetos (POO Intermedia)
4. Generará algoritmos y análisis en Grasshopper sobre el ejemplo de praxis.
5. Desarrollo de documentación y presentación de resultados.
6. Fabricación del objeto, escala por definir.
Requisitos: Conocimiento de alguna plataforma CAD/CAM/CAE.
Profesor:
Arq. David Hernández Melgarejo.
http://bioarchitecturestudio.wordpress.com
Mayor información:
Kathrin Schröter, Dipl.-Ing./Arch. (D)
Directora de la Carrera de Arquitectura e Ingeniería Civil
Escuela de Diseño, Ingeniería y Arquitectura
Campus Estado de México
TEC DE MONTERREY
Tel.: (52/55) 5864 5555 Ext. 5685 o 5750
Enlace intercampus:80.236.5685
Fax: (52/55) 5864 5319
kschroter@itesm.mx
www.itesm.mx
…
occur more than once in the same list, and different elements with identical values can occur more than once. Also, a list may contain lack of elements, referred to as "nulls".
Sets. Strictly speaking a Set is a mathematical construct which adheres to a strict collection of rules and limitations. Basically, a Set is the same as a List, with the exception that it cannot contain the same element more than once, or indeed two or more different elements with the same values. You see, in mathematics there is no difference between a value and an instance of that value, they are the same thing. In programming however it is possible to store the number 7 in more than one spot in the RAM. Grasshopper does not enforce this rule very strongly though, you can use a lot of Set components on lists that have multiple occurrences of the same value. The big difference between Lists and Sets in Grasshopper is that Sets are only defined for simple data types that have trivial equality comparisons. Basically: booleans, integers, numbers, complex numbers, strings, points, vectors, colours and intervals. Lists can contain all kinds of data.
Strings. Strings are text. There's nothing more to it. I don't know why early programmers chose to call them strings, but I suppose it's a better description of the memory representation of them. Strings are essentially sequences of individual characters.
Trees. Trees are the way all data is stored in Grasshopper. Even when you only have a single item, it will still be stored in a tree. A tree is a sorted collection of lists, where each list is identified by a path. A specific path can only occur once in a tree, when you merge two trees together, lists with identical paths are appended to each other. Trees are an attempt to losslessly represent not just the data itself, but also the history of that data. Imagine you have 4 curves {A,B,C,D} and you divide each into 3 points {X,Y,Z}. Then, for each of those points you create a new line segment {X',Y',Z'} and then divide each of those line segments again into 5 points each {K,L,M,N,O}. The way data is stored in trees, it should be possible to figure out whether a point M belongs to X' or to Z', and whether that X' or Z' came from A, B, C or D. This is why paths are often quite long after a while, because they encode a lot of history.
Paths. A Path is nothing more than a list of integers. It's denoted using curly brackets and semi-colons: {A;B;...;Z}. A Path should never be empty {} or have negative integers {0;-1}, but it is certainly possible to create a path like this and it probably won't even crash Grasshopper. Paths are 'grown' by components that (potentially) create more than one output value for a single input value. For example Divide Curve. It creates N points for every single input curve. In cases like this a new integer is appended to the end of the path.
In the next release the Path logic in Grasshopper is somewhat different. I fixed a number of obscure bugs (hopefully without introducing new fresh bugs) and special cased certain operations to somewhat reduce the speed at which paths grow. This may well break files that rely on a specific tree layout, but I hope the temporary sacrifice will be worth the long-term benefits.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
ood Samaritan) said: well ... since the Ducati won't start (not my fault officer) help that girl.
Good news: Almost ready, well for a pair of curves ... but the rest are bureaucracy than any(?) intelligence(?). Took me 27 minutes, 23 seconds and 45,78 milliseconds using the famous cut and paste method of mine - US patent pending (from other C# stuff, that is).
I hear you: but the planes don't rotate. Well, that's exactly "almost" is used: the rotation logic IS NOT that simple (can you guess the reason?).
How to use it (up to that point - FULL detail Louvers used, he he):
(a) Load the Rhino file first. It doesn't display anything but the Block Manager can tell you a different story.
(b) Load the definition (it doesn't look that impressive at least as regards the graphics, he he) AND read all the comments.
(c) Go there and enable the second script (turn false to true, DO NOT turn false the second boolean flag because the simplified Louver is not yet imported).
(d) Prior changing the geometry via the first C#, disable the script (or keep it active if your computer is fast). But ... if you change the widthOfPanel value ... you'll need CATIA for that I'm afraid (create on the fly the parametric Louver assembly in full detail, in REAL-TIME).
I hear you: where are the wooden things? Well ... that's kid's stuff my dear just extruding a BrepFace both sides (V2 does this).
I hear you: are you saying that you'll make ALL the curves with C# (control their shape individually PER pair) and not just place the louvers into the existing curves provided? Yes that is what V3 does (it's ready but some minor things remain).
I hear you: and what V4 does then? Well ... have faith, he he
All that provided that ... that |$@%@$ Ducati could start (what's wrong with this thing? that's the 1M question).
best, The Troll…
ve side polygons.
Here's what I did till so far:
- Distribute a number of points on a surface using the kangaroophysics engine
- Create circles on around those points
- Divide the circle by 5 points which will the basis of the pentagons
The hexagons will the result of creating the pentagons.
The problem I'm having is that I'm not managing to move the points on the circle 'A' in such a way that the distance between the points on circles 'B,C,D,E,F,G' is minimised.
Here are three screen-shots: one of the points on the circles, one where I did manually what I'm trying to do, and one of the grashopper script.
Does anybody has an idea how to do this?
Thanks,
C…
generate a triangle mesh from your set of points using Delaunay Algorithm (than may leave some long thin triangles at the border, that may need to be filtered)
b) use Weaverbirds Constant Quad subdivision to get your undeformed base unit
c) adjust each faces border, so the border polygon starts (and ends) at one of the original generating points. (might do this differenly. It's just so i know the position of each edge or vertex relative to the given original corner of the base unit)
d) move the original corners of the base unit according to the attractor point
Now to simulate your sinusoidal shape:
I use edgeSrf to create a patch from four non planar edge curve.
Two of those are the unmodfied subdivision edges.
The other two are nurbs curves made from four Points:
1) the end point that at the center of the base units edge.
2) one Point somewhere along the edge
those two will ensure continuity between the adjacent subdivision quads.
3) that intermediate Point projected to a plane that is normal to the direction of movement of the final end point
4) the original element Corner, after moving.
the last two will make the curve round out and make sure that all other adjacent curves will join somewhat continously. you may change that to whatever suits you.…
s before solving adjacency. As a result, you got adjacent surfaces that did not match in area and a simulation where conservation of energy was not obeyed.
2) The 'Set Ideal Air Parameters has been phased out as per this discussion: . I have implemented all of your specifications correctly using the new components in the attached file.
3) You specified a solar distribution of 1- FullExterior and this is not suitable for detailed comfort studies where you really want to know how the solar energy is distributed through the space.
I corrected all of this in the attached file but, even without changing all of this, I still got the same result that I did earlier:
I just cannot reproduce your error on my machine. The images that you post seem different from that which is int he GH file that you sent. Are you sure that you are sending me the right version of the file. Also, could you send me your userCustomLibrary again (I was using your old one from here)? Finally, do you have any other GH files open when you expereince this error?
-Chris…
ition" without problem, and i conect any componen to evaluate's input.
Image 2- it seems to be alright but inmediately turns red; It does not matter if i use the expression editor or a "panel".
Image 3- I closed Rhinoceros, i did the same expression and i got the same result, bun then i changed to another more simple expression and it worked,
Image 4-I change to the expression desired and it work.
So my question is about if im making a mistake or theres a problem with my software...
Kind regards.…