Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
144 views

Revit API Using CSharp Python Dynamo AI Plugins Training-1

Uploaded by

Sanket Antre
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
144 views

Revit API Using CSharp Python Dynamo AI Plugins Training-1

Uploaded by

Sanket Antre
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

CADVertex Solutions

A-16 . Whispering Wind . Pashan-Baner Link Road . Pashan . Pune . 411021


www.CADVertex.com info@cadvertex.com Phone :+91 9890611694

Revit API Master Course


using CSharp and Python
Learn
CSharp + Dynamo + Python + Machine Learning

Create AI-Powered Plugins for Revit


Create AI-Powered Dynamo Scripts

Download this PDF


17 pages
WhatsApp/Telegram +91 9890611694
eMail: info@CADVertex.com
Training Structure
Module 1: Python Programming including LINQ and OOPs.
Module 2: CSharp Programming including LINQ and OOPs.
Module 3: Revit API using CSharp: Deep Dive and Advanced Techniques.
Module 4: Revit API using Python: Deep Dive and Advanced Techniques.
Module 5: Dynamo with Python Nodes + Machine Learning + AI + PyRevit, Python Revit Shell.
Features:
✓ LIVE coaching + recorded videos.
✓ Flexible timings.
✓ Weekday batches.
✓ Weekend batches.
✓ Modern Python programming included.
✓ Unlimited support after training: at no extra cost!
✓ Industry projects.
Highlights:
✓ Daily exercises and review quiz.
✓ Best practices for programming in Revit.
✓ Resume Preparation.
✓ Interview Preparation.
✓ 100 Interview QA.
✓ Job referrals in top companies.
Bonus:
✓ Free study material.
✓ Free sample programs.
✓ Free Dynamo scripts.
✓ Free Python scripts.
✓ Free plugins.
✓ Free Python templates.
Unique:
✓ PyRevit.
✓ AI with Machine Learning.
✓ Revit Python Shell.
✓ CPython3 and IronPython.
✓ PyCharm.
Module 2: Python Programming

1. Installation and Basics

• Installing Python.
• Installing Python Editor.
• Project Explorer, output and error windows.

2. Introduction to programming

• Setting up user interaction and collecting inputs.


• Calculations and output display.
• Using the Math library functions.
• Running Python programs.
• Syntax, Comments, User Input, Print results, and control Program Flow.
• Variables: Float, Integer, String, and Boolean.
• String Variables: Find, Replace, Formatting and Slicing operations.
• Datatypes, Typecasting and Validations.
• Arithmetic Operations.

3. List and Loops

• Lists, Tuples, Dictionaries and Sets.


• List comprehensions.
• List Operations - Slicing and Data Extraction.
• String Operations - Slicing and Manipulations.

• Conditionals : If and Elif.


• Chaining Comparison Operators.
• Loops: For Loop and While Loop.

4. Functions and Modules

• Defining Functions and Arguments.


• Functions: Arguments, Return Statements and values.
• Functions: Optional Arguments.
• Functions: Multiple Return Values.
• Function Help and DocStrings.
• Modules and the Python standard library.
• Importing from modules.
• Creating Aliases.

• Life of variables, global and local variables.


• Lambda functions.

• Errors - syntax, logical and exceptions.


• Exception handling.
• LINQ – Language Integrated Queries, and Lambda functions.
5. Exception Handling

• Try Catch Except.


• Debugging Python Functions.
• Adding breakpoints and inspecting values.
• Determine source of error.
• Troubleshooting and fix errors in the code.

6. Object Oriented Programming

• Creating Classes and objects.


• Methods and Properties.
• __init__() Function.
• __str__() Function.
• The self Parameter.
• Modify Object Properties.
• Inheritance.
• Creating a Parent Class.
• Create a Child or Derived Class.
• Add Properties and Methods.
• Polymorphism.

7. OS Functions

• Installing 3rd party packages using pip.


• Performing File, Folder, Path and operations.
• Manipulating file paths and extensions.
• Handling Files, File Filters.
• Text files - read, append and write with practical applications.
• Storing and retrieving data.
• Folders and Folder operations.

8. Tkinter GUI Programming

• Geometry and mainloop.


Project - Geometric calculator.
• Setting dialog box properties, title, icon, size and location.
• Adding widgets and adjusting their properties and placement.
• Tkinter Datatypes - Double, Integer, Strings, and Boolean.
• Data Type Conversion - tkInter variables and python variables.
• Labels - static and dynamic.
• Entry Textboxes - storing user input from textboxes into variables.
• Setting default values and last used values in text boxes.

• Button widget - formatting and calling functions.


• Check boxes and radio buttons.
9. Advanced GUI Programming

• Listboxes - single selection and multiple selections.


• Listboxes - adding items static and dynamic.
• Listbox selection event binding.
• Listbox display total count and selection count.
• Listbox, remove selected item and remove all items.
• Listbox - add items from textbox.

