# Dynamo Python Primer

## Dynamo Python Primer

- [Take Dynamo Further 🚀](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/readme.md): Using Python will take your Dynamo definitions to the next level
- [1 Hello Python 🐍](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/hello-python.md): Welcome to the Dynamo Python Primer!
- [1.1 Why Should I Learn to Code?](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/hello-python/why-should-i-learn-to-code.md): Visual programming is the first step in becoming a proficient coder
- [1.2 Python Introduction](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/hello-python/python-introduction.md): Python is the most popular programming language in the world
- [1.3 What is IronPython?](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/hello-python/what-is-ironpython.md): IronPython is simply a dialect of the Python language
- [2 Seeing The Bigger Picture 🔭](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/seeing-the-bigger-picture.md): Programming often involves several moving parts
- [2.1 Context Matters](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/seeing-the-bigger-picture/context-matters.md): Learning a programming language is just the first step
- [2.2 What is an API?](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/seeing-the-bigger-picture/what-is-an-api.md): The Application Programming Interface is your window into an application
- [2.3 The .NET Framework](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/seeing-the-bigger-picture/what-is-the-.net-framework.md): .NET is a large suite of resources for software developers on Windows systems.
- [2.4 Object-Oriented Programming](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/seeing-the-bigger-picture/object-oriented-programming.md): OOP is a widely-adopted programming paradigm
- [3 Getting Started 🛴](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/getting-started.md): Enough talk - let's go write some code!
- [3.1 Dynamo's Python Node](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/getting-started/using-dynamos-python-node.md): The Python Script lets you write and execute IronPython code in Dynamo
- [3.2 Boilerplate Setup Code](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/getting-started/boilerplate-setup-code.md): Boilerplate code does all of the initial setup so you can start coding
- [3.3 Basics: Input and Output](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/getting-started/basics-input-and-output.md): Python nodes work like other nodes; they can take inputs and return outputs
- [3.4 Common Errors](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/getting-started/3.6-common-errors.md): We all get errors - no big deal! Here are some errors you're likely to encounter.
- [4 Revit-Specific Topics 🏡](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics.md)
- [4.1 Introduction to Revit's API](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/introduction-to-revits-api.md): Revit's API has been developed over nearly two decades; let's get to know it!
- [4.2 How to Read Revit's API Documentation](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/how-to-read-revits-api-docs.md): Revit's API is large and so are its documents; learn to navigate them here 🛶
- [4.3 Doc, UIDoc, App, UIApp](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/doc-uidoc-app-uiapp.md): What's up, Doc? Get to know these important handles you'll use all the time!
- [4.4 Unwrapping Revit Elements](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/unwrapping-revit-elements.md): Revit elements are like bananas - best unwrapped before they are consumed ��
- [4.5 The FilteredElementCollector](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/fetching-revit-elements.md): One of the most powerful tools in Revit API fetches elements - fast!
- [4.6 Geometry Conversion Methods](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/3.5-geometry-conversion-methods.md): Dynamo geometry and Revit geometry might seem similar but are different!
- [4.7 Working With Parameters](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/working-with-parameters.md): Accessing parameters is one of the fundamental skills you’ll need to get up and running with the Revit API. However, the Revit parameter system itself is somewhat complex.
- [Family Parameters](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/working-with-parameters/instance-parameters.md): Families are an intrinsic part of any Revit model; being able to access their parameters is a vitally important skill when coding for Revit.
- [Global Parameters](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/working-with-parameters/global-parameters.md): Global parameters are accessible by any element in the model
- [Project Information Parameters](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/working-with-parameters/project-information-parameters.md): These parameters are a bit meta - they're information about the document they're a part of!
- [Group Parameters](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/working-with-parameters/group-parameters.md): It's nice to feel like a part of something bigger 🌍
- [Built-In Parameters](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/working-with-parameters/built-in-parameters.md): These are hard-baked into the Revit software - we can't define or delete them
- [4.8 Working With Transactions](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/working-with-transactions.md): Using Transactions is easy and you won't get very far without them!
- [4.9 Opening & Closing External Files](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/opening-and-closing-external-files.md): Opening and closing files 'headlessly' unlocked some powerful workflows
- [4.10 Prompting UI Selection](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/prompting-ui-selection.md): Tell me what you need...
- [4.11 Working With Units](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/working-with-units.md): Feet, Inches, Meters and Millimetres
- [4.12 Built-In Categories](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/built-in-categories.md): A finer-grain version of Revit's Category system
- [4.13 Family Acrobatics](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/family-acrobatics.md): Family -> FamilyType -> FamilyInstance -> FamilyType -> Family
- [4.14 Feedback: TaskDialogs](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/4-revit-specific-topics/4.15-feedback-taskdialogs.md): TaskDialogs will give users quick-and-dirty visual feedback
- [5 Glossary 📚](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/5-glossary.md): Technical words, jargon and whatchamacallits 🤷‍♂️
- [About This Primer 👋](https://dynamopythonprimer.gitbook.io/dynamo-python-primer/about-this-primer.md)
