Mở đầu

Hầu hết mọi người đều biết Industry Foundation Classes (IFC) chỉ đơn giản là một định dạng tệp mà nhiều phần mềm có thể xuất ra, nhưng thực tế nó là gì và điều gì khiến một số người rất hào hứng với IFC?

logo buildingSMART

Xuất IFC trên Revit dùng phần mềm mặc định được rồi sao lại phải sử dụng đến Dynamo Revit ?

IFC là gì?

IFC với tên dịch đơn giản nhất chính là các lớp nền tảng công nghiệp.IFC được bắt đầu phát triển từ 1994 và cập nhật nhiều lần đến hiện tại.

IFC không phải là phần mềm hay nói chính xác là một định dạng tệp. Đó là một tiêu chuẩn ISO về đặc điểm kỹ thuật của thông tin xây dựng kỹ thuật số. Một đặc tả tiêu chuẩn có nghĩa là chúng ta có một cách rõ ràng để cấu trúc thông tin của mình trên tất cả các quy trình khác nhau. Nó cũng giúp giải quyết vấn đề chúng ta gặp phải về khả năng tương tác giữa phần mềm, tất cả các nền tảng khác nhau mà chúng ta sử dụng cấu trúc dữ liệu của chúng khác nhau, điều này gây ra sự cố khi cố gắng di chuyển thông tin từ nơi này sang nơi khác. Có tiêu chuẩn này đã cung cấp tính tương đồng giữa các nền tảng để thông tin có thể được trao đổi một cách nhất quán và có thể lặp lại.

Hãy tưởng tượng bạn được yêu cầu vẽ một tòa nhà nhưng không phải như bạn thường thấy một ngôi nhà trong trí tưởng tượng của bạn, mà là về tất cả thông tin ẩn chứa bên trong nó. Thông tin như tên của một cái gì đó, thuộc tính của nó và cách nó liên quan đến căn phòng mà nó đang ở.

Ví dụ : Bạn được yêu cầu vẽ một căn nhà, bên trong căn nhà đó sử dụng hai cái cửa sổ kích thước 200*200 chiều cao 1200.Như vậy, thông tin kỹ thuật của nhà bạn cần là những đối tượng đại diện như cửa và các thuộc tính như chiều cao cửa và một số thông tin vật liệu màu sắc liên quan đến cửa nằm trong căn phòng mà bạn đang được yêu cầu làm.

Các phiên bản IFC

Các thông tin mô tả về số hiệu phiên bản được trình bày rất rõ ràng và chuyên nghiệp bao gồm cả những con số chấm lẻ phía sau bởi buildingsmart :

VersionIFC001

Nhưng hãy để ý kĩ lại một chút, nếu bạn là một người phát triển phần mềm thì rất dễ dàng nhận ra được điều này, tại sao các phiên bản IFC lại đánh số lộn xộn lên một cách thiếu logic như đã trình bày bên trên.

Ta vừa mới ra lò phiên bản IFC1.0, nhưng vì một biến cố gì đó đột nhiên lại nhảy lên IFC1.5 với Version 1.1.0.0 sau đó lại là IFC2.0

Và rồi một ngày đẹp trời nọ lại thêm dấu x vào phía sau phiên bản rồi một đống kí tự lạ phía sau các phiên bản IFC2, chưa kịp thông suốt tinh thần thì lại bỏ IFC3 và nhảy lên con số IFC4 và giờ mới nhất là IFC4.3 RC1, ủa rồi số 3 của tôi đâu ?

VersionIFC

Tóm lại nếu bạn muốn hiểu thêm về IFC, sẽ có một bài viết chi tiết hơn để nói về những mâu thuẫn bên trong đó và chúng ta sẽ cùng đi sâu hơn về nhiều điểm kể cả phiên bản, tọa độ xử lí và đối tượng thông tin bên trong.Bài viết này sẽ không tập trung vào giải thích những khái niệm này.

Export IFC

Về cơ bản IFC được gắn kết với các phần mềm mặc định và cho xuất dễ dàng với một số thao tác thiết lập.Tất nhiên nếu bạn chỉ xuất 1 tệp dự án để gửi thì không có gì để bận tâm, hoàn toàn có thể làm việc với quy trình này.

Hình ảnh xuất tệp IFC cơ bản với phần mềm Revit:

RevitExportIFC

Vấn đề ở đây, khi làm việc với nhiều dự án và các dự án bao gồm các hệ(MEP,ARC,STR,..), để xuất hàng loạt dự án sang IFC thật sự là một cực hình, nhưng mình có giải pháp đơn giản hơn có thể làm điều này với Dynamo.

Package sử dụng :

  • GeniusLoci v.2019.10.6
  • Rhythm v.2019.9.12

Việc đầu tiên cần làm chính là chọn thư mục chứa các tệp cần xuất hàng loạt.

ExportIFC001

Tạo thêm View 3D để xuất đầy đủ, đảm bảo các cấu kiện là không mất.

# Enable Python support and load DesignScript library
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import *
lst = []
docs = IN[0]
for doc in docs:
lst.append(doc.Title.ToString())
OUT = lst
view raw doctitile.py hosted with ❤ by GitHub

Xuất tệp IFC hàng loạt với đường dẫn và view3D vừa tạo mới.Cụ thể ở đây sẽ xuất sang IFC4.

ExportIFC002

Cuối cùng thì mình vẫn không mong muốn đóng ứng dụng vì một số vấn đề với việc xuất không thành công chưa các tệp, các nguyên nhân vẫn đang được điều tra và chưa có giải pháp để khắc phục cho vấn đề này, nếu bạn có ý tưởng đề xuất có thể để lại lời nhắn bên dưới để bản cập nhật lần sau tốt hơn.

Tải về :

Bạn có thể tải về tệp tham khảo tại ExportIFCMultiFile.dyn

Mở rộng

Tác giả Bim42 có một giải pháp xuất IFC Online với Autodesk Forge API, tuy nhiên hiện tại đã không sử dụng được nữa, nếu bạn có ý tưởng nghiên cứu hoặc đề xuất gì với tác giả có thể đi đến giải pháp này.

Tham khảo

bimblog.bondbryan.co.uk

Bim42