• Scrollbar - adding scrollbar to a listbox.


• Spinner widget - setting range and layout.
• Scale widget - setting range and layout.

• Images - displaying images in a dialog box.

• File selection dialog.


• Single and multiple files.
• Adding file filters.
• Folder selection dialog.
• Selecting all files from folder dialog.
• Adding file filters for folder dialog.
• Opening files in associated application.

• Message boxes - information, query and warning .


• Configuring single line and multiline messages.
• Button configurations and icon synchronizing.
• Checking message box responses against button configurations.

• Option menu, add and remove items.


• Handling multiple dialogs.
• Adding pulldown menus, adding menu items.
• Cascading menus and adding commands to menu items.
Module 2: CSharp Programming

10. Installing Visual Studio

• Installing an older version.


• Setting the default language.
• Setting the environment and preferences.
• Customizing the layout.
• Solution Explorer, output and error windows.

11. Console applications and introduction to programming

• Selecting a project template.


• Setting up user interaction and collecting inputs.
• Calculations and output display.
• Using the .Net Math library functions.
• Various files and their meaning in the project structure.
• Separating source code from the executable.

12. Creating a Windows Forms Application

• Setting dialog box properties.


• Toolbox and the Properties window.
• Adding controls: Button, TextBox, Label, Checkbox, RadioButton.
• Adding images to PictureBox and other controls.
• Aligning text and images on controls.
• Composite controls: ListBox and ComboBox.
• Adjusting various properties for each type of control.
• Variable types - Double, Integer, String and Boolean.
• Acquiring user input from various controls into variables.

13. File Open dialog and File Save dialogs

• Creating basic, compound and composite file filters.


• Dialog properties and startup paths.
• Reading single and multiple files from a file dialog.
• Opening various type of files using a file dialog.

14. Folder Selection Dialog

• Getting files from folder.


• Filtering file types in a folder dialog.
• IO.Directory functions.
• Anchoring controls to the Form.
15. Message Boxes

• Configuring single line and multiline messages.


• Button and icon selection.
• Using If-Then-Else statements.
• Checking message box responses.

16. Arrays

• Filling arrays and reading array elements.


• Filling ListBoxes with array elements.
• For Loop and ForEach loop.
• ArrayLists and Lists - advantages and limitations.

17. Functions and Subroutines

• Arguments, return types and return values in functions.


• ref and out clauses.
• Enums and constants.
• Errors - syntax, logical and exceptions.
• Exception handling.
• Post-build events.
• Runtime update.
• LINQ – Language Integrated Queries, and Lambda functions.
Select, FindAll, Take, TakeWhile, Skip, SkipWhile, First queries.

18. Object Oriented Programming

• Creating a class.
• Adding member functions.
• Static and non-static methods.
• Class constructor and object variables.
• Public and Private methods.
• Adding member variables.
• Derived class.
• Inheritance and Interfaces.
• Encapsulation.
• Polymorphism and function overloading.
• DLL and EXE, differences and usage.
• Casting – traditional and modern methods.
• Class Attributes.
19. Multi-Form Projects

• Adding Forms to a project.


• Adding Forms to a console application.
• Form objects and invoking Forms.
• Default constructor and modified constructor.
• Exchanging data between Forms.
• Default values in forms.
• Storing and retrieving data.
• Events and Event Handling.

Module 3 : Revit API using CSharp

20. Creating a Plugin

• The Revit API.


• Viewing the Revit API.
• Setting up Visual Studio.
• Add classes and implement interface.
• The IExternalCommand.
• Creating a command.
• Task dialog.
• Task dialog builder.
• Invoking the application in Revit.

21. Plugin Usage

• Registering add-ins.
• Compiling the code.
• Creating a manifest file.
• Lookup and Snoop techniques.

22. Selections in Revit

• Element Selection.
• Retrieving properties of selected elements.
• Selection Filter.
• Filters Basic.
• Get an element using filters.
• Logical Filters.
• Filtering using LINQ techniques.
• Querying the FilteredElementCollector.
• Retrieve Elements and element ids.

23. Working with Revit Elements

• Classifying elements.
• Retrieving element information.
• Filtered Element Collector.
• Creating a collector.
24. Transactions

• Start, commit and rollback transactions.


• Modifying elements.
• Creating families.

• Creating line-based elements.


• Creating loop elements.

25. Parameters

• Parameter Object Hierarchy


• Retrieve Parameter Value
• Set Parameter Value

26. Element Creation

• Project: Creating walls.


• Single Wall Creation
• Multiple Wall Creation
• Floor Creation
• Element locations.
• Point locations and location curves.
• Editing methods.
• Single Transaction.
• Group Transactions.

27. Automating Drafting and Drawing

