rà le strategie e le principali tecniche di FORM FINDING utilizzando il motore fisico KANGAROO integrato a plugin di analisi strutturale (MILLIPEDE e KARAMBA). Le tecniche saranno applicate a diversa scala: dall’architettura (modellazione di superfici e coperture a semplice compressione) al design del prodotto, dove la simulazione digitale sarà integrata a tecniche di refinement (WEAVERBIRD). Il workshop e rivolto a studenti e professionisti con conoscenze base di modellazione algoritmica con Grasshopper.
Tariffa EarlyBird entro il 28 marzo 2015
Main tutor: Arturo Tedeschi, Authorized Rhino Trainer, autore del primo manuale su Grasshopper “Architettura Parametrica”, di AAD_Algorithms Aided Design e co-director della AA Rome Visiting School (AA School London).
>scarica il pdf con tutte le informazioni: AAD GRASSHOPPER WORKSHOP SERIES…
to select a period of time across the year, for example, every hour from January 1 to June 30.
I currently use DOY/HOY to assign the analysis period (basically I want to run 8760 hours), and connect its HOY to DAY_MONTH_HOUR_CALCULATOR. Then, connect it to CB sky. But, there are several warnings pop-up on the component "DOY/HOY", says Feb. has 28 days, the date is corrected by Ladybug, and as well as other months less than 31 days. After the HOY is connected to the "DAY_MONTH_HOUR_CALCULATOR", the warnings are gone, and the lines become green. However, when I connect the "DAY_MONTH_HOUR_CALCULATOR" to CB sky, the output of "sky file pate" turns orange again. This causes the repetition of the last day of those months less than 31 days.
(I attach a picture for your information)
Does any of you know how to solve this problem? And what is the best way to run annual hourly (8760 hours) with CB sky?
Many thanks in advance!!
Wenhsin…
a machine that is light and very sturdy. I have taken my Macbook Pro all around the world, carry it with me every day, even dropped it a few times and its still totally fine. Its thin and light.
2) You get some actual support for your hardware even a few years down the line. My Macbook Pro is from 2012 and I can still walk in to any Apple Store and get help with it, which I have done many, many times in different places around the world - I never had to show a receipt or was charged any money for help. There is no PC/Laptop manufacturer in the world with anything close to that, because companies like Asus, Dell, etc. bring out dozens of new versions of laptops every year, so its much harder to service them after a few years.
3) This is the most important one, which usually people forget when they say that Macbooks are overpriced: Resale Value. If you have ever tried to sell an old PC/Laptop (I have a few times), you will know how little value they have even after just 2-3 years. Macbooks retain their value very well and even after 4 years you can still get 50% of your original price.
4) Of course you can install Windows on it and it runs perfectly. I have MacOS and Windows on it and both run absolutely fine. On the Windows side I have Rhino+GH, Maya and a few others. Having Windows is good, because some software still only runs on Windows (looking at you, 3DSMax!). Most other software also runs on MacOS. In the interest of sanity it is great to have an alternative to Windows for all the day to day stuff, like Mail, Calender, Photos, Presentations, etc. that just always works.
5) As for performance: Yes, Macbook Pros dont necessarily have the latest and greatest in graphics cards (the rest is on par with PC laptops), but unless you want to play games you will not need it. VRay RT can do GPU rendering, but you wont get great performance from a Notebook GPU anyways and it doesnt make sense to do rendering on a laptop (especially since you have a workstation). You could get one of the older Macbook Pro Retina Late 2013 or Mid 2014 models with the GTX750M by Nvidia, which will be usable to render using VRay RT, but of course not huge performance. Better to invest in a good used graphics card for your workstation like an Nvdia GTX980ti, which is the best value for money for GPU rendering right now (lots of used ones available).
So at least consider also getting a Macbook Pro. You can buy refurbished models (depending where you are) and they are like new, but a lot cheaper or even get an older one thats used. It will be a worthwile investment.
Take it from someone who has used dozens of PCs and Macs in my lifetime and have to do the IT support here at work (where we also use both).
I still have my Macbook Pro Retina from 2012 and its still running perfectly, super fast, and I can use Rhino and GH for huge files, do GPU Rendering with Octane Render and all sorts of other heavy computing stuff.
Hope that helps.…
Added by Armin Seltz at 11:12am on September 19, 2016
both my plotter/cutter and wide format printer. I had been running the plotter from my main work laptop - a Win10 machine via the plotters USB port. As it turns out you can't get Win XP drivers for this USB connection so I needed another solution.
I tried to use the plotters DB25 serial port connection using an old DB9 to DB25 modem cable I had in my collection = no luck the plotter wouldn't talk. A bit more research and it turns out these plotters need a 'null modem' cross over cable to operate. I found a pic of the correct wiring online and made up my own with some cable and connectors from the local electronics hobby shop.
With this hooked up and using Hyperterminal I was able to fire some codes to the plotter directly and get a response back - winning!
At this point I got my original code working with the 'net use' redirect from LPT1 to COM1.
HOWEVER - being that the plotter was now on a COM port there are a few more interesting things you can do with it - one is being able to read the paper size/cut area from the printer.
So what I needed to to was find a way to send and receive data to/from the plotter using the serial port.
A bit of research into .NET's serial port interface and using a bunch of small pieces of test code I have manged to completely re-jig this driver.
Upgrades include:
- Direct Serial Port comms using Null Modem cable (a USB to serial adaptor + null modem should also work)
- Plot area read from the plotter - a rectangle the size of the plot area is placed on a separate layer and coloured red
- Testing to see if selected plotting curves are both closed and inside of the cutting area - with errors shown and exiting if they are not right.
- After plot 'parking' of the plot head at the end of the cut items + an adjustable offset (currently requires manual resetting of origin on the plotter before for next cut)
Great thing is it is now 100% running within Rhino Python - no DOS command line calls = no flashing up of the CMD wind. Also no temp files needed on the HDD and no limit to number of curves that can be plotted - tested with 200 or so with no issues.
Overall very happy with whole project - have learnt a LOT about Python and .NET interfacing AND ended up with a very handy/useful tool.
Cheers
DK
# This code is a WIP # It plots directly to a DGI Plotter# via the serial port
import System.IO.Ports as Portsimport rhinoscriptsyntax as rsimport time
#Some setup valuescom_port = 'COM1' #change to match plotter port baud_rate = 9600 #change to match plotter settingplotter_step = .025 #mmfinsh_offset = 10 #mm
#Delete old cutting area and cut objectsif rs.IsLayer('Cutting Area'): rs.PurgeLayer('Cutting Area')if rs.IsLayer('Cutting Objects'): rs.PurgeLayer('Cut Objects')
#Setup Serial PortMyport = Ports.SerialPort(com_port)Port_Write = Ports.SerialPort.WriteMyport.BaudRate = baud_rateMyport.ReadTimeout=5000 #5 secsMyport.Close()Myport.Open()
#Setup PlotterPort_Write(Myport, 'PU;PA0,0;IN;\n')Port_Write(Myport, 'SP1;\n')Port_Write(Myport, 'PA;\n')time.sleep(2)
#Read the Paper size from PlotterPort_Write(Myport, 'OH;') #HPGL read limits codetime.sleep(2)
return1 = ''papersize = ''count = 0char_in_buffer = 0chars_in_buffer = Ports.SerialPort.BytesToRead.GetValue(Myport)
if chars_in_buffer == 0: print 'Plotter not ready' Myport.Close() exit()
while (count < chars_in_buffer): return1 = Myport.ReadChar() papersize = papersize + chr(return1) count = count + 1
papersize = papersize.split(",")rect1 = (float(papersize[2])*plotter_step)rect2 = (float(papersize[3])*plotter_step)
print 'Cutting area = ' + str(rect1) + 'x' + str(rect2)
#place cutting area curve on its own layer, make it red and lock itplane = rs.WorldXYPlane()cutting_area = rs.AddRectangle( plane, (rect1), (rect2))rs.AddLayer (name='Cutting Area', color=(255,0,0), visible=True, locked=True, parent=None)rs.ObjectLayer(cutting_area, 'Cutting Area')
#get plotting objects
allCurves = rs.GetObjects("Select curves to plot", rs.filter.curve)
#test to see if these are closed curves - exit if not
for curve in allCurves: test_closed = rs.IsCurveClosed(curve) if test_closed == 0: print "One or move of these curves are not closed" Myport.Close() exit()
#test to see if these are inside cutting area - exit if not
for curve in allCurves: test_inside = rs.PlanarClosedCurveContainment(curve, cutting_area)
if test_inside==0 or test_inside==1: print "One or more of these curves are outside of cut area" Myport.Close() exit()
#All ok - convert to points and send data to printer
rs.AddLayer (name='Cut Objects', color=(0,255,0), visible=False, locked=True, parent=None)
for curve in allCurves: Port_Write(Myport, 'PU;PA;SP1;\n') polyline = rs.ConvertCurveToPolyline(curve,angle_tolerance=5.0, tolerance=0.025, delete_input=False, min_edge_length=0, max_edge_length=0) points = rs.CurveEditPoints(polyline) rs.ObjectLayer(polyline, 'Cut Objects')
# PU to the first point x = points[0][0] y = points[0][1] Port_Write(Myport, 'PU' + str(int(x / plotter_step)) + ',' + str(int(y / plotter_step)) + ';\n') # PD to every subsequent point i = 1 while i < len(points): x = points[i][0] y = points[i][1] Port_Write(Myport, 'PD' + str(int(x / plotter_step)) + ',' + str(int(y / plotter_step)) + ';\n') i += 1
Port_Write(Myport,'PU;\n')
#find the far end of the cutbox = rs.BoundingBox(allCurves)far_end = str(box[1])far_end = far_end.split(",")far_end = far_end[0]far_end = float(far_end)/plotter_stepfar_end = (int(far_end))+ finsh_offsetfar_end = str(far_end)print (far_end)
#return plotter home and close portPort_Write(Myport, 'PU;PA' + far_end + ',0;IN;\n')Port_Write(Myport, 'SP1;\n')Port_Write(Myport, 'PA;\n')Myport.Close()time.sleep(10)…
ot possible to run meshmachine within Kangaroo2?
Now my problem is similar to Farah's. In Grasshopper, the component does not work. The error message says:
1. Solution exception:Could not load file or assembly 'PlanktonGh, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
So unlike Farah's error message it's looking for PlanktonGh and version 0.3.0.0
Trying this on a university PC
Cheers
Thomas…
est simple pour moi sur une surface plane (surface notée SP sur la feuille 1) un simple réseau suffit, par contre, je coince sur la portion de cône (surface notée PC sur la feuille 2). Je pense que Grasshopper est idéal pour ce genre d'application.
Les contraintes sont les suivantes :
- continuité de réseau entre les 2 types de surfaces,
- Distances H et D conservées sur les 2 types de surfaces,
Merci pour vos idées
…
n before?
PointCloud PC = new PointCloud(); PC.AddRange(Pts); Vector3d n = Vector3d.ZAxis; if (VP == null) { Rhino.Geometry.BoundingBox BBox = PC.GetBoundingBox(false); Rhino.Geometry.Box BoundingB = new Rhino.Geometry.Box(BBox); VP = BoundingB.PointAt(0.5, 0.5, 1); VP.Z = BoundingB.Z.T1 * 100;
} List<Vector3d> Normals = new List<Vector3d>(); double Dev = 0; foreach (Point3d point in Pts) { List<Point3d> Neighbors = Pts.FindAll(V => V.DistanceTo(point) < D); Rhino.Geometry.Plane NP = Rhino.Geometry.Plane.WorldXY; Plane.FitPlaneToPoints(Neighbors, out NP, out Dev); if (Dev > MD) //FileSystem.Print("This computation Is Not As accurate As desired, Try lowering the distance tolerance or rasing your Maximum Deviation"); n = NP.Normal; if (n * (VP - point) > 0) { Normals.Add(n); } else { Normals.Add(-n); } } A = Normals;…
Este curso ONLINE está diseñado específicamente para ser realizado a través de INTERNET, puedes realizar el curso DESDE CUALQUIER LUGAR, con cualquier tipo de dispositivo personal (PC, Portátil o Tablet) equipado con altavoces y micrófono y una conexión a internet.
Algunas de las ventajas de recibir Formación Oficial de Rhino y V-Ray for Rhino: . Obtendras tu Diploma Oficial de Rhino.. Obtendrás tu Diploma Oficial de V-Ray for Rhino.. Centro de Formación Oficial de V-Ray, RENDERSFACTORY® único Centro Oficial en Andalucía y Centro de Formación Oficial de Rhino.. Licencias de VisualARQ en tu poder durante 3 meses.. Te entregamos el Manual Oficial de Rhinoceros de McNeel Europe.…
connection, camera, micro. Rhinoceros software; much better with Windows system.
Materials > Materials, equipments and tools needed for making the prototype are included in the course tuition.
Training hours > 72 hours (Part I) and 28 hours (Part II). It is possible to do the full course or just Part I
Certificate It will be provided a certificate by Authorised Rhino Training Center and Rhino FabStudio Official
Instruction Language > English (or Spanish if all the students speak it)
PART I (On-line) – August 8-26
Schedule: Monday to Friday, 4 - 8pm (Madrid, CET)
PART II, optional (On-site / On-line) August 29 - September 2
Schedule*: Monday - Friday 1- 3pm and 4-8pm (Madrid, CEST)…
) Course Fee: Professional EUR 825,- (+VAT), Student EUR 415,- (+VAT)
Led by plug-in developer and structural engineer Clemens Preisinger, along with Zeynep Aksoz and Matthew Tam from the expert Karamba3D team, this three-day workshop will focus on methods of setting up structural systems in the parametric environment of Grasshopper. The participants will be guided through the basics of analyzing and interpreting structural models, to optimization processes, and how to integrate Karamba3D into C# scripts.
This workshop is aimed towards beginner to intermediate users of Karamba3D. However, advanced users are also encouraged to apply. It is open to both professional and academic users. For beginner users of Rhino and Grasshopper, there will be an optional introductory course one day before the Karamba3D course.
Karamba3D 1is a parametric structural engineering tool which provides accurate analysis of spatial trusses, frames, and shells. Karamba3D is fully embedded in the parametric design environment of Grasshopper, a plug-in for the 3D modeling tool Rhinoceros. This makes it easy to combine parameterized geometric models, finite element calculations, and optimization algorithms like Galapagos.
Course Outline
Introduction and presentation of project examples
Optimization of cross sections of line-based and surface-based elements
Geometric optimization
Topological optimization
Structural performance informed form finding
Understanding analysis algorithms embedded in Karamba3D and visualizing results
Complex workflow processes in Rhino, Grasshopper, and Karamba3D
Places are limited to a maximum of 10 participants with limited educational places. A minimum of 4 participants is required for the workshop to take place. The workshop will be canceled if this quota is not filled by October 28. The workshop will be taught in English.
Course Requirements
Basic Rhino and Grasshopper knowledge is recommended. An introductory course is offered.
No knowledge of Karamba3D is needed. Participants should bring their own laptops with Grasshopper and either Rhino 5 or Rhino 6 installed. You can download a 90-day trial version of Rhino. Karamba3D ½ year licenses for non-commercial use will be provided to all participants.
Please register here……
Added by Matthew Tam at 6:38am on September 13, 2019