Sau những năm tháng trong môi trường đại học, với mong muốn áp dụng những kiến thức đã học trên lớp và học hỏi thêm những kinh nghiệm trong môi trường làm việc thực tế, cũng như muốn đượ
Trang 1KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
XÂY DỰNG ỨNG DỤNG 3D PDF EXPORTER CHO RVM FILE
Công ty thực tập : Intratech Người phụ trách : Trần Minh Khoa Thực tập sinh : Bùi Xuân Nhã
Trang 2LỜI MỞ ĐẦU
Trong thời đại hiện nay, Công nghệ thông tin nói chung và ngành Công nghệ phần mềm nói riêng vẫn luôn là một trong những nhân tố thiết yếu và đóng vai trò quan trọng nhất trong sự phát triển chung của cả xã hội
Bên cạnh đó bằng việc tạo ra công cụ hỗ trợ con người trong việc mô phỏng các thông tin cần thiết, hạn chế những sai sót giúp tiết kiệm thời gian, chi phí và sức lực
Sau những năm tháng trong môi trường đại học, với mong muốn áp dụng những kiến thức đã học trên lớp và học hỏi thêm những kinh nghiệm trong môi trường làm việc thực tế, cũng như muốn được tự trải nghiệm bản thân trong việc tham gia phát triển các sản phẩm của ngành Công nghệ phần mềm Vì vậy, em đã quyết định chọn
Intratech là nơi để thực hiện được dự định này!
Trang 3Đặc biệt cảm ơn anh Khoa, đã training C#, hướng dẫn, giúp đỡ cho chúng em tận tình cả những khó khăn trong công việc, đến những khó khăn việc làm quen với môi trường mới, training các kiến thức về hình học 3D, hỗ trợ chúng em rất nhiều về các vấn đề kỹ thuật 3D, chỉ dẫn chúng em về cách làm báo cáo, lên kế hoạch, những
kỹ năng không thể thiếu; cho chúng em những kiến thức quan trọng về C#, hình học 3D, Javascript để có thể làm ra một sản phẩm hoàn chỉnh trong thời gian qua
Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện em làm bài báo cáo này
Bùi Xuân Nhã
TpHCM, ngày 27 tháng 12 năm 2020
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
Mục lục
Chương 1: Giới thiệu công ty thực tập 6
1 Giới thiệu công ty Intratech 6
2 Sản phẩm của công ty 6
Chương 2: Nội dung thực tập 8
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 8
2 Nghiên cứu kỹ thuật 8
3 Thực hiện project 11
4 Lịch làm việc 11
Chương 3: Chi tiết về project 15
1 Giới thiệu về project 15
2 Thực hiện 20
Trang 6Chương 1: Giới thiệu công ty thực tập
1 Giới thiệu công ty Intratech
Cung cấp nền tảng trực quan hóa 3D linh hoạt và các giải pháp độc đáo cho các ngành công nghiệp từ EPC, BIM đến Công nghiệp nặng
Với hơn 25 năm kinh nghiệm trong các hệ thống thiết kế 3D khác nhau, Intratech đã
và đang nỗ lực phát triển công nghệ giúp tăng hiệu quả của công ty khách hàng và cung cấp chức năng mà khách hàng yêu cầu
Intratech đưa ra giải pháp giúp giải phóng dữ liệu thiết kế của khách hàng khỏi kích thước tệp lớn và thiếu khả năng tương tác bằng cách cung cấp trình chuyển đổi thân thiện với người dùng và phần mềm quản lý xây dựng tổng thể Khi các mô hình 3D được mở rộng sử dụng trong tất cả các khía cạnh của dự án, từ thiết kế và xây dựng đến quản lý cơ sở, nhu cầu về phần mềm nhẹ và chức năng cao trở nên quan trọng hơn
2 Sản phẩm của công ty
Intratech sản xuất các phần mềm hỗ trợ trực tiếp cho các công trình có bản vẽ 3D cần xuất ra định dạng PDF Hiện nay có thể liệt kê các sản phẩm của công ty như: 3D PDF
Trang 7Exporters for Intuitive 3D Drawing, 3D PDF Exporters for Intuitive 3D Drawing, 3D PDF Exporter for RVM, 3D PDF Exporter for Revit, Export Smart3D to Navisworks Intratech hiện nay đang là đối tác của nhiều công ty lớn ở Hàn Quốc như Samsung, Hyundai.
Trang 8Chương 2: Nội dung thực tập
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian : 1 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triên (như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của công ty
Ngoài ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công việc…
Kết quả : Hiểu thêm về công ty Intratech, quá trình thành lập và phát triển Có thêm các
kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn
2 Nghiên cứu kỹ thuật
1.1 Các công cụ làm việc
Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc
Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các công
cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như Devops Azure, phần mềm làm việc nhóm và họp báo cáo nội dung làm việc hằng tuần trên Microsoft Teams
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên
Kết quả : Lập trình sử dụng các công cụ miễn phí, giúp dễ dàng kết hợp các công cụ
với nhau
Trang 91.2 Tìm hiểu các khái niệm về hình học 3D
Nội dung : Được training về các kiến thức hình học 3D, hỗ trợ cho việc đọc hiểu các
tài liệu 3D và phát triển phần mềm
- Khái niệm về Model Structure: Hierarchy, Property, Geometry
- Khái niệm về 3D Geometry: Primitives (Cylinder, Core, Torus, Sphere ), Transform matrix, Instance/Reference, Material (Color, Texture)
- Làm quen với phần mềm đọc bản vẽ 3D Naviswork
Thực hiện :
- Tham gia đầy đủ các buổi training của công ty
- Làm các bài thực hành, kiểm tra về kiến thức đã học
Kết quả :
- Nâng cao các kiến thức về hình học 3D
- Có được những kiến thức quan trọng cho việc tư duy logic sau này
1.3 Lập trình ứng dụng export 3D PDF với Winform
Nội dung: Áp dụng các kiến thức đã được học để thực hành xây dựng ứng dụng
export 3D PDF từ RVM file
- Thực hành với thư viện RVM của công ty:
+ Đọc một file RVM
+ Từ file đã đọc, xây dựng một model hierarchy (tree view)
+ Lấy và hiển thị các property của từng item trong hierarchy (node trong treeview)
+ Lấy và hiển thị các geometry của item
- Thực hành với thư viện PRC/PDF của công ty:
Trang 10+ Sử dụng thư viện PRC để xuất PRC file (Hierarchy, Property, Geometry, Dimension)
+ Sử dụng thư viện PDF để nhúng PRC file vào PDF file
+ Xuất ra bản vẽ 3D PDF hoàn chỉnh từ RVM file, thêm nhiều hỗ trợ như đo kích thước giữa các đường ống nước…
Thực hiện :
- Tham gia đầy đủ các buổi trainning
- Làm các bài tập thực hành như vẽ những hình 3D cơ bản đến nâng cao, load mô hình 3D từ file, xuất thông tin từ RVM file ra màn hình, xuất ra file 3D PDF từ bản vẽ 3D định dạng RVM
- Thực hiện và commit code lên Azure
- Báo cáo tiến độ hằng ngày
Kết quả :
- Hiểu và sử dụng được các thư viện của công ty
- Nâng cao kĩ năng lập trình với C#
- Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn, dễ đọc, dễ hiểu
1.4 Lập trình plugin cho Adobe Acrobat Pro bằng Javascript
Nội dung : Sử dụng thư viện của Adobe Acrobat Pro để viết thêm plugin cho trình
đọc file PDF Adobe Acrobat Pro bằng Javascript
- Giới thiệu về thư viện hỗ trợ viết plugin cho Adobe Acrobat Pro bằng Javascript:
Hướng dẫn này dành cho các developers muốn nâng cao trải nghiệm 3D của người dùng Sử dụng API JavaScript cho 3D annotation, có thể chỉ định chế độ hiển thị và ma trận 3D transform; thiết lập vị trí camera, mục tiêu và trường quan
Trang 11sát; phát hiện sự kiện chuột và bàn phím; điều khiển hình ảnh động; và nhiều hành
vi khác
- Thực hành lập trình plugin bằng Javascript:
Dựa vào tài liệu API của Adobe Acrobat Pro, thực hiện viết thêm các plugin như các button hỗ trợ xoay hình 3D, zoom in, zoom out, đổi màu các khối hình, ẩn/hiện các khối hình được chọn, tìm kiếm theo tên các item…
Thực hiện :
- Thực hiện và commit code lên Azure
- Báo cáo tiến độ hằng ngày
Kết quả:
- Đã có thể tạo ra một ứng dụng winform hoàn chỉnh bằng các thư viện hỗ trợ của công ty, ứng dụng có chức năng convert file 3D từ RVM sang PDF và hỗ trợ thêm các plugin dành cho trình đọc file Adobe Acrobat Pro
3 Thực hiện project
Sau một tháng được training và thực hành các kiến thức cơ bản, thực tập sinh đã nắm được những kiến thực cơ bản về C#, hình học 3D, các khái niệm về model structure trong 3D Trong hai tháng tiếp theo, trainer đã hướng dẫn thực tập sinh áp dụng những kiến thức đã học để thực hiện một project hoàn chỉnh
Chi tiết đồ án sẽ được nói ở phần sau
4 Lịch làm việc
Mức
độ hoàn thành
Nhận xét của người hướng dẫn
Trang 123-5
- Thực hành với thư viện
RVM của công ty:
property của từng item
trong hierarchy (node
trong treeview)
Anh Trần Minh Khoa
Trang 1310-11
Dựa vào tài liệu API
của Adobe Acrobat
Pro, thực hiện viết
thêm các plugin như
các button hỗ trợ
Anh Trần Minh Khoa
Trang 14xoay hình 3D, zoom
in, zoom out, đổi màu các khối hình, ẩn/hiện các khối hình được chọn, tìm kiếm theo tên các item…
12
Giai đoạn kết thúc, báo cáo :
- Fix bug, hoàn chỉnh
project
- Báo cáo cuối đợt
thực tập
Anh Trần Minh Khoa
Trang 15Chương 3: Chi tiết về project
1 Giới thiệu về project
Project là một phần mềm convert bản vẽ 3D từ RVM file sang PDF file Sử dụng các thư viện plugin của Adobe Acrobat Pro để hỗ trợ tương tác với trình đọc PDF của Adobe dễ dàng hơn
1.1 Màn hình ứng dụng winform
Mô tả:
- Tree view: hiển thị cấu trúc bản vẽ 3D dưới dạng treeview
- Import:
Trang 16+ File rvm: file bản vẽ 3D mở trên Naviswork
Trang 17+ File xml: file grid dưới dạng xml
Trang 18+ PDF Template: file PDF template dành cho bản vẽ sau khi convert
- Export:
+ Export all: Xuất tất cả bản vẽ ra file PDF
+ Export selected item: (export with neighbor: xuất bản vẽ với các chi tiết có liên quan với chi tiết đã chọn, export selected item only: xuất chi tiết đã chọn)
+ Export by Volume: Xuất bản vẽ theo toạ độ hình hộp dưới dạng 2 điểm min,
max
Trang 191.2 Màn hình file PDF được mở trên Adobe Acrobat Pro
Mô tả: Màn hình một chi tiết của bản vẽ 3D, bao gồm kích thước giữa các chi tiết nhỏ
Mô tả: Màn hình hiển thị đầy đủ bản vẽ 3D trên trình đọc file PDF của Adobe Các plugin thêm vào template là các button ( Hide, Show tương tác với item; Top, Right chỉnh chế độ xem)
Trang 20Mô tả: Màn hình bản vẽ đã cắt theo toạ độ cho trước
Trang 21TÀI LIỆU THAM KHẢO
For JavaScript™ for Acrobat® 3D Annotations API Reference
https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf
Trang 22TỔNG KẾT
Như vậy, trong vòng ba tháng, nhóm đã hoàn thành một ứng dụng convert bản vẽ 3D chạy trên ứng dụng Naviswork thành bản vẽ 3D PDF chạy trên Adobe Acrobat Pro với nhiều plugin hỗ trợ Ứng dụng được viết dựa trên thư viện RVM và PRC/PDF của công ty, hỗ trợ đo đạc kích thước các chi tiết kĩ thuật trong bản vẽ 3D
Chân thành cảm ơn sự giúp đỡ của anh Khoa trainer, sự nỗ lực của team 2 intership Intratech đã giúp em hoàn thành project này và có một kì thực tập chất lượng