• Tagging elements.
• Creating automatic element tags.
• Creating sheets.
• Placing views.
• Creating a Plan View.

28. Excel Automation and Integration

• Integrating Revit API with Excel.


• Reading data from Excel and creating objects in Revit.
• Writing out Revit model data to Excel sheets.
• Invoking Excel from CSharp.
• Creating new workbook.
• Connecting to Excel.
• Connecting to existing worksheets.
• Accessing range and cells.
• Writing and reading values from cells.
• Formulas and results.
• Formatting cells - font and layout.
• Excel Macro recording and integration.
❖ Project - Writing Revit Information to Excel.
❖ Project - Reading from Excel into Revit.

Module 4 : Revit API using Python

29. Creating a Plugin

• Element Selection.
• Retrieve Elements and element ids.
• Retrieving properties of selected elements.

• Task Dialogs.
• Configuring Task Dialogs.
• Title, instructions, contents, Header and Footer.
• Command buttons, cancellation, Command buttons.
• Links and Display actions.

• Selection Filter.
• Filters Basic.
• Get an element using filters.
• Filtered Element Collector.
• Inspect Elements inside the collection.
• Built In Categories.
• Filtering using LINQ techniques.
• Querying the Filtered Element Collector.

Project: Adding View Tags.


Project: Move Room Tag to Center.
Project: Adding Sheets in Revit.

• Working with Parameters.


• Reading and Writing Parameters.
• Getting parameters from Revit elements.
• Getting parameter by Name.
• Getting the value from a parameter.
• Setting a Parameter value.
• Family Parameters.
• Built-In Parameters.

• Working with transaction.


• Start, commit and rollback transactions.
• Single Transaction.
• Group Transactions.

• Element Creation.
• Project: Creating walls.
• Single Wall Creation.
• Multiple Wall Creation.
• Floor Creation.
• Element locations.
• Point locations and location curves.
• Editing methods.

• Element Geometry and Vectors.


• Intersecting geometry.
• Vectors and projecting rays.
• Finding shortest distance and interference.

Module 5: AI Programming in Revit API and Dynamo

Highlights:

Dynamo
Machine Learning using Python
Create AI-Powered Revit Plugins
Create AI-Powered Dynamo Nodes
PyRevit
Revit Python Shell
Revit Lookup

30. Dynamo

• What is Dynamo.
• What is Visual Programming.
• Getting Started with Dynamo.
• The Building Blocks of Dynamo.
• Automatic Manual Execution.

• Parts of a Node.
• Node Types: Create, Action, and Query.
• Searching, browsing and adding nodes.
• Quick Nodes.
• Node wiring and data flow.
• Unwiring nodes.

• Grouping and ungrouping.


• Duplicating and renaming nodes.
• Input, output and previews.
• Watching node output.

• DesignScript Language in detail.


• Code blocks.
• Numerical inputs and Sliders.
• Code Vs. Nodes.
• Using Variables in nodes.
• Statements and values.
• Lists and List Slicing.
• Arithmetic and logical Operators.
• Built Functions.
• Custom Functions.
• List Range and indices.
• Graph view and background view.
• Zoom , Pan and rotate graphs.
• Mouse and keyboard shortcuts.
• Creating Custom Nodes.
• Custom Nodes – Computational.
• Custom Nodes – Geometrical.
• Store and Distribute Dynamo Scripts.
• Save and Share Dynamo Custom Notes.

31. Programming Python Nodes in Dynamo

• Input and output wiring.


• Arguments, Arrays and Lists.
• Coupling Output of Python Script to nodes.
• Performing Arithmetic operations in Python nodes.
• Performing Geometrical operations in Python nodes.
• Using Proto Geometry.
• Variables.
• Points and Coordinates.
• List and List Slicing.
• For Loop.
• For Loop with If.
• While Loop.
• Break and Continue.
• Shorthand for Loops.
• Node Lacing and Nested Loops.
• Functions and Arguments.
• Create and Use Python Modules.
• Use Built-in Modules.

32. Using Dynamo with Revit

• Creating geometry - point, lines.


• Creating Revit geometry.
• Lists and Ranges.
• Grids and matrix.
• Lacing techniques.

• Visualizing parameter data.


• Create, Action, Query nodes.
• Filter list by element type.
• Automating repetitive tasks.
• How to create column grids.
• Working with data in Excel.
• Family types and instances.
• Creating custom nodes.

• Boolean Expressions in DesignScript


• Generating Number Range using DesignScript
• Generating Lists Using DesignScript
• Generating multiple geometry Using DesignScript

Project: Working with data in Excel.


Project: Create column grids.

• Using the Dynamo player in Revit

33. Using Python Nodes in Dynamo with Revit API

• Modules and Libraries.


• Using the Revit node library.
• Layout of Python nodes in Dynamo.
• Extracting information from Revit using Python.
• Creating Elements in Revit.
• Revit Objects Vs .Dynamo Objects.
• Convert between Dynamo Geometry and Revit Geometry.

