would actually be to parametrize the dome itself. Otherwise, turning the 3D lines into a sorted list of grouped points is going to be a huge mess, and we are not even sure if the CAD model would have some kind of internal order to start with...
2.- Anyway, if you want to do it the 'hard' way (choosing each point independently, totally not recommended...), you should first find the 'base panel' to perform sun angle calculations, and then modify the top geometry proportionally to this angle:
3.- If you'd rather instead work with opening variables holes on it, the procedure would be very similar, but instead of modifying the geometry, drawing the circle and the resulting surface:
See files attached.
Good luck!…
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
…
nal vector.(see pic 1)
Second: Holding an abstract mesh or surface with a 3D grid structure. Basically creating 90 degree vectors on an uneven surface coming out of the object, sort of like a cactus with a grid pattern. (see Pic 2)
Third: I think #1 answers this issue: when the lines hitting the rough surface go in two different grid directions, their intersecting points are too close together. Structurally these points can be united and the vectors would be reduced. Manually deleting these lines after being baked is currently the only option. It would be so cool if there was a mathematical arrangement that would connect points that are within a certain distance to one another. (see pic 3)
…
uts.
If I change the number of polygon sides to 8 the result looks like this:
Note that there are no missing rows with 8 sides. I've tried all the numbers from 3 to 12 and in general an even-number of sides results in no missing rows, but an odd number of sides has a missing row. And for # sides 10 - 12 there are 2 missing rows.
I tried all the options for the Offset object's Corners variable which is use to make the solid outside wall, but this has no effect. I also tried rotating the cutouts a little and a lot, changing their size, height, etc., but this had no effect either. So I'm stuck on how to eliminate the missing row of cutouts.
I realize this is a more or less cosmetic problem (no one will see the bottom of the printed part unless they pick it up), but I'd like to get it fixed before I publish the final design. The attached GH file has all the components used to make these images.
…
Added by Birk Binnard at 11:58am on November 28, 2016
eries of ramps with slopes =< 10%.
Here's my pseudo-code:
1. Populate brep with random points
2. Sort points by Z values
3. Draw line from point '0' of sorted points to all other sorted points
4. Project lines down to plane of first point and cull all lines =< 5.7 degrees (10% slope)
5. Sort remaining lines by length and return line with the largest length (what I want)
6. Cull all points used to create lines =< 5.7 (step 4)
7. ??? now, I want to somehow pass remaining points from step 6 back into the loop and return the next curve that is: the largest length curve from all curves =< 5.7 degrees
I've attached the script
Thanks ya'll!
…
ry close to the screen (the model unit equivalent of a pixel deep). I am using the DrawForeground override to generate these objects...everything is fine, except that we'd also really like the users to be able to output high quality images directly from the viewport. Using the ViewPortCapture (either to file or clipboard) with higher scales can create some excellent images...but here's where we run into trouble.
The geometry that is created close to the screen through the Display Conduit tiles along with the resolution in the output image...so even though the rest of the model geometry scales up, the HUD geometry stays the same resolution but gets repeated in a grid (2x2 at 2 scale, 3x3 at 3 scale, etc.). What is interesting is any geometry created in the normal model space (say, a circle at the WorldXY) gets rendered correctly. I have also tried using the CalculateBoundingBox override, using bounding boxes for the objects drawn, but it doesn't seem to help.
I have picked up on a discussion over at the McNeel forums, but haven't gotten any guidance over there, and was curious if anyone here had any pointers.
thanks!…
Added by David Stasiuk at 3:31pm on November 24, 2015
flat) and then subdivide your surface using the divide domain component and feed that into a surface box. Your base geometry, base geometry bounding box and surface boxes will all drive the box morph.
From the looks of your geometry, it appears that it is designed to nest in a particular way that isn't strictly rectilinear, but is more staggered, so that the top corner of one element fits into the bottom corner of an adjacent element. You can achieve this using the box morph, but you have to get pretty creative with how you subdivide your surface:
I'm attaching a couple of files...first of all is your definition with the changes in it to make the above. But also I used some components that I made recently (will release them in a package with a bunch more hopefully soon) called tree sloth, which helps manage data trees and lists. I used a couple of those components, so I'm also attaching the gha for those. Just copy that file into your components folder (under file-> special folders) and restart rhino/gh. The new components are just layered into different parts of the "Sets" components.
To explain what I did: you basically you want to have adjacent sub-surfaces along your guide surface to overlap at the top and bottom thirds. There are any number of ways to extract these surfaces...I just pulled out strips in each column and culled every fourth element, but shifted by one in alternating columns. So in the first column I take strips 1,2 and 3 and skip 4, take 5, 6 and 7, etc. and in the second column I start at number 3, 4, 5 and skip 6, then take 7, 8, 9, etc. Then I collect each of these batches of three strips and take the bottom left corner and upper right corner UV domains to create the target surfaces for the morph.
Hope this helps you out...…
aph relaxation in 3D and more). There is much more already in our GitHub repos and more to be added. For getting an idea of our future direction check this lecture out. For getting a better understanding of graphs and graph theory watch this lecture and this lecture on a gamified spatial configuration process. Stay tuned for more and do not hesitate to post Python questions in the meantime.
ps. If you are having installation problems, please check the remedy suggested below:
Comment by Iman Sheikhansari on August 26, 2019 at 8:33amDelete Comment
HiIf you are encountering a problem with rhino 6 versions don't worryFollow these steps.1. Download SYNTACTIC from https://sites.google.com/site/pirouznourian/syntactic-design2. Install it and go to the installation folder, Drag & drop SYNTACTIC(green one) over your grasshopper canvas.3. Close your rhino and reopen it. 4. Type GrasshopperDeveloperSettings5. Tick the Memory load *.GHA assemblies using COFF byte arrays option6. Run grasshopper and enjoy plugin
…
tly light vehicles such as bicycles and variations thereof. Although frame design is mostly of a structural nature, there are a number of elements that interact mechanically. Also, as you may be aware, bicycle and high grade tubing is not of constant section so shelling method in FEA is out of the question, but even so, because the joint needs to be modeled very accurately, that means different geometry and properties for welded area, heat affected area and base material; like so a simpler FEA package may not suffice.
I don't know karamba extensively, rather superficially, actually, but I'm under the impression it mostly deals with beam analysis. Pls correct me if I am under the wrong impression. I must say it would be very nice to have a complete FEA package inside GH really!!
Typical workflow for me would be to model everything in Solidworks, and then export to Ansys Mechanical. Although Ansys needs to read every input and naturally remesh back again, integration within Solidworks, Catia, Inventor, Creo, Solidthinking... and the sort, works reasonably well.
Now, I don't remember Ansys having a Rhinoceros plugin so that you could bridge the 2 together, but maybe I should go check again.
3) Great work with that fractal tree. It's nice to know it is a possibility at least. I have tried Apophysis and others, but to my knowledge there's not an application that could deliver 3D fractal designs in a way that you could further manipulate with conventional modelling techniques, maybe apply textures and render, or export to CAM, 3D printing... etc.
P.S.: I have tried all the apps mentioned above and then some more. All of them have serious limitations when it comes to parametric design. For complex models they crash plenty upon rebuilding... a number of time consuming errors appear, and general work flow isn't very efficient for purely parametric work. Speaking for myself, I'd rather spend the time on a definition that enables me to have full control and then generate a new result within seconds, than model everything very quickly and then taking a long time with each new result.
(Thanks for the replies and sorry for the long text, you asked to elaborate).…