Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Simply Rhino - Introduction to Python in Rhinoceros - 3 Day Course
Objectives
For designers and engineers who want to lay the foundation for Rhino.Python scripting, as well as RhinoScript users who want to stay up to date, this workshop will convey the necessary ideas and tools to successfully code geometry in Rhinoceros 5 on Windows and Mac.
As a participant, you will be guided through the details of this friendly and powerful programming language that opens up immense creative and practical opportunities within Rhino that will broaden your understanding and ability to create, analyse and manipulate geometry and data, automate and iterate commands, perform calculations and make informed performance orientated decisions within Rhino 3d Models.
Structure
The course is divided into 6 units of 4 hours each undertaken over three days. Participants will obtain a conceptual understanding of coding for design, analysis and automation while practically learning how to write, run, edit, optimise and debug Python code within the Rhino Python script editor. The course will utilise Rhino’s various geometrical types such as vectors, points, curves, meshes and nurbs surfaces in order to demonstrate the logic and potential of scripting each within Rhinoceros.
Simply Rhino’s instructor is Robert Stuart-Smith, Director of RIBA Chartered architectural practice Robert Stuart-Smith Design, co-founding Director of computational design research practice Kokkugia and Studio Course Master at the Architectural Association School of Architecture Design Research Laboratory (AA.DRL). www.robertstuart-smith.comwww.kokkugia.comhttp://drl.aaschool.ac.uk/
Prerequisite
Rhinoceros v5(most recent)Grasshopper (latest version from www.grasshopper3d.com)GhPython
Outline
Day 1 AM -Environment
• Commandlinemacros&toolbarcustomisation• PythonScriptEditor• Onlineresources:• RhinoScriptSyntaxSDKHelp• RhinoCommonSDKHelp• RunningexistingscriptsinbothWindows&MacRhino• The“HelloWorld”program• Variables:syntax&namingconventions• Conditionalsandtheiruse• Userdatainput• Commonarithmeticoperations• Containers:lists,tuples
Day 1 PM - Automation & basic object creation
• Iteration:loopingthroughcodeseveraltimes• Objectnames&Objectdata• Creating&Manipulating:Points,PointClouds,Lines,Circles• Queryingusinglogicaloperators• Functions-reusableblocksofcode• Debuggingcode:breakpoints,prints,etc• Vectors&Rhinovectormethods:ExplicitandGenerativeapplications
Day 2 AM - Analysis, Modification, Recursion
• Recursion:nestedloops&psuedo-code• Nurbs:curves,surfaces• Splittingcurveswithparameterization• Analysingsurfacesandcurves• Modifyinggeometrytofitcriteria• Generativedesigninrelationtogeometry(growthinrelationtosurfacecurvature)
Day 2 PM - Code workflow
• Meshes• UsingLibraryclasses• Importingandexportingdata• Buildinggeometricaltypesfromdata• Instantiatinggeometry• Codeoptimisations• Briefintroductiontoclasses:objects&inheritance
Day 3 AM - Python & RhinoCommon
• IntroductiontoRhinoCommon• DevelopingaRhinoCommonscript• Scriptexercise:individualhands-onexperience• PresentationofScriptexercise
Day 3 PM - Python in Grasshopper & beyond
• Grasshopperintroduction• IntroductiontoPythoninGrasshopper• Usingpythonwithgrasshopper• Real-timecommunicationbetweenRhinoandotherapplications• Wrap-upQuestiontime&discussion