Tài liệu

Python BIM và những khái niệm cơ bản

Huy Erick

Hình ảnh minh họa Tại sao chúng ta nên học Python? Top 5 ngôn ngữ phổ biến nhất trên thế giới hiện nay bao gồm: Python, JavaScript, Java, C++, và C#. Trong số đó, Python...

Hình ảnh minh họa

Tại sao chúng ta nên học Python?

Top 5 ngôn ngữ phổ biến nhất trên thế giới hiện nay bao gồm: Python, JavaScript, Java, C++, và C#. Trong số đó, Python và JavaScript được cho là dễ học nhất vì có cú pháp đơn giản và dễ hiểu. Tuy nhiên, JavaScript được tạo ra cho lập trình web trong khi Python được thiết kế để trở thành một ngôn ngữ đa mục đích, bao gồm web, công cụ, data-science, và trò chơi.

Python là ngôn ngữ thông dịch, điều này có nghĩa là chúng ta phải diễn giải mã nguồn thành mã máy. Tuy nhiên, không phải là phải làm điều này thủ công. Ngôn ngữ Python được thực thi thông qua trình thông dịch Python và quá trình diễn giải và thực thi mã nguồn Python thành mã máy diễn ra tự động. Có 3 cách để thông dịch mã nguồn thành mã máy bao gồm biên dịch (compile), thông dịch (interpret), và tổng hợp (synthesis). Ví dụ về các ngôn ngữ biên dịch là C và C++, ngôn ngữ thông dịch là PHP và JavaScript, và ngôn ngữ tổng hợp là Java, C#, và Python.

Python vs IronPython

IronPython là một phiên bản của Python được phát triển dành cho .NET framework bởi Microsoft. IronPython sử dụng cả thư viện của Python và .NET, nền tảng mà Autodesk cũng sử dụng. Vì vậy, chúng ta cần sử dụng IronPython để kết nối với nền tảng .NET cũng như Revit, Dynamo, và Autodesk.

Tóm lại, IronPython là một phiên bản của Python được phát triển để làm việc với .NET framework. Python trong Dynamo, Grasshopper, RevitPythonShell, và pyRevit thường sử dụng IronPython.

IronPython vs cPython

Nếu IronPython được viết bằng C#, thì cPython được viết trên nền tảng C, cho phép truy cập các tính năng mới nhất của Python (3.7+) và khả năng import các module mạnh mẽ khác. Vì vậy, Python là một ngôn ngữ, IronPython là triển khai Python trong C#, và cPython là triển khai Python trong C. Jython là triển khai Python trong Java.

Trong Dynamo hiện tại, bạn có thể viết code bằng IronPython và cPython.

Hình ảnh minh họa

RevitPythonShell

RevitPythonShell là một công cụ trên Revit, dùng để viết các plug-in và kiểm thử nhanh mã Python. Đặc điểm nhanh của công cụ này là chúng ta sẽ có kết quả và các lỗi ngay sau khi chạy.

Bạn có thể tìm hiểu thêm về công cụ này trên github.

Revit Python Wrapper

Revit Python Wrapper (RPW) là một thư viện Python giúp các nhà phát triển BIM lập trình với RevitAPI dễ dàng hơn bằng ngôn ngữ Python. Bạn có thể sử dụng RPW trên Dynamo, RevitPythonShell và pyRevit.

Hình ảnh minh họa

Bạn có thể tìm hiểu thêm về RPW trên github.

RevitLookup

RevitLookup là một công cụ hữu ích dùng để tra cứu cấu trúc dữ liệu các đối tượng trong Revit. Đây là công cụ không thể thiếu đối với những nhà phát triển Revit.

Hình ảnh minh họa

Nếu bạn thấy bài viết này hữu ích, hãy theo dõi BCDD tại đây.

Bài viết do admin 1 Nghia Nguyen và cộng sự BCDD biên soạn.

1