ies a step further towards informative models, how to extract data through a parametric process and design analysis which leads to performance based schema.The workshop will cover some advanced modeling techniques in grasshopper along with some useful grasshopper plugins "GECO,WEAVERBIRD,KANGAROO and more". An introductory to ecotect analysis will also be inculded.The workshop is dedicated to intermediate Grasshopper users " knowledge of GRASSHOPPER equivalent to which gained in Parametricisim WS or higher is preferred".Knowledge of ECOTECT is a plus but not necessary".
Schedule :Deadline for Registration : May 13,2013Workshop Starts : Thursday, May 16, 2013 - 5:30 pmThe workshop consists of 10 lectures, Each lecture lasts for 3 hours.3 lectures per week (Sun, Tues & Thur) ---------------------------------------------------Fees : 600 L.EYou have to fill the Registration Form below for place reservation.We only have few places available. ---------------------------------------------------Prerequisite :-Students should bring their own laptops---------------------------------------------------Registration Form:https://docs.google.com/forms/d/1qd7cTRi8fGJ3OiVPjiNzHA0ZRmXI2qCvk1CUQ-X_4H8/viewformYou can view previous Parametric workshops,Student work & presnetation here :Previous workshophttps://www.facebook.com/events/469048376477647/https://www.facebook.com/media/set/?set=a.548388031851299.1073741826.470747186282051&type=1https://www.facebook.com/events/178326265647678/…
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)…
supplied _values of _keys" notice.I tried running the "OSM 3D" component first with groundTerrain_ input. As I did not get the upper notice message, I closed down the whole Rhino so that I cut the waiting time. Then I tried running it without the groundTerrain_ input, and in some 15 minutes I got the following buildings:
I think I may understand what was causing the problem: when one takes large radii, it covers large areas, and with this area comes large number of information (keys and values). You can get hundreds of keys (or thousands). What can happen is that: these hundreds of keys, can exceed shapefile's capacity to story keys. So basically in case of radius 750 meters your "height" or "buildings:levels" keys somehow slipped beyond this allowable capacity. In case of 800 meters they were somehow allowed to enter (a bit bad term sorry) before the allowable capacity is reached. This depends on the number of keys named with letters which precede the "h" and "b".The best way to solve this issue is to know which data do you actually need, and use the "OSM Keys" component to generate the list of needed keys. In this way, only those keys that you need will be used, others will be disregarded.You do not even have to use the "OSM Keys" component if you know which specific keys you exactly need. Check the attached file below. I grouped the "OSM Keys" solution as "a" and a custom defined list of keys as "b".
2) The component running time might now be cut with picked "requiredKeys_" input I mentioned at the end the previous 1) part.
3) "OSM 3D" component's "randomHeightRange_" input is suppose to do exactly that: to randomly create 3d buildings (or 3d trees) when there are no valid "height" or "buildings:levels" tags.I have just changed one line the "OSM shapes" component code.I wonder if it would make any problem on your PC.Please let me know if LocationGrabber03_Gismo2.gh file works.…
Added by djordje to Gismo at 2:34pm on February 11, 2017
requiredKeys_ input of the "OSM Shapes" component. This is not the source of your problem though, but still I mentioned it in case you solve your issue, and afterwards want to use the "OSM Shapes" component.
The current (Win32Exception): WindowsError is the very same error message that you reported back in February.For some reason, your Windows is not allowing the Gismo "OSM Shapes" component to delete C:\MapWinGIS_installation_folder\gdal-data\osmconf.ini file.
You previously solved it by allowing the full access control to it, so I am not sure why it is not working now.Windows 10 seems to be the most overprotected operating system among other Windows versions, at least judging by the questions people asked so far.
Maybe you can try to turn off all the services which prevent users from changing certain files, like UAC or maybe even your antivirus?
Try this:
1) Close your Grasshopper and Rhino.2) Restart your PC3) When it boots up again, in your Start menu's search box type: "UAC". Click on it, and a new User Account Control Settings window will open. Set the bar on the left to "Never notify".4) Completely turn off your Antivirus.5) Check once again if your access control to the C:\MapWinGIS_installation_folder\gdal-data\osmconf.ini file is still set to the values you previously reported in this post.6) Right-click on "Rhino 5" icon and then choose: "Run as administrator".7) When Rhino boots up, run Grasshopper, and open the newest create_3dbuildings_trees_streets.gh file from here.If none of this helps, maybe you have some other application which deals with access to files on your system? Malware removal application or similar? Try turning it off too.…
Added by djordje to Gismo at 9:10am on April 3, 2017
it seems that was this. Now all is working fine !
Glad that it worked! But I am still a bit worried. Gismo components only modify the gdal-data/osmconf.ini file and no other MapWinGIS file. So your MapWinGIS installation files should not be compromised. The fact that you did not get the "COM CLSID" error message when running the "Gismo Gismo" component suggests that MapWinGIS has been properly installed. So I wonder if the cause for the permanent "invalid shapes" warning has again something with the fact that your system is again not allowing the MapWinGIS to properly edit the osmconf.ini. Maybe this problem will appear again, and again, and reinstallation of MapWinGIS every time can be somewhat bothersome.
- About the terrain generation, is it possible to have the texture from google or other provider mapped onto the terrain surface from gismo component ? (Same as using the ladybug terrain generator in fact). I try to used the image extracted by ladybug component and then applied it to the gismo terrain but the texture is rotated by 90°.
The issue with the rotation can be solved by swapping/reversing the U,V directions of the terrain surface. A slightly more important issue is that terrain surface generated with Gismo "Terrain Generator" component might have a bit smaller radius than what the radius_ input required. This stems from the fact that the terrain data first needs to be downloaded in geographic coordinate system, and then projected. Some projecting issues may occur at the very edges of the projected terrain, so I had to slightly cut out the very edges of the terrain which results in the actual terrain diameters being slightly shorted in both directions. This means that if you apply the same satellite image from Ladybug "Terrain Generator" component to Gismo "Terrain Generator" component the results may not be the same.I attached below a python component which tries to solve this issue by extending the edges of Gismo "Terrain Generator" terrain, and then cutting them with the cuboid of the exact dimensions as the radius_ input. Have in mind that this extension of the original terrain at its edges is not a correct representation of the actual terrain in that location. But rather just an extension of the isoparameteric curve of the terrain surface. So basically: some 0 to 10% (0 to 10 percent of the width and length) of the terrain around all four edges is not the actual terrain for that location, but rather just its extension.The python component is located at the very right of the definition attached below.
Also, if you would like to use the satellite images from Ladybug "Terrain Generator" component along with "OSM shapes", sometimes you may find slight differences in position of the shapes. This is due to openstreetmap data not being based on Google Maps (that's what Ladybug "Terrain Generator" component is using), but rather on Bing, MapQuest and a few others.
- About the requiredKeys_ input of OSM shapes, I understand what you mean and your advice, but in most cases I use it, the component was working fine even without input. I think it's better to extract all tags, values and keys of the selected area, instead of searching for specific ones as I try to find all data related to what I want after, isn't it ? To check what keys are present on the area also.
Ineed, you are correct.I though you were trying to only create a terrain, 3d buildings and maybe find some school or similar 3d building, for these two locations. The recommendation I mentioned previously is due to shapefiles having a limit (2044) to how many keys it can contain. This requires further testing of some big cities locations with maybe larger radii, which I haven't performed due to my poor PC configuration. But in theory, I imagine that it may happen that a downloaded .osm file may have more than 2044 keys. In that case shapefile will only record 2044 of them, and disregard the others. That was my point.But again 2044 is a lot of keys, and I haven't been checking much this in practice. For example, when I set the radius_ to 1000 meters, and use your "3 Rue de Bretonvilliers Paris" location I get around 350 something keys, which is way below the 2044.Another reason why one should use the requiredKeys_ input is to make the Gismo OSM components run quicker: for example, the upper mentioned 350 something keys will result in 350 values for each branch of the "OSM shapes" component's "values" output.Which means if you have 10 000 shapes, the "OSM shapes" component will have 10 000 branches with 350 items on each branch (values). This can make all Gismo OSM components very heavy, and significantly elongate the calculation process.With requiredKeys_ input you may end up with only a couple of tens of items per each branch.Sorry for the long reply.…
Added by djordje to Gismo at 8:57am on June 11, 2017
o está dirigido a estudiantes de arquitectura y diseño de interiores, recién titulados y profesionales interesados en el software o que necesiten conocer las herramientas básicas de las que dispone el programa en los diferentes ámbitos y cómo enfocarlas a arquitectura.
Descripción:El contenido del curso enseñará a utilizar el programa de diseño Rhinoceros 3D aplicando su metodología de trabajo en el campo de la arquitectura, básandose además de la creación de pequeños elementos paramétricos para controlar el diseño y acabar renderizando las geometrías 3d con V-Ray para Rhino.
El curso consta de 3 módulos de 12h de duración cada uno (que pueden realizarse juntos o por separado) en los cuales se profundizará en herramientas de Rhino, Grasshopper y V-Ray a medida que se realizan casos prácticos sobre proyectos arquitectónicos.Se pretende establecer un sistema de trabajo eficiente desde el inicio del modelado hasta la posterior creación de imágenes para documentación del proyecto.
Módulo Rhinoceros Arquitectura:• Conceptos básicos e interfaz de usuario Rhino• Introducción al sistema cartesiano en Rhino• Clases de complejidad de geometría• Importación/exportación de archivos compatibles• Topología NURBS• Trabajo con Sólidos• Estrategias básicas de Superficies• Introducción a Superficies Avanzadas
Módulo Grasshopper:• Conceptos básicos e interfaz de usuario Grasshopper• Introducción a parámetros base y componentes• Matemáticas y trigonometría como herramientas de diseño• Matemáticas aplicadas a creación de Geometría• Introducción a listas simples• Análisis de Superficies y Curvas• Dominios de Superficies y Curvas• Panelado de superficies• Manejo de listas y componentes relacionados• Modificación de panelados en función de atractores• Exportación/Importación de información a Grasshopper
Módulo V-Ray para Rhinoceros:• Conceptos básicos e interfaz de usuario V-Ray• Vistas guardadas• Materiales V-Ray• Materiales, creación y edición• Iluminación (Global Illumination, Sunlight, Lights)• Cámara Física vs Cámara default• Canales de Render• Postprocesado básico de canales
Detalles:Instructores: Alba Armengol Gasull y Oriol Carrasco (SMD Arquitectes)Idioma: CastellanoHorario: 22 JULIO al 26 JULIO 2013 // 10.00 – 14.00 / 16.00 – 20.00Organizadores: SMDLugar: SMD lab, c/Lepant 242 Local 11, 08013 Barcelona (map)
Software:Rhinoceros 5Grasshopper 0.9.00.56V-Ray 1.5 for RhinoAdobe Photoshop CS5Links de versiones de evaluación de los Softwares serán facilitadas a todos los asistentes. Se usará unica y exclusivamente la versión de Rhino para PC. Se ruega a los participantes traer su propio ordenador portátil.
Registro:Modalidad de precio reducido por tres módulos 275€Posibilidad de realizar módulos por separado 99€…
workshop de exploración formal y espacial usando algoritmos generativos integrando la optimizacion y fabricación en un mismo proceso. Para este taller se han seleccionado un conjunto de técnicas y estrategias para resolver problemas que hoy se presentan en el diseño y fabricación digital de formas complejas y euclidianas.
Bajo dos entornos de trabajo, entre técnicas interactivas y soluciones algorítmicas, se examinan conceptos y casos de estudio que le permitirán al participante decidir como y en que momento estas tecnologías pueden ser utilizadas como aliadas en los procesos de diseño y fabricación. Tomando como plataforma básica Rhino, se explora y optimiza el diseño y fabricación de topologías complejas bajo los entornos de Grasshopper RhinoNest y RhinoCam.
Paramétrica D_O_F pretende ahondar en el vinculo entre la industria, el mundo académico y la aplicacion profesional, a partir del desarrollo de sistemas de diseño digital y la fabricacion CNC. Para esta ocasión se suma Sabic Polymershapes,posibilitando la incorporación de la variable material dentro del diseño digital, agregando una nueva dimensión a las propuestas del workshop, de manera que estas se piensen, desarrollen y fabriquen en materiales Sabic con la tecnología Router CNC que disponen como empresa. El dia final, Parametrica.org en conjunto a Sabic Polymershapes, Enedi, Eximed y Mcneel LA nombrará un ganador para ser fabricado por Sabic Polymershapes Chile.
Paramétrica D_O_F esta dirigido a profesores y alumnos pertenecientes al area de Diseño Digital de carreras como Arquitectura, Diseño Industrial, e Ingenierías. Tambien se hace extensiva esta invitación a Arquitectos, Diseñadores Industriales, e Ingenieros pertenecientes al sector publico y privado. Las vacantes para aplicar a este workshop son 40.
Inscripciones:
http://workshop.parametrica.org/
Sponsor:
Sabic Polymershapes Chile
Instructores:
Rodrigo Culagovski www.culagovski.net
Guillermo Parada www.gt2P.cl
Diego Pinochet escripto.wordpress.com
Mario Vergara sistemasderepresentacion2.wordpress.com
Andres Gonzalez www.rhino3d.com
Colaboran
Jackie Nasser www.rhino3d.com
Rafael De Molino www.tdmsolutions.com
René Medel www.rhino3d.cl
NelsonEbensperger www.revistambientes.cl
Contacto e información:
data@parametrica.org…
rent actors to work together in real time on an architectural project.
DixieVR was born from the idea that virtual reality could become a fantastic tool for architecture and architects, not only for virtual tours but for the conception at its very core. Inspired by the efficiency of sandbox games, DixieVR will allow you to build a fully parametric 3D model from scratch in a very intuitive way and to simulate various factors like natural and artificial light, gravity, and more. DixieVR is also multi-user oriented : several people, architects or not, are able to work together in real time on the same 3D model and in the same shared immersive environment !
The project started in the Digital Knowledge department of Paris-Malaquais Architecture School.
The DixieVR Softwares can be found here : dixievr.github.io
// Interoperability
DixieVR deals with .dix files. For more information about this file format, please refer to the Interoperability documentation of DixieVR.
You can use this DixieIO plugin for Grasshopper/Rhinoceros for exchanging data between DixieVR (PC) & DixieViewer (Android).
You can import or export objects at any time inside a DixieVR scene. The Software also come with a library of premade objects that you might find useful. Adding your own premade objects to this library might be a good habit.
If you are hosting a scene, you also have the choice to open a .dix file directly from the main menu, this will load the last scene in which the geometry has been saved.
// Plugin
The DixieVR Plugin can be found in the Extra tab, come with 3 components and a example definition:
Dixie2Gh : Import DixieVR geometry to Grasshopper/Rhinoceros reading a .dix file (up to 1000 beams and/or 750 faces).
G2D_Polylines : Export Grasshopper/Rhinoceros Polylines to DixieVR writing a .dix file (up to 1000 line segments).
G2D_Mesh : Export Grasshopper/Rhinoceros Mesh to DixieVR writing a .dix file (up to 750 triangulated faces).
To install:
In Grasshopper, choose File > Special Folders > Components folder. Place the DixieIO_01.gha file there.
Right-click the file > Properties > make sure there is no "blocked" text.
Restart Rhinoceros or Unload Grasshopper.
// Contact - DixieVR
vr.dixie@gmail.com dixievr.github.io
- Oswald Pfeiffer oswaldpfeiffer.com
- Mathieu Venot mathieuvenot.com…
ll-Facade using Rhino and Grasshopper Participants will learn; Rhinoceros Grasshopper Advanced Parametric Design Brick Formations and Explorations Shadow-Design Relationship
Session 2: Advanced Digital Modeling for Additive Manufacturing (3D Printing) Participants will learn; How to prepare a 3D design to 3D Printing process in Rhinoceros Advanced Methods for 3D Print optimisation for time and cost effective production 3D Printing software education Cura
INFO
Date Saturday, 28 September 2019 Schedule 9:30am – 2:30pm (Session 1) | 2:45pm – 7:00pm (Session2) Venue (TBC) Pada Labs, Istanbul Language English/Turkish Softwares Rhinoceros Grasshopper 3D Cura Participants will need to bring their own laptops with software installed; other plugins will be distributed at the workshop. Prerequisites All tutorials are open to beginner level. No previous knowledge of Cura and Grasshopper needed. Basic knowledge of Rhinoceros recommended. Participation The workshop is limited to the first 20 applicants. Each student will receive a certificate of participation. Prices for each session: (You can pick one and attend one) Special Early registration (Deadline 1 August ) Students 310 TL Professionals 400 TL Regular registration Students 390 TL Professionals 480 TL Prices for Session 1&2 Combined: (Full Day) Special Early registration (Deadline 1 August ) Students 540 TL Professionals 690 TL Regular registration Students 620 TL Professionals 790 TL DISCOUNTS Group registration of 3 or more people will get a 15% discount. * Previous Pada workshop students will get a 10% discount. DIRECTOR Begum Aydinoglu, M.Arch AA DRL will be instructing and directing the following workshops. REGISTRATION: Email to pada.workshops@gmail.com for registration instructions. Please note that we have limited seats and there won't be any exceptions. …