Project: Stair Paths.


Project: Room Finishes.

34. Machine Learning and AI - NumPy - Numerical and Scientific Processing

• Arrays.
• One Dimensional Array.
• Multidimensional Array.
• Create Arrays from Data.
• Create array from Ranges.
• Shape.
• Array Intersection.
• Array Difference.
• Sum.
• Slicing Array.

Pandas - Big Data Processing


• Series.
• DataFrames.
• Dataframe Indexing.
• Dataframe Head, Tail.
• Dataframe Shape.
• Read DataFrame from CSV.
35. Matplotlib - Visualization
• Line Plots.
• Sub Plots.
• Plot Properties - Color, Style.
• Grid, xLabel, yLabel.
• Bar Plots.
• Bar SubPlots and Orientation.
• Scatter Plots and Subplots.
• Mixed Plots and Overlapping.
• Markers and LineWidth.
• Exporting Plots.
• Pie Charts.

36. Decision Trees


• Decision Tree Classifiers
• Dataframe
• Extracting Features & Labels from a Dataframe
• Fitting Features & Labels into a decision algorithm
• Predicting values based on classification
• Dual Classification and Multiclass classification
• Reading CSV data into Dataframes
• Separating input and output
• Dropping frames from dataframes
• Label Encoders
• Fit Transforms
• Predicting results

37. Linear Regression Analysis

• Reading a CSV data file


• Create Linear regression model
• Fit data columns directly to the algorithm
• Determine coefficient and intercept
• Reading bulk inputs data from CSV
• Predicting output for entire column
• Exporting output dataframes to CSV
• Create a scatter plot of the data

38. K-Means Clustering

• Project Clustering Symbol Errors based on Drawing Sheet Zones


• Importing data
• Determining clusters
• Determining the cluster to which a point belongs
• Visualize cluster using scatter plots
• Visualize cluster centers

Project: Integrating Machine Learning Models into Revit Plugins: with Project
Project: Integrating Machine Learning Models into Dynamo Nodes: with Project
39. Revit Lookup

• Download and installation.


• Exploring, Revit objects and values.
• Analyzing current data state.
• Snooping Revit Document.
• Snooping current selection.
• Inspecting Edges, Faces and Linked Elements.
• Manipulating Revit Values and Parameters.

40. Revit Python Shell

• Installation and configuration


• CPython3 and IronPython
• Similarity and differences
• Features and advantages
• Understanding ByteCode
• Create Revit Plugins
• Deploy Plugins using the RpsAddin

41. PyCharm Editor

• How to install and configure.


• Environments and configuration
• Keyboard shortcuts

42. PyRevit

• What is PyRevit?
• How to install?
• Benefits and utilities.
• How to create Plugins using PyRevit.

43. Revit API Docs - How to use?

• Exploring Samples
• How to convert .Net samples to Python.
44. How to use ChatGPT for Revit API Development

45. Useful Dynamo resources

• Best practices for programming in Revit.


• Resume Preparation.
• Interview Preparation.
• 100 Interview QA.

• Free study material.


• Free sample programs.
• Free projects.
• Free Python scripts.
• Free plugins.
• Free Python Templates.

Other eBooks and Training Programs from CADVertex:

❖ CATIA Automation: VB.Net or CSharp or Python


❖ SolidWorks Automation: VB.Net or CSharp or Python
❖ Solid Edge Automation: VB.Net or CSharp or Python
❖ Inventor Automation: VB.Net or CSharp or Python

❖ NX Open: VB.Net or CSharp with Win Forms


❖ NX Open: VB.Net or CSharp with Block UI Styler
❖ Knowledge Fusion
❖ Knowledge Fusion with Block UI Styler

❖ Revit Automation using CSharp.Net + Dynamo


❖ Tekla Automation using CSharp.Net

❖ cMayoCAD: Learn to build a new CAD program from scratch


using a Geometric Modeling Kernel and CSharp

❖ CATIA Automation with Python and Machine Learning


❖ Solid Edge Automation with Python + Machine Learning
❖ SolidWorks Automation with Python + Machine Learning
❖ Inventor Automation with Python + Machine Learning

CADVertex Software
A-16 . Whispering Wind . Pashan-Baner Link Road
Pashan . Pune . 411021

www.CADVertex.com
info@cadvertex.com

WhatsApp/Telegram/Call:+91 9890611694
Join
CADVertex
CAD-BIM Automation Group
WhatsApp

Join
CADVertex
CAD-BIM Automation Group
Telegram

Follow

CADVertex on LinkedIn

Follow

CADVertex on Facebook

Follow

CADVertex on Instagram

Phone & Chat + 91 9890611694

eMail info@CADVertex.com

Website www.CADVertex.com

You might also like