1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lập trình tự động hóa thiết kế cơ khí trong phần mềm inventor professional

173 49 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lập Trình Tự Động Hóa Thiết Kế Cơ Khí Trong Phần Mềm Inventor Professional
Tác giả Huỳnh Văn Thành, Phan Đình Quý
Người hướng dẫn ThS. Nguyễn Quang Hiến
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Cơ Khí
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 173
Dung lượng 5,84 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU (13)
    • 1.1 Tính cấp thiết của đề tài (13)
    • 1.2 Ý nghĩa khoa học và thực tiễn của đề tài (13)
      • 1.2.1 Ý nghĩa khoa học (14)
      • 1.2.1 Ý nghĩa thực tiễn (14)
    • 1.3 Mục tiêu nghiên cứu của đề tài (14)
    • 1.4 Đối tượng và phạm vi nghiên cứu (15)
      • 1.4.1 Đối tượng (15)
      • 1.4.2 Phạm vi nghiên cứu (15)
    • 1.5 Phương pháp nghiên cứu (15)
      • 1.5.1 Cơ sở phương pháp luận (15)
      • 1.5.2 Các phương pháp nghiên cứu cụ thể (16)
    • 1.6 Kết cấu của ĐATN (16)
  • CHƯƠNG 2 TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI (18)
    • 2.1 Giới thiệu (18)
    • 2.2 Các nghiên cứu liên quan đến đề tài (18)
      • 2.2.1 Các nghiên cứu ngoài nước (18)
      • 2.2.2 Các nghiên cứu trong nước (19)
    • 2.3 Tồn tại của phần mềm (19)
  • CHƯƠNG 3 CƠ SỞ LÝ THUYẾT (21)
    • 3.1 Tự động hoá thiết kế cơ khí (21)
    • 3.2 Ngôn ngữ lập trình VB.NET và VBA (21)
    • 3.3 Phần mềm Inventor (21)
    • 3.4 Phần mềm Visual Basic (22)
    • 3.5 Phân tích yêu cầu và thiết kế (22)
      • 3.5.1 Phân tích yêu cầu cho Add-In (22)
      • 3.5.2 Thiết kế và triển khai Add-In trong phần mềm Inventor (23)
  • CHƯƠNG 4 PHƯƠNG HƯỚNG NGHIÊN CỨU (25)
  • CHƯƠNG 5 CÔNG CỤ LẬP TRÌNH ILOGIC (26)
    • 5.1 Giới thiệu (26)
    • 5.2 Cài đặt môi trường làm việc ilogic inventor (27)
      • 5.2.1 Tải và cài đặt Autodesk Inventor trên máy tính (27)
      • 5.2.2 Thiết lập cho iLogic (27)
    • 5.3 Tạo rule và viết mã code trên iLogic (29)
    • 5.4 Cấu trúc điều khiển trong iLogic Inventor (40)
      • 5.4.1 Cấu trúc điều kiện If...Then...Else (40)
      • 5.4.2 Cấu trúc vòng lặp (For, While) (41)
      • 5.4.3 Cấu trúc Select Case (44)
    • 5.5 Sử dụng hàm trong iLogic Inventor (46)
      • 5.5.1 Hàm Funtion (46)
      • 5.5.2 Sử dụng DocStrings (48)
    • 5.6 Template riêng (49)
      • 5.6.1 Custom property (50)
      • 5.6.2 Khung bản vẽ và Title Block (54)
    • 5.7 iProperty Check (56)
      • 5.7.1 Thêm một form vào Global Forms (56)
      • 5.7.2 Thêm mục tùy chỉnh vào Form (57)
    • 5.8 Tool iProperty Check (58)
    • 5.9 Rule xuất bản vẽ tự động và scale (63)
    • 5.10 Tool sắp xếp và căn giữa kích thước trong bản vẽ (71)
    • 5.11 Tool hiển thị các kích thước nhập tay (75)
    • 5.12 Tool tô đen tất cả các kích thước trong bản vẽ (78)
    • 5.13 Làm tròn số thập phân kích thước (80)
    • 5.14 Xóa tất cả các kích thước lỗi (84)
    • 5.15 Dim kích thước tự động (87)
    • 5.16 Tạo đường tâm (90)
    • 5.17 Kiểm tra điểm khác nhau của 2 phiên bản (90)
  • CHƯƠNG 6: LẬP TRÌNH XUẤT BẢN VẼ 2D TỰ ĐỘNG (98)
    • 6.1 Giới thiệu (98)
    • 6.2 API của Autodesk Inventor (98)
    • 6.3 Cách thực hiện (98)
    • 6.4 Kết quả thực nghiệm (106)
    • 6.5 Lợi ích và ứng dụng (108)
  • CHƯƠNG 7 BIÊN SOẠN BÀI TẬP (110)
    • 7.1 Sử dụng các công cụ đã tạo được để xuất bản vẽ tự động cho các chi tiết (110)
      • 7.1.1 Chi tiết AUTODRAWING1 (110)
      • 7.1.2 Chi tiết AUTODRAWING2 (114)
      • 7.1.3 Chi tiết AUTODRAWING3 (120)
      • 7.1.4 Chi tiết AUTODRAWING4 (126)
    • 7.2 Sử dụng công cụ để kiểm tra sự thay đổi của các chi tiết sau khi cập nhật lên phiên bản cao hơn (131)

Nội dung

GIỚI THIỆU

Tính cấp thiết của đề tài

Hiện nay, phần mềm thiết kế cơ khí đã trở thành công cụ quan trọng và cần thiết cho kỹ sư và nhà thiết kế Tuy nhiên, quá trình thực hiện từ tổng hợp thông tin, phân tích, thiết kế đến kiểm tra yêu cầu nhiều thời gian và công sức.

Lập trình tự động hóa thiết kế cơ khí trong phần mềm Inventor Professional là rất cần thiết để nâng cao hiệu quả và rút ngắn thời gian thiết kế Các tính năng và công cụ tự động hóa hỗ trợ kỹ sư và nhà thiết kế trong việc tự động tạo ra bản vẽ và phác thảo 3D, từ đó giảm thiểu sai sót và tăng cường độ chính xác trong quá trình thiết kế.

Tự động hóa thiết kế giúp tăng tốc độ và hiệu quả trong quá trình thiết kế cơ khí, đồng thời giảm thiểu thời gian tìm kiếm thông tin Với các tính năng như tự động hóa, kiểm tra, phân tích và lập kế hoạch sản xuất, Inventor Professional chứng tỏ giá trị thiết thực cho kỹ sư và nhà thiết kế cơ khí.

Tăng cường tính linh hoạt trong thiết kế nhờ tính năng tự động hoá cho phép người dùng dễ dàng điều chỉnh và thích ứng với các thiết kế Điều này không chỉ nâng cao hiệu quả công việc mà còn hỗ trợ trong việc thử nghiệm các giải pháp mới mà không cần phải khởi đầu lại từ đầu.

Tăng cường tính chính xác và độ tin cậy là một lợi ích quan trọng từ tính năng tự động hoá, giúp các kỹ sư và nhà thiết kế tạo ra các bản vẽ và phác thảo 3D chính xác hơn Điều này không chỉ nâng cao độ tin cậy của sản phẩm thiết kế mà còn cải thiện tính ổn định và giảm thiểu lỗi sai trong quá trình phát triển.

Sử dụng tự động hoá trong thiết kế không chỉ tiết kiệm thời gian mà còn giảm chi phí đáng kể so với phương pháp truyền thống Điều này nâng cao hiệu quả sản xuất và giảm thiểu chi phí ở các giai đoạn tiếp theo Do đó, nhóm chúng tôi đã quyết định chọn đề tài “Lập trình tự động hoá thiết kế cơ khí trong phần mềm Inventor Professional.”

Ý nghĩa khoa học và thực tiễn của đề tài

Nghiên cứu và phát triển công nghệ mới trong lập trình tự động hóa thiết kế cơ khí là một đề tài quan trọng, nhằm cải tiến hiệu suất và chất lượng thiết kế Đề tài này tập trung vào việc đề xuất và thực hiện các kỹ thuật và giải pháp đột phá, góp phần vào sự tiến bộ trong lĩnh vực này.

Đề tài này tập trung vào việc áp dụng các nguyên lý và lý thuyết từ khoa học máy tính và cơ khí để phát triển giải pháp thực tế, nhằm xây dựng và kiểm chứng các mô hình và thuật toán cho tự động hoá thiết kế cơ khí Kết quả nghiên cứu sẽ được chia sẻ với cộng đồng khoa học và các chuyên gia trong lĩnh vực cơ khí, góp phần mở rộng tri thức chung và thúc đẩy sự tiến bộ trong ngành.

Lập trình tự động hoá thiết kế cơ khí trong Inventor Professional không chỉ nâng cao hiệu suất làm việc mà còn giảm thiểu thời gian và công sức cho kỹ sư thiết kế Nhờ đó, năng suất được cải thiện và khả năng đáp ứng nhanh chóng với các yêu cầu thiết kế cũng được tăng cường.

Sử dụng lập trình tự động hóa trong thiết kế cơ khí giúp giảm thiểu lỗi và nâng cao độ chính xác, từ đó đảm bảo chất lượng và độ tin cậy của sản phẩm cơ khí.

Tự động hóa thiết kế cơ khí giúp tiết kiệm thời gian và tài nguyên, giảm chi phí sản xuất hiệu quả Các công cụ tự động hóa cho phép tái sử dụng và mang lại tiện ích trong việc tạo ra những thiết kế hoàn chỉnh và chính xác.

Sử dụng lập trình tự động hóa thiết kế trong Inventor Professional giúp tùy chỉnh quy trình thiết kế theo nhu cầu dự án, từ đó nâng cao khả năng thích ứng và linh hoạt Điều này cho phép tạo ra các sản phẩm cơ khí đa dạng, đáp ứng tốt hơn yêu cầu của khách hàng.

Mục tiêu nghiên cứu của đề tài

Mục tiêu của đề tài "Lập trình tự động hoá thiết kế cơ khí trong phần mềm Inventor Professional" là phát triển các chương trình add-in nhằm tự động hoá quy trình thiết kế cơ khí Những add-in này sẽ giúp giảm thời gian thiết kế, đồng thời nâng cao tính chính xác và độ tin cậy của sản phẩm cơ khí.

Cụ thể, các mục tiêu của đề tài bao gồm:

Phát triển các add-in để tạo ra các bản vẽ 2D và mô hình 3D của sản phẩm cơ khí tự động trong phần mềm Inventor Professional

Cung cấp các tính năng chức năng tự động để tạo ra các chi tiết cơ khí, mặt cắt, bảng kích thước và bảng bom

Phân tích và cải tiến quy trình thiết kế cơ khí hiện tại để tối ưu hóa quy trình thực hiện và tăng cường hiệu quả sản xuất

Nghiên cứu và đánh giá tính khả thi của việc sử dụng add-in là rất quan trọng để phát triển các giải pháp tiên tiến hơn, nhằm đáp ứng nhu cầu sản xuất và tăng cường khả năng cạnh tranh trên thị trường.

Đối tượng và phạm vi nghiên cứu

- Lập trình trên phần mềm Visual Studio 2022

- Thiết kế trên Inventor Professional 2022

- Sử dụng ngôn ngữ lập trình VB.Net

- Một số linh kiện chi tiết máy

- Lập trình tạo tham số cho các giá trị của chi tiết bằng iLogic

- Lập trình xuất bản vẽ 2D tự động

- Tạo một số Tool (Add in) giao tiếp qua IPA của Inventor.

Phương pháp nghiên cứu

1.5.1 Cơ sở phương pháp luận

Phương pháp này không chỉ tự động hóa và cải tiến quy trình thiết kế cơ khí mà còn nâng cao khả năng xuất bản vẽ tự động, từ đó nâng cao hiệu suất và chất lượng trong lĩnh vực này.

1.5.2 Các phương pháp nghiên cứu cụ thể

Phương pháp nghiên cứu này đặt mục tiêu xác định quy trình tự động hoá và xuất bản vẽ kỹ thuật cơ khí

Nghiên cứu được tiến hành bằng việc khám phá tính năng và khả năng tự động hoá trong phần mềm Inventor

Sử dụng Visual Studio, tạo ứng dụng và công cụ phụ trợ cho Inventor để đạt được tự động hoá và xuất bản vẽ tự động

Công cụ và ứng dụng mới được phát triển dựa trên Inventor API và khung lập trình của Visual Studio

Kết quả của quá trình tự động hoá và xuất bản vẽ tự động được đánh giá về hiệu quả, chính xác và tiết kiệm thời gian.

Kết cấu của ĐATN

Đồ án tốt nghiệp gồm 7 chương, với chương 1 nêu rõ tính cấp thiết của đề tài, mục tiêu nghiên cứu, đối tượng và phạm vi nghiên cứu cùng phương pháp nghiên cứu Chương 2 tập trung vào tổng quan nghiên cứu, phân tích tình hình nghiên cứu liên quan đến đề tài cả trong nước và quốc tế.

Chương 3 của bài viết trình bày cơ sở lý thuyết và mục đích của đề tài, đồng thời khảo sát tình hình nghiên cứu hiện nay Chương 4 nêu ra các phương hướng nghiên cứu liên quan đến đề tài Trong chương 5, công cụ lập trình iLogic trong phần mềm Inventor được giới thiệu, kèm theo hướng dẫn cài đặt và sử dụng Bài viết cũng đề cập đến việc viết các Rule để tự động hóa quá trình xuất bản vẽ, bao gồm việc tạo template riêng, xuất bản vẽ tự động, tính toán tỉ lệ scale, tạo đường tâm cho các hình chiếu, kiểm tra thông tin bản vẽ, dim kích thước, sắp xếp và kiểm tra kích thước lỗi, cũng như hiển thị kích thước nhập tay Cuối cùng, công cụ iLogic được ứng dụng để kiểm tra sự khác biệt giữa hai chi tiết sau khi được nâng cấp lên phiên bản cao hơn.

Trong chương 6, nghiên cứu ngôn ngữ lập trình VBA nhằm ứng dụng xuất bản vẽ tự động thông qua công cụ lập trình iLogic, đánh giá các điểm mạnh và điểm yếu của phương pháp này Tiếp theo, ở chương 7, biên soạn bài tập dựa trên các công cụ đã phát triển để áp dụng xuất bản vẽ tự động cho các chi tiết trong phần mềm Inventor, đồng thời kiểm tra sự khác biệt giữa các chi tiết có cùng chức năng nhưng thuộc phiên bản cao hơn.

TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI

Giới thiệu

Dự án "Lập trình tự động hoá thiết kế cơ khí trong phần mềm Inventor Professional" nhằm phát triển các giải pháp và công cụ tự động hoá quy trình thiết kế cơ khí Mục tiêu chính của đề tài là nâng cao hiệu suất thiết kế, đảm bảo tính đồng nhất, giảm thiểu lỗi và tiết kiệm thời gian cũng như chi phí trong quá trình thiết kế cơ khí.

Đề tài nghiên cứu và phát triển các phương pháp và công nghệ tự động hóa trong quy trình thiết kế cơ khí, bao gồm tự động tạo bản vẽ kỹ thuật, kiểm tra thông tin bản vẽ, tối ưu hóa bước nhập và sắp xếp kích thước Nghiên cứu cũng phát triển các công cụ trong phần mềm Inventor Professional nhằm tự động hóa thiết kế cơ khí Đề tài này có ý nghĩa quan trọng trong việc cải thiện quy trình thiết kế cơ khí, với ứng dụng rộng rãi trong ngành công nghiệp cơ khí, góp phần vào sự phát triển của lĩnh vực này.

Các nghiên cứu liên quan đến đề tài

2.2.1 Các nghiên cứu ngoài nước

Trên thị trường quốc tế, các công ty thiết kế cơ khí như Boeing, Airbus và Bombardier Aerospace sử dụng phần mềm CAD/CAM để tối ưu hóa quá trình thiết kế và sản xuất sản phẩm cơ khí Việc áp dụng công nghệ này giúp giảm chi phí, rút ngắn thời gian sản xuất và nâng cao độ chính xác, từ đó giúp sản phẩm đáp ứng tốt hơn nhu cầu thị trường và tăng cường khả năng cạnh tranh.

Các công ty hàng đầu trong ngành sản xuất thiết bị và linh kiện cơ khí, như Siemens, Dassault Systemes và Autodesk, đã đầu tư mạnh mẽ vào việc nghiên cứu và phát triển phần mềm thiết kế cơ khí, nhằm hỗ trợ tự động hóa trong quy trình thiết kế và sản xuất.

Sử dụng tự động hoá thiết kế cơ khí mang lại nhiều lợi ích, nhưng cũng đối mặt với một số thách thức Một trong những thách thức lớn nhất là yêu cầu về khả năng lập trình và vận hành phần mềm, điều này đòi hỏi người vận hành phải có kiến thức và kinh nghiệm chuyên sâu.

6 sử dụng tự động hoá thiết kế cơ khí còn tạo ra một số vấn đề liên quan đến bản quyền tác phẩm và an toàn thông tin

Việc áp dụng tự động hoá trong thiết kế cơ khí là rất quan trọng để nâng cao hiệu quả sản xuất và tăng cường khả năng cạnh tranh trên thị trường Để tối ưu hóa giải pháp tự động hoá, các công ty cần đầu tư vào đào tạo và nâng cao kỹ năng cho nhân viên, đồng thời tìm kiếm các phần mềm thiết kế cơ khí phù hợp.

2.2.2 Các nghiên cứu trong nước

Tự động hoá thiết kế cơ khí đang trở thành xu hướng phổ biến toàn cầu trong thời đại công nghiệp 4.0 Sự phát triển công nghệ đã mang lại nhiều giải pháp tự động hóa cho các bước thiết kế và sản xuất sản phẩm cơ khí Nhiều công ty thiết kế cơ khí hiện nay sử dụng phần mềm CAD/CAM và phần mềm thiết kế 3D để giảm thời gian thiết kế và linh hoạt hơn trong việc đáp ứng các yêu cầu khác nhau.

Tự động hoá thiết kế cơ khí tại Việt Nam vẫn còn mới mẻ và chưa phát triển mạnh mẽ Ngành công nghiệp cơ khí đang trong quá trình cải tiến, áp dụng các phần mềm mới nhằm nâng cao hiệu quả sản xuất.

Mặc dù một số công ty Việt Nam đã áp dụng phần mềm CAD/CAM, nhưng tỷ lệ sử dụng phần mềm tự động hóa thiết kế cơ khí vẫn còn hạn chế.

Trong bối cảnh hội nhập kinh tế quốc tế, Việt Nam đang tích cực phát triển ngành công nghiệp cơ khí Để nâng cao sức cạnh tranh và đáp ứng nhu cầu sản xuất cơ khí trong và ngoài nước, việc áp dụng các giải pháp tự động hóa cùng với công nghệ cơ khí tiên tiến là rất cần thiết.

Tự động hoá thiết kế cơ khí đang trở thành xu hướng phát triển toàn cầu, và Việt Nam cũng đang nỗ lực nghiên cứu và áp dụng công nghệ cơ khí mới nhằm nâng cao hiệu quả sản xuất và tăng cường sức cạnh tranh trên thị trường.

Tồn tại của phần mềm

Mặc dù các công cụ tự động hóa trong phần mềm Inventor, chẳng hạn như Add-In và iLogic, mang lại nhiều lợi ích cho thiết kế cơ khí, nhưng vẫn tồn tại một số hạn chế và thách thức cần được khắc phục.

Các kích thước bố trí trong phần mềm Inventor chưa hoàn toàn phù hợp, mặc dù các công cụ tự động hóa có khả năng tạo ra các kích thước tự động Tuy nhiên, đôi khi chúng không đáp ứng được yêu cầu thiết kế.

Bản vẽ hiện tại chưa đạt được giá trị thẩm mỹ cần thiết, điều này có thể yêu cầu kỹ sư can thiệp thủ công để điều chỉnh và tối ưu hóa kích thước.

Giá trị của các kích thước trong thiết kế 3D phụ thuộc vào trình độ và kỹ năng của kỹ sư trong việc vẽ và dựng file Tính chính xác của các kích thước do công cụ tự động hóa tạo ra sẽ bị ảnh hưởng lớn nếu kỹ sư không có kiến thức và kỹ năng đầy đủ, dẫn đến kết quả không đạt yêu cầu mong muốn.

Mặc dù công cụ tự động hóa hỗ trợ trong việc tạo ra các bản vẽ hoàn chỉnh, nhưng kiến thức và kinh nghiệm của kỹ sư vẫn là yếu tố quyết định để đảm bảo tính chính xác và thẩm mỹ Việc áp dụng và điều chỉnh các quy tắc thiết kế cùng quy cách kỹ thuật một cách thông minh là cần thiết để đáp ứng yêu cầu cụ thể của từng dự án.

Sự tồn tại của phần mềm tự động hóa thiết kế cơ khí trong Inventor đang đặt ra thách thức cho các nhà phát triển và người dùng Tuy nhiên, với sự tiến bộ công nghệ và nâng cao kỹ năng của người sử dụng, có hy vọng rằng các công cụ này sẽ được cải tiến liên tục, mang lại khả năng tạo ra các bản vẽ kỹ thuật chính xác, thẩm mỹ và hoàn toàn tự động.

CƠ SỞ LÝ THUYẾT

Tự động hoá thiết kế cơ khí

Trong lĩnh vực kỹ thuật cơ khí, tự động hoá thiết kế đã trở thành xu hướng quan trọng nhằm nâng cao hiệu suất và rút ngắn thời gian thiết kế Quá trình này áp dụng công nghệ và phương pháp để tự động hóa các tác vụ từ tạo mô hình 3D đến bản vẽ chi tiết, giúp giảm công sức và thời gian cho nhà thiết kế Tự động hoá cũng tăng cường tính chính xác và khả năng linh hoạt trong thiết kế cơ khí.

Ngôn ngữ lập trình VB.NET và VBA

Ngôn ngữ lập trình VB.NET (Visual Basic NET) và VBA (Visual Basic for Applications) là hai công cụ phổ biến trong phát triển ứng dụng và tiện ích cho phần mềm Inventor VB.NET nổi bật với tính năng lập trình hướng đối tượng mạnh mẽ và linh hoạt, giúp các nhà phát triển dễ dàng tạo ra các Add-ins tùy chỉnh và nâng cao hiệu suất làm việc.

VBA là ngôn ngữ lập trình kịch bản giúp tự động hoá các tác vụ trong phần mềm Inventor và các ứng dụng Microsoft Office khác Việc sử dụng VBA cho phép người dùng tạo ra các tiện ích mở rộng, nâng cao hiệu suất làm việc và tối ưu hóa quy trình thiết kế trong Inventor.

Sử dụng VB.NET và VBA để phát triển Add-In và iLogic trong phần mềm Inventor giúp các nhà phát triển tận dụng tối đa tính năng của Inventor, từ đó tự động hoá các tác vụ thiết kế cơ khí Các ngôn ngữ lập trình này cung cấp thư viện và công cụ hỗ trợ cho việc tương tác với giao diện người dùng, truy cập dữ liệu và tài nguyên của Inventor, cũng như thực hiện các tác vụ tự động hoá theo yêu cầu thiết kế.

Phần mềm Inventor

Phần mềm Inventor là một giải pháp CAD mạnh mẽ cho kỹ thuật cơ khí, cho phép người dùng tạo, chỉnh sửa và phân tích mô hình 3D Với khả năng tạo bản vẽ chi tiết và thực hiện các phân tích kỹ thuật, Inventor mang đến giao diện người dùng thân thiện cùng nhiều công cụ hỗ trợ thiết kế hiệu quả.

Việc sử dụng phần mềm Inventor trong nghiên cứu này giúp chúng tôi khai thác tối đa các tính năng và chức năng của phần mềm, đồng thời phát triển Add-In và iLogic bằng VB.NET và VBA để tự động hóa quy trình thiết kế cơ khí.

Phần mềm Inventor cung cấp các công cụ mạnh mẽ cho việc tạo mô hình 3D, bản vẽ chi tiết và quản lý thông tin thiết kế Nó hỗ trợ xử lý các ràng buộc kỹ thuật và cho phép tương tác hiệu quả với các thành phần cơ khí trong quá trình thiết kế.

Việc kết hợp Inventor với ngôn ngữ lập trình VB.NET và VBA giúp tự động hóa thiết kế cơ khí một cách linh hoạt và hiệu quả Sự kết hợp này không chỉ nâng cao hiệu suất làm việc mà còn mở ra nhiều cơ hội phát triển và ứng dụng trong ngành công nghiệp cơ khí.

Phần mềm Visual Basic

Phần mềm Visual Basic là một môi trường phát triển ứng dụng (Integrated Development Environment - IDE) được sử dụng để xây dựng các ứng dụng và Add-

Ngôn ngữ lập trình Visual Basic cung cấp các công cụ và tài liệu hỗ trợ phát triển ứng dụng Windows, bao gồm cả việc tích hợp với phần mềm Inventor.

Sử dụng Visual Basic trong phát triển Add-In cho Inventor giúp tận dụng sức mạnh của ngôn ngữ lập trình này và các tính năng của IDE để tạo ra ứng dụng chất lượng cao Visual Basic cung cấp công cụ mạnh mẽ cho việc xây dựng giao diện người dùng trực quan, quản lý tác vụ và sự kiện, cũng như tương tác hiệu quả với các thành phần của phần mềm Inventor.

Việc sử dụng Visual Basic cho phép thiết kế và triển khai linh hoạt các chức năng tự động hóa trong Add-In Các tính năng như gỡ lỗi, kiểm tra lỗi và tối ưu hóa mã nguồn của Visual Basic hỗ trợ quan trọng trong phát triển và duy trì ứng dụng Sự kết hợp giữa phần mềm Inventor, ngôn ngữ lập trình VB.NET và VBA, cùng với Visual Basic tạo ra một môi trường lập trình mạnh mẽ và linh hoạt cho việc phát triển Add-In tự động hóa thiết kế cơ khí trong Inventor.

Việc áp dụng phần mềm Visual Basic trong nghiên cứu này mang lại tính linh hoạt, tăng tốc độ và khả năng mở rộng cho Add-In, qua đó cải thiện hiệu suất và khả năng đáp ứng nhu cầu của ngành công nghiệp cơ khí.

Phân tích yêu cầu và thiết kế

3.5.1 Phân tích yêu cầu cho Add-In

Trước khi thiết kế và triển khai Add-In và iLogic trong phần mềm Inventor, cần phân tích yêu cầu để đảm bảo công cụ đáp ứng mục tiêu đề tài Đầu tiên, Add-In và iLogic phải tự động hóa quá trình thiết kế cơ khí, bao gồm việc tạo bản vẽ kỹ thuật từ mô hình 3D và áp dụng quy tắc thiết kế Thứ hai, công cụ cần hỗ trợ xuất hàng loạt bản vẽ kỹ thuật từ nhiều file 3D khác nhau, giúp tiết kiệm thời gian và giảm thiểu công việc lặp lại Thứ ba, việc tích hợp với phần mềm Inventor phải thuận tiện và mượt mà, đảm bảo người dùng có thể sử dụng công cụ tự động hóa dễ dàng trong quy trình làm việc Cuối cùng, Add-In và iLogic cần được thiết kế linh hoạt và mở rộng, cho phép người dùng tùy chỉnh và thay đổi quy tắc thiết kế cũng như mở rộng chức năng theo yêu cầu cụ thể của dự án.

3.5.2 Thiết kế và triển khai Add-In trong phần mềm Inventor Để thiết kế và triển khai Add-In và iLogic trong phần mềm Inventor, ta cần xác định một số yếu tố quan trọng sau: a) Kiến trúc Add-In: Thiết kế kiến trúc của Add-In bao gồm các thành phần chính như giao diện người dùng, xử lý sự kiện, tương tác với phần mềm Inventor và các tính năng chức năng khác Kiến trúc này phải được thiết kế sao cho linh hoạt và có thể mở rộng để thích ứng với các yêu cầu thay đổi và mở rộng trong quá trình thiết kế cơ khí b) Xác định chức năng và quy tắc thiết kế: Ta cần xác định các chức năng cụ thể mà Add-In và iLogic sẽ tự động hoá trong quá trình thiết kế cơ khí Đồng thời, cần xác định các quy tắc thiết kế và ràng buộc để đảm bảo tính chính xác và tuân thủ quy trình thiết kế c) Lập trình và triển khai: Sử dụng ngôn ngữ lập trình VB.NET và VBA, ta sẽ lập trình các thành phần Add-In và iLogic Các công cụ và kịch bản tự động sẽ

Công cụ tự động hóa thiết kế cơ khí hoàn chỉnh đã được triển khai và tích hợp vào phần mềm Inventor Sau khi triển khai, việc kiểm thử và tối ưu hóa Add-In và iLogic là cần thiết để đảm bảo các chức năng hoạt động chính xác, tương thích với phần mềm Inventor, đồng thời đáp ứng các yêu cầu và mục tiêu đã xác định trong đề tài.

Thiết kế và triển khai Add-In và iLogic trong phần mềm Inventor yêu cầu kiến thức về thiết kế cơ khí và kỹ năng lập trình Khi đáp ứng các yêu cầu và thiết kế hiệu quả, chúng ta có thể phát triển công cụ tự động hóa mạnh mẽ và linh hoạt, giúp nâng cao hiệu suất và hiệu quả trong quá trình thiết kế cơ khí.

PHƯƠNG HƯỚNG NGHIÊN CỨU

Để nghiên cứu đề tài "Lập trình tự động hoá thiết kế cơ khí trong phần mềm Inventor Professional", có thể áp dụng nhiều phương pháp và công cụ hữu ích.

Tìm hiểu về công nghệ tự động hoá thiết kế cơ khí và các công cụ phần mềm CAD/CAM như phần mềm Inventor Professional

Tìm hiểu về ngôn ngữ lập trình và tích hợp phần mềm Inventor Professional với ngôn ngữ lập trình như: VBA, VB.NET

Thu thập thông tin từ các công ty và doanh nghiệp trong lĩnh vực thiết kế cơ khí nhằm tìm hiểu quy trình thiết kế hiện tại, cách sử dụng các công cụ phần mềm trong quy trình này, cũng như những khó khăn và thách thức mà họ gặp phải trong quá trình thiết kế.

Phát triển add-in cho phần mềm Inventor Professional dựa trên ngôn ngữ lập trình và tích hợp các tính năng và chức năng cải tiến lên phần mềm

Thực hiện kiểm thử add-in trên các bản vẽ và thiết kế thực tế để đánh giá hiệu quả và tính đúng đắn của add-in

Tổng hợp kết quả nghiên cứu cho thấy tính khả thi của việc triển khai add-in là khả quan Đánh giá chi tiết đã chỉ ra những lợi ích và thách thức trong quá trình thực hiện Đề xuất các cải tiến tiếp theo nhằm tối ưu hóa hiệu suất và đáp ứng nhu cầu người dùng là cần thiết.

Nghiên cứu này sẽ tiến hành phân tích, thiết kế, phát triển, kiểm tra và đánh giá hiệu quả của add-in Kết quả đạt được sẽ hỗ trợ các doanh nghiệp và công ty thiết kế cơ khí trong việc tối ưu hóa quy trình sản xuất và nâng cao năng suất lao động.

Các bước để nghiên cứu xuất bản vẽ 2D tự động cho công cụ iLogic và ngôn ngữ Visual Basic

CÔNG CỤ LẬP TRÌNH ILOGIC

Giới thiệu

iLogic là một công cụ lập trình tích hợp trong phần mềm Autodesk Inventor, một phần mềm thiết kế cơ khí 3D nổi tiếng do Autodesk phát triển Được giới thiệu lần đầu vào năm 2009, iLogic giúp tối ưu hóa quy trình thiết kế và tự động hóa các tác vụ trong Inventor.

iLogic, ra mắt vào năm 2010, là một công cụ hỗ trợ người dùng trong việc cấu hình và tự động hóa thiết kế Với iLogic, người dùng có thể tạo ra các quy tắc cấu hình và tự động hóa, sau đó áp dụng chúng cho các bộ phận hoặc tài liệu Việc xây dựng các quy tắc này được thực hiện thông qua ngôn ngữ lập trình iLogic, nổi bật với tính đơn giản và dễ hiểu.

Công cụ iLogic là một phần mềm quan trọng cho các đội ngũ thiết kế và sản xuất, giúp tự động hóa quy trình thiết kế và sản xuất Được tích hợp trong phần mềm Autodesk Inventor, iLogic sử dụng ngôn ngữ lập trình Visual Basic (VBA) cho phép người dùng tạo ra các quy tắc, điều kiện và công thức nhằm tùy chỉnh và tối ưu hóa quy trình thiết kế.

Các quy tắc iLogic được thiết kế nhằm tối ưu hóa thời gian và nguồn lực trong quá trình thực hiện các tác vụ, đồng thời cải thiện độ chính xác và tính đồng nhất của sản phẩm, giảm thiểu sai sót do con người trong thiết kế.

Các quy tắc iLogic nâng cao tính ứng dụng của phần mềm Inventor, cho phép người dùng tùy chỉnh các tính năng để đáp ứng nhu cầu cụ thể của doanh nghiệp hoặc ngành công nghiệp.

Công cụ iLogic không chỉ tạo ra quy trình chuyên nghiệp và dễ quản lý, mà còn cho phép người dùng tùy chỉnh các quy tắc trên máy tính Điều này góp phần nâng cao khả năng ra quyết định thông minh và tăng cường tính cạnh tranh cho doanh nghiệp.

Công cụ iLogic là giải pháp thiết yếu cho việc tự động hóa quy trình thiết kế và sản xuất, giúp nâng cao độ chính xác và tính đồng nhất, đồng thời giảm thiểu sai sót do con người gây ra và cải thiện hiệu suất công việc Bên cạnh đó, iLogic cung cấp tính linh hoạt và khả năng tùy chỉnh cao, phù hợp với nhu cầu đa dạng của khách hàng.

Cài đặt môi trường làm việc ilogic inventor

Để cài đặt môi trường làm việc iLogic trong phần mềm Autodesk Inventor, ta cần thực hiện các bước sau:

5.2.1 Tải và cài đặt Autodesk Inventor trên máy tính

Hình 5 1 Giao diện phần mềm Inventor 5.2.2 Thiết lập cho iLogic

Mở phần mềm Autodesk Inventor và chọn "Tools" ở thanh menu trên cùng của giao diện Sau đó, chọn "Add-Ins"

Hình 5 2 Thiết lập cho iLogic Trong hộp thoại "Add-Ins Manager", tìm kiếm và chọn iLogic trong danh sách các add-in có sẵn trong phần mềm

Chọn "Load Automatically" để iLogic được tự động tải mỗi khi mở phần mềm Inventor

Chọn "OK" để lưu các thay đổi và thoát khỏi hộp thoại "Add-Ins Manager"

Sau khi hoàn tất các bước trên, ta đã có thể sử dụng iLogic để thiết kế và cấu hình các bộ phận hoặc tài liệu trong Autodesk Inventor.

Tạo rule và viết mã code trên iLogic

Để tạo một External Rule (Rule bên ngoài) trong Inventor, ta cần thực hiện các bước sau:

Mở Inventor và mở một bản vẽ hoặc tài liệu

Hình 5 5 Mở bản vẽ Nhấn vào tab "iLogic", chọn "External Rules "

To create a new external rule, click on the "Create New External Rules" button and navigate to the location where you want to save the vb or dll file intended for use as an external rule.

Hình 5 7 Nhập tên cho External Rule Nhập tên cho External Rule và chọn tùy chọn "iLogic Ruke Files"

Nhấp vào nút "OK" để lưu cấu hình External Rule

Sau khi hoàn thành việc tạo External Rule, bạn có thể áp dụng nó trong các quy trình iLogic bằng cách gọi các hàm và phương thức đã được định nghĩa trong External Rule.

Chúng ta có thể tạo một ví dụ để hiển thị hộp thoại nhập thông số kích thước cho một chi tiết, bao gồm ba thông số chính: Chiều rộng (Width), Chiều dài (Length) và Chiều cao (Height).

Làm theo các bước ta có thể tạo một cái rule mới như sau:

Tạo một file part mới đặt tên là Part1

16 Hình 5 8 Tạo một file part mới

Vẽ sketch để lấy thông số chiều dài và chiều rộng trong Parameters

Hình 5 9 Vẽ sketch Để truy cập danh sách các thông số parameter trong Autodesk Inventor, ta chọn tab "Manage" và bấm nút "Parameters"

Hình 5 10 Các thông số parameter

Tất cả các thông số parameter của bộ phận được liệt kê theo thứ tự và có thể tìm kiếm thông số parameter muốn chỉnh sửa

Chúng ta cần thay đổi tên của một thông số parameter trong danh sách, cụ thể là chọn thông số và đổi tên thành “Width, Length, Extrusion1” theo hình minh họa.

Tiếp đến tạo mới một file rule để nhập code

Hình 5 11 Tạo mới một file rule

Ta chọn đường dẫn lưu file và tên

Hình 5 12 Chọn đường dẫn lưu file và tên

Phần mềm sẽ hiển thị hộp thoại để người dùng có thể nhập code vào và lưu lại

Hình 5 13 Giao diện phần nhập code

' Lấy thông tin về bộ phận hiện tại

Dim partDoc As PartDocument partDoc = ThisDoc.Document

' Lấy thông tin về các thông số chiều dài và rộng

Dim widthParam As Parameter widthParam = partDoc.ComponentDefinition.Parameters.Item("Width")

Dim lengthParam As Parameter lengthParam = partDoc.ComponentDefinition.Parameters.Item("Length")

Dim Extrusion1Param As Parameter

Extrusion1Param = partDoc.ComponentDefinition.Parameters.Item("Extrusion1")

' Yêu cầu người dùng nhập chiều rộng mới

Dim newWidth As Double newWidth = InputBox("Nhập chiều rộng mới (cm):") widthParam.Value = newWidth

' Yêu cầu người dùng nhập chiều dài mới

Dim newLength As Double newLength = InputBox("Nhập chiều dài mới (cm):") lengthParam.Value = newLength

' Yêu cầu người dùng nhập giá trị Extrusion

Dim newExtrusion1 As Double newExtrusion1 = InputBox("Nhập giá trị Extrusion1(cm):")

Sau khi lưu ta nhấn chuột phải vào file đó là chọn Run Rule để chạy đoạn code

Hình 5 14 Run Rule nhập chiều dài và chiều rộng của chi tiết Nhập chiều rộng: 30mm

22 Hình 5 15 Nhập chiều dài Nhập chiều dài: 40mm

Hình 5 16 Nhập giá trị Extrude Nhập giá trị Extrude: 50mm

Sau cùng ta thu được kết quả như mình mong muốn

Hình 5 17 Kết quả ví dụ nhập kích thước để tạo khối

Cấu trúc điều khiển trong iLogic Inventor

Cấu trúc điều khiển trong iLogic Inventor bao gồm các lệnh, câu lệnh điều kiện và vòng lặp, giúp kiểm soát thứ tự thực hiện hành động và quy trình tự động trong Inventor Những câu lệnh và cấu trúc cơ bản này cho phép thực hiện các quy trình tự động hóa phức tạp, nâng cao hiệu quả làm việc trong Inventor.

5.4.1 Cấu trúc điều kiện If Then Else Được sử dụng để kiểm tra một điều kiện và thực hiện các hành động tương ứng khi điều kiện đúng hoặc sai Ví dụ cấu trúc điều kiện If Then Else trong iLogic Inventor như sau:

- : là biểu thức logic phải trả về giá trị True hoặc False

- : là một chuỗi các thủ tục hoặc lệnh được thực hiện nếu điều kiện là True

- : là một chuỗi các thủ tục hoặc lệnh được thực hiện nếu điều kiện là False

MsgBox("x nhỏ hơn hoặc bằng 5")

Chương trình kiểm tra giá trị của biến 'x' và hiển thị thông báo dựa trên điều kiện Nếu 'x' lớn hơn 5, nó sẽ thông báo "x lớn hơn 5" Ngược lại, nếu 'x' nhỏ hơn hoặc bằng 5, chương trình sẽ hiển thị "x nhỏ hơn hoặc bằng 5".

Hình 5 18 Bảng thông báo kết quả 5.4.2 Cấu trúc vòng lặp (For, While)

Sử dụng để lặp lại các hành động cho đến khi một điều kiện nào đó được đáp ứng hoặc cho đến khi việc lặp đã hoàn tất

For i = [giá trị bắt đầu] To [giá trị kết thúc] Step [bước nhảy] [Các lệnh được thực thi trong vòng lặp]

‘i’ là biến đếm của vòng lặp

‘[giá trị bắt đầu]’ là giá trị mà biến đếm ‘i’ bắt đầu với

‘[giá trị kết thúc]’ là giá trị mà biến đếm ‘i’ kết thúc với

‘[bước nhảy]’ là khoảng cách giữa các giá trị của biến đếm ‘i’

'Hiển thị mỗi giá trị của biến i lên box

Hình 5 19 Kết quảVòng lặp While:

[Các lệnh được thực thi trong vòng lặp]

Điều kiện là yếu tố được kiểm tra ở đầu mỗi lần lặp Nếu điều kiện này đúng (true), lệnh trong vòng lặp sẽ được thực hiện; ngược lại, nếu điều kiện sai (false), vòng lặp sẽ kết thúc.

'Hiển thị mỗi giá trị của biến i lên cửa sổ

Trong iLogic của Inventor, bạn có thể thực hiện hành động dựa trên giá trị được chọn từ danh sách các giá trị khả thi Cấu trúc cú pháp của Select Case trong iLogic được sử dụng để xử lý tình huống này.

'thực hiện một số hành động nếu x = 1

'thực hiện một số hành động nếu x = 2

'thực hiện một số hành động nếu không có trường hợp nào được đáp ứng End Select

MsgBox("Không phải ngày trong tuần")

Hình 5 21 Kết quả của ví dụ cấu trúc Select Case Kết quả sẽ là "Thứ hai”, vì biến ‘dayOfWeek’ có giá trị là 2

Ta có thể sử dụng các hằng số hay biến để thay cho các giá trị trong cặp

‘Case’ Câu lệnh ‘Case’ có thể được liệt kê thêm ở nhiều dòng, hoặc có thể chứa nhiều giá trị được phân biệt bằng các dấu phẩy

Cấu trúc điều khiển while do

Trong iLogic của Inventor, cấu trúc điều khiển While Do cho phép lặp lại một tác vụ khi điều kiện vẫn còn đúng Cấu trúc này giúp tối ưu hóa quy trình làm việc và tăng cường hiệu quả trong thiết kế.

'Thực hiện các tác vụ trong vòng lặp'

Trong đó ‘‘ là một biểu thức hoặc một biến Logic trả về giá trị

Vòng lặp sẽ được thực hiện khi điều kiện đúng và các tác vụ trong vòng lặp sẽ tiếp tục cho đến khi điều kiện trở thành sai.

Ví dụ: Ta muốn lặp lại một tác vụ liên tục cho đến khi người dùng nhấn No

Ta có thể sử dụng cấu trúc while do như sau:

Do While MsgBox("Bạn có muốn tiếp tục không?", vbYesNo) = vbYes

'Thực hiện các tác vụ trong vòng lặp'

Khi người dùng nhấn Cancel, Msgbox trả về giá trị vbNo, dẫn đến điều kiện trong vòng lặp trở thành False và kết thúc vòng lặp Ngược lại, nếu người dùng chọn Yes, các tác vụ trong vòng lặp sẽ được thực hiện lại.

Hình 5 22 Bảng thông báo lựa chọn Yes hoặc No

Đảm bảo rằng trong cấu trúc vòng lặp, điều kiện sẽ trở thành False tại một thời điểm nhất định để tránh vòng lặp vô hạn, gây lỗi hoặc treo ứng dụng Cần cập nhật điều kiện một cách chính xác trong các tác vụ bên trong vòng lặp.

Sử dụng hàm trong iLogic Inventor

Trong iLogic của Inventor, bạn có khả năng sử dụng hàm để thực hiện các tác vụ cụ thể và có thể gọi lại hàm đó nhiều lần trong mã Việc viết hàm trong iLogic tương tự như cách viết hàm trong các ngôn ngữ lập trình khác.

Function (, , , ) As

Return

‘‘ là tên của hàm mà bạn muốn đặt

Các tham số là biến đầu vào của hàm, được phân cách bằng dấu phẩy Mỗi tham số bao gồm tên và kiểu dữ liệu, và bạn có thể không chỉ định tham số nào nếu hàm không yêu cầu.

‘‘ là kiểu dữ liệu của giá trị mà hàm trả về Nếu hàm không có giá trị trả về, sử dụng từ khóa ‘Sub’

Các tín hiệu và lệnh trong hàm là những chỉ thị được thực hiện khi hàm được gọi Bạn có thể áp dụng nhiều tín hiệu và lệnh khác nhau để thực hiện các tác vụ cụ thể trong hàm.

Giá trị trả về là giá trị mà hàm cung cấp sau khi thực hiện xong Giá trị này cần phải tương thích với kiểu dữ liệu đã được chỉ định trong khai báo hàm Nếu hàm không yêu cầu trả về giá trị, bạn có thể không cần cung cấp giá trị đó.

Chú ý: Các kiểu giá trị của Hàm Function trong iLogic của Inventor bao gồm:

Boolean: Giá trị đúng/sai, được sử dụng trong các câu lệnh logic

Integer: Kiểu số nguyên, được sử dụng trong các phép toán số học không có số thập phân

Double: Kiểu số thực, được sử dụng trong các phép toán số học có số thập phân

String: Kiểu chuỗi ký tự, được sử dụng để lưu trữ và xử lý các dữ liệu dạng văn bản

Object: Kiểu đối tượng, được sử dụng để đại diện cho các đối tượng tự động hóa hoặc các đối tượng trong mô hình thiết kế của Inventor

Array: Kiểu mảng, được sử dụng để lưu trữ danh sách các giá trị của cùng một kiểu dữ liệu

Các kiểu giá trị này sẽ phụ thuộc vào mục đích sử dụng của hàm Function trong iLogic và tùy thuộc vào mô hình thiết kế của Inventor

Function AddNumbers(num1 As Double, num2 As Double) As Double

Chúng ta đã xây dựng một hàm có tên là AddNumbers để thực hiện phép cộng hai số và trả về kết quả Trong thủ tục Main, hàm này được gọi với hai đối số và kết quả được hiển thị trong một hộp thoại MessageBox.

Hình 5 23 Kết quả hàm Funtion

Trong iLogic của Inventor, bạn có thể tận dụng các hàm có sẵn, bao gồm hàm tài liệu, hàm đối tượng như Part, Assembly, Drawing, cùng với các hàm liên quan đến tệp tin như File và Path, cũng như các hàm toán học, chuỗi và nhiều loại hàm khác.

DocStrings trong iLogic Inventor là chuỗi đặc biệt mô tả chức năng hoặc cách sử dụng của hàm, quy trình hoặc đoạn mã Chuỗi này được đặt ở đầu định nghĩa hàm hoặc quy trình và được bao quanh bởi hai dấu nháy kép.

Function CalculateDistance(x1 As Double, y1 As Double, z1 As Double, x2 As Double, y2 As Double, z2 As Double) As Double

Dim distance As Double distance = Math.Sqrt((x1 - x2) ^ 2 + (y1 - y2) ^ 2 + (z1 - z2) ^ 2)

Trong bài viết này, chúng ta sẽ tìm hiểu về cách sử dụng DocStrings để mô tả hàm CalculateDistance, có chức năng tính toán khoảng cách giữa hai điểm trong không gian ba chiều Hàm này nhận sáu tham số đầu vào, bao gồm tọa độ của điểm thứ nhất (x1, y1, z1) và tọa độ của điểm thứ hai (x2, y2, z2), và trả về giá trị là khoảng cách giữa hai điểm đó.

DocStrings giúp lập trình viên nắm bắt rõ ràng chức năng và cách sử dụng hàm CalculateDistance, bao gồm các tham số đầu vào và giá trị trả về của hàm này.

Template riêng

Việc tạo template (mẫu) bản vẽ (drawing) của Inventor là rất cần thiết trong quy trình thiết kế và sản xuất sản phẩm

Một số lý do để tạo template bản vẽ của Inventor riêng là:

Sử dụng mẫu bản vẽ chuẩn giúp tiết kiệm thời gian và công sức cho nhân viên thiết kế, vì họ có thể tái sử dụng các chi tiết đã được chuẩn hóa mà không cần phải vẽ lại từ đầu.

Sử dụng mẫu bản vẽ chuẩn giúp tăng tính chuyên nghiệp cho sản phẩm, tạo sự đồng bộ và nhất quán Bộ bản vẽ này sẽ quy định rõ về kích thước, định dạng, cách chia bố cục và bố trí, từ đó nâng cao chất lượng sản phẩm.

Mẫu bản vẽ chuẩn với 34 thông số kỹ thuật giúp tăng tính chính xác và vượt qua rào cản ngôn ngữ kỹ thuật Công cụ này đảm bảo sản phẩm được sản xuất đồng bộ, giảm thiểu sai sót về thông tin sản phẩm và chi phí phát sinh không cần thiết.

Quản lý và tra cứu hiệu quả: Khi có nhiều mẫu bản vẽ khác nhau và sản phẩm sản xuất với số lượng lớn, việc tìm kiếm và quản lý trở nên khó khăn Sử dụng mẫu bản vẽ chuẩn giúp nhanh chóng tra cứu, kiểm tra và đối chiếu giữa các sản phẩm cùng loại, từ đó đảm bảo tính chính xác và đúng đắn của sản phẩm.

Dễ dàng chia sẻ: Template có thể được chia sẻ cho những người khác trong tổ chức, giúp tăng tính đồng bộ và hiệu quả công việc

Tùy biến: Bạn có thể tùy chỉnh các template để phù hợp với yêu cầu của từng dự án hoặc quy trình làm việc

Giảm thiểu lỗi: Với các templates được xây dựng sẵn, bạn sẽ giảm thiểu việc nhập những thông tin bị thiếu hoặc nhập sai

Tiết kiệm chi phí và tài nguyên: Template giúp tiết kiệm thời gian và công sức, từ đó giúp tiết kiệm chi phí và tài nguyên của công ty

Tăng tính chuyên nghiệp: Các template được thiết kế đẹp mắt và chuyên nghiệp giúp tạo ấn tượng tốt với khách hàng và đối tác

Việc tạo template bản vẽ riêng trong Inventor không chỉ giúp tối ưu hóa quy trình thiết kế và sản xuất mà còn tiết kiệm thời gian và nâng cao độ chính xác của sản phẩm.

Trong ngành công nghiệp sản xuất, thiết kế và sản xuất có mối liên hệ chặt chẽ, đòi hỏi thông tin sản phẩm phải được truyền tải chính xác và đầy đủ Để quản lý thông tin sản phẩm trong quá trình này, việc sử dụng thuộc tính tùy chỉnh (custom property) trong bản vẽ là một giải pháp hiệu quả.

Thêm thuộc tính tùy chỉnh vào bản vẽ giúp đính kèm thông tin cụ thể về sản phẩm như thông số kỹ thuật, số lượng, ngày sản xuất, tên khách hàng và phương pháp sản xuất Những thông tin này có thể được sử dụng để quản lý và theo dõi sản phẩm hiệu quả hơn.

Quản lý thông tin của sản phẩm và đảm bảo tính chính xác của dữ liệu

Tăng tốc độ thiết kế bằng cách đảm bảo thông tin được truy cập nhanh chóng và dễ dàng, đồng thời duy trì tính nhất quán trong quá trình sản xuất Điều này giúp các phòng ban khác nhau trong công ty có thể dễ dàng tiếp cận thông tin cần thiết.

Giúp tối ưu quá trình sản xuất bằng cách thu thập thông tin và phân tích hoạt động

Việc thêm thuộc tính tùy chỉnh vào bản vẽ là cách hiệu quả để lưu trữ thông tin sản phẩm, bên cạnh việc lưu trữ tài liệu thiết kế và sản xuất trong các hệ thống quản lý thông tin sản phẩm hoặc quản lý dữ liệu sản xuất Để thêm thuộc tính tùy chỉnh như "iproperty" vào iLogic Inventor, bạn có thể thực hiện theo các bước hướng dẫn cụ thể.

Mở bản vẽ mới, ta nhấn chuột phải vào tên bảng vẽ Sau đó chọn iProperties,

Tại mục "Custom" của bảng quản lý, nhập tên thuộc tính mong muốn (vd:

"iproperty") và chọn kiểu dữ liệu tương ứng (vd: "Text")

Sau đây là các thông tin trong bản vẽ mình đã thêm vào để làm bản vẽ Template

37 Hình 5 25 Hình nhập các giá trị vào custom iProperties Bấm vào nút "OK" để lưu các thay đổi

Tại bảng quản lý, bạn có thể nhập giá trị cho thuộc tính mới được tạo bằng cách bấm vào nút "Edit" và nhập các giá trị tương ứng

5.6.2 Khung bản vẽ và Title Block Để tạo sheet format bản vẽ trong Inventor, bạn có thể làm theo các bước sau: Ở bản vẽ, chọn sheet mà bạn muốn sử dụng để tạo sheet format Ở đây mình chọn khổ A1

Thiết lập các thông số kích thước và bố trí cho sheet theo ý muốn của bạn

Hình 5 26 Hình tạo khung bản vẽ

Chọn tab "Manage" trên thanh công cụ Inventor Ribbon và mở panel "Title Blocks and Borders"

Hình 5 27 Title Block Đặt tên cho title block và chọn kích thước tương ứng với sheet format của bạn

Trong cửa sổ mới được mở ra, thiết lập các thông tin tiêu đề của bạn bao gồm tên công ty, ngày, số trang v.v

Sau khi hoàn thành việc thiết lập thông tin bản vẽ, hãy chọn "Save" để lưu title block của bạn Title block này sẽ được hiển thị trong danh sách title block của bạn.

Bây giờ bạn có thể kéo thả title block vào sheet của bạn để tạo sheet format

Bạn có thể di chuyển, thay đổi kích thước và kiểm soát các chi tiết trong sheet format của bạn

Sau khi hoàn thành việc tạo định dạng sheet, bạn có thể lưu lại để sử dụng lại hoặc chia sẻ với các thành viên khác Để lưu định dạng sheet, hãy nhấp vào "File" trên thanh menu, chọn "Save As" và sau đó chọn định dạng "Drawing Template (.idw)".

Hình 5 29 Hoàn chỉnh của Template

iProperty Check

5.7.1 Thêm một form vào Global Forms Để thêm một form vào Global Forms trong iLogic Inventor, bạn có thể làm theo các bước sau:

Mở một tài liệu bản vẽ Inventor trong Inventor và chọn tab "Manage" trên thanh công cụ Inventor Ribbon

Chọn "iLogic" trong panel "Add-Ins" để mở iLogic Browser

Trong iLogic Browser, chọn "Global Forms"

Nhấp chuột phải vào "Global Forms" và chọn "Add Form" hoặc bạn có thể nhấp chuột vào biểu tượng "Add Form" trên thanh công cụ iLogic Browser

Một cửa sổ mới sẽ mở ra cho phép bạn thiết kế và cấu hình form của mình Bạn có thể thêm nhiều thành phần khác nhau như nút bấm, textbox, checkbox, và danh sách thả xuống Ngoài ra, bạn cũng có thể thiết lập các thuộc tính và sự kiện cho những thành phần này.

Sau khi hoàn thành thiết kế form của mình, chọn "Save and Close" hoặc

"Save and New" để lưu form vào Global Forms và đóng cửa sổ hiện tại

Bây giờ, form của bạn sẽ hiển thị trong danh sách Global Forms trong iLogic Browser

Bạn có thể tích hợp form vào tài liệu bản vẽ của mình bằng cách sử dụng quy tắc iLogic hoặc kết hợp các sự kiện với form trong Global Forms.

5.7.2 Thêm mục tùy chỉnh vào Form

Tạo một form mới như bước ở trên với tên là “Iproperty Editor”

Trong màn hình chọn tùy chỉnh, bạn sẽ thấy các mục đã được tạo cho thuộc tính tùy chỉnh Để thêm một mục tùy chỉnh vào biểu mẫu, chỉ cần kéo thuộc tính từ danh sách và thả vào vị trí mong muốn Ngoài ra, bạn có thể tùy chỉnh biểu tượng, nhãn và thông tin chi tiết cho mục đó trên biểu mẫu.

Hình 5 31 Thêm các mục tùy chỉnh vào form

Khi thêm các mục tùy chỉnh vào biểu mẫu, bạn có thể lưu trữ thông tin liên quan đến bộ phận hoặc tài liệu Những thuộc tính này cho phép trích xuất thông tin và tạo báo cáo tự động hiệu quả.

Tool iProperty Check

Việc kiểm tra thông tin property trong bản vẽ là rất quan trọng vì nó giúp:

Để đảm bảo tính chính xác của thông tin trong bản vẽ, việc kiểm tra các thông tin property như tác giả, ngày tạo và các thuộc tính khác là rất quan trọng Điều này giúp xác nhận rằng thông tin này không chỉ chính xác mà còn đáp ứng các yêu cầu kỹ thuật của bản vẽ.

Quản lý tài sản trở nên đơn giản hơn với thông tin được lưu trữ trong file bản vẽ Bạn có thể dễ dàng tìm kiếm tài liệu, nhận diện các tài liệu cũ hoặc đã thay đổi, từ đó tiết kiệm thời gian trong các tác vụ quản lý file.

Tăng cường tính linh hoạt trong bản vẽ bằng cách sử dụng thông tin property, cho phép tạo các thuộc tính tùy chỉnh để lưu trữ thông tin theo nhu cầu cụ thể của dự án hoặc khách hàng.

Kiểm tra thông tin tài sản trong bản vẽ Inventor là bước quan trọng để đảm bảo tính chính xác, tối ưu hóa thiết kế, quản lý hiệu quả và nâng cao tính linh hoạt trong quy trình làm việc.

Tạo rule mới với tên “iProperty Check”

Ta viết đoạn code như sau:

If Len(iProperties.Value("Custom", "Công ty vẽ cũ"))= 0 Then

If Len(iProperties.Value("Custom", "Xử lí bề mặt"))= 0 Then

If Len(iProperties.Value("Custom", "Ngày sửa lại"))= 0 Then

If Len(iProperties.Value("Custom", "Tỉ lệ Scale"))= 0 Then

If Len(iProperties.Value("Custom", "Ngày tạo bản vẽ cũ"))= 0 Then

If Len(iProperties.Value("Custom", "Version cũ"))= 0 Then

If Len(iProperties.Value("Custom", "Lí do chỉnh sửa"))= 0 Then

If Len(iProperties.Value("Custom", "Người vẽ"))= 0 Then

If Len(iProperties.Value("Custom", "Chi tiết số"))= 0 Then

If Len(iProperties.Value("Custom", "Trang số"))= 0 Then

The script initializes a speech object using SAPI.SpVoice to announce that certain information is incomplete It then displays a message box alerting the user to the missing information, titled "iProperty Check," and finally opens the "iProperty Editor" form in modal mode for further action.

Đoạn mã này kiểm tra giá trị của các thuộc tính iProperty trên bản vẽ Nếu có thuộc tính nào không có giá trị, mã sẽ cảnh báo người dùng bằng giọng nói và hiển thị hộp thoại để chỉnh sửa Biến EmptyProperties được sử dụng để đếm số lượng thuộc tính iProperty thiếu giá trị trên bản vẽ.

45 Đoạn mã tiếp theo kiểm tra các thuộc tính iProperty trên bản vẽ Để truy cập một thuộc tính iProperty, bạn sử dụng phương thức iProperties.Value("Custom",

Custom là tên gọi của một tập hợp các thuộc tính tự định nghĩa trên bản vẽ, trong khi "tên thuộc tính" là tên cụ thể của thuộc tính mà bạn muốn truy cập.

Mỗi điều kiện If kiểm tra giá trị của thuộc tính bằng cách sử dụng hàm Len để đếm độ dài chuỗi Nếu độ dài chuỗi của thuộc tính là 0, nghĩa là không có giá trị nào được nhập, biến EmptyProperties sẽ tăng thêm 1.

Nếu biến EmptyProperties lớn hơn 0, đoạn mã sẽ phát cảnh báo bằng giọng nói cho người dùng với thông điệp: "Các thông tin chưa được điền đầy", thông qua lệnh objSPVoice = CreateObject("SAPI.SpVoice") và objSPVoice.Speak.

Đoạn mã sẽ hiển thị một hộp thoại thông báo cho người dùng thông qua iLogicForm.ShowGlobal, cho phép người dùng chỉnh sửa các giá trị thuộc tính còn thiếu.

Vì vậy, đoạn mã này sẽ giúp bạn kiểm tra xem các thuộc tính iProperty trên bản vẽ đã được nhập đầy đủ và chính xác hay chưa

Giả sử ở bản vẽ này, ta quên nhập chi tiết số bao nhiêu

Hình 5 32 Ví dụ iProperty Check Sau khi chởi chạy tool thì phần mềm sẽ hiển thị thông báo

Sau khi nhấn nút OK, Form Iproperty Editor sẽ hiển thị để người dùng nhập các giá trị cần thiết vào bản vẽ.

Hình 5 34 Hình hộp thoại nhập thông tin

Rule xuất bản vẽ tự động và scale

Công cụ xuất bản vẽ tự động đóng vai trò quan trọng trong việc tối ưu hóa quy trình làm việc và rút ngắn thời gian sản xuất Chúng cung cấp khả năng tự động hóa cho việc tạo ra số lượng lớn bản vẽ, đồng thời nâng cao độ chính xác và hiệu quả so với phương pháp vẽ thủ công.

Các công cụ xuất bản vẽ tự động không chỉ tăng cường hiệu quả mà còn đơn giản hóa quy trình phê duyệt và chia sẻ thông tin với các bên liên quan Nhờ vào việc tự động hóa, các bản vẽ trở nên dễ đọc và truyền tải thông tin hiệu quả hơn, giúp tiết kiệm thời gian và công sức cho các nhà thiết kế và kỹ sư.

Việc áp dụng công cụ xuất bản vẽ tự động không chỉ đảm bảo tính nhất quán trong quy trình sản xuất mà còn giúp giảm thiểu sai sót, nâng cao chất lượng công việc và ngăn chặn các sự cố không mong muốn trong quá trình thiết kế và sản xuất.

Công nghệ xuất bản vẽ tự động ngày càng trở nên quan trọng và được ứng dụng rộng rãi trong quy trình sản xuất và thiết kế hiện đại.

'Kiểm tra nếu đây là file bản vẽ

If doc.DocumentType = kDrawingDocumentObject Then

In the file part & assemblies, specify the file name and the path to the temporary text file using the command `oWrite = System.IO.File.CreateText("C:\TEMP\part.txt")` This code writes the current document's path and filename to the text file with `oWrite.WriteLine(ThisDoc.PathAndFileName(True))` and closes the file with `oWrite.Close()` The variable `oFilePather` is set to the document's path followed by a backslash, using `oFilePather = ThisDoc.Path & "\"`.

In the "part & assemblies" file, a new drawing name is written into a temporary text file using the code `oWrite = System.IO.File.CreateText("C:\TEMP\partno.txt")` The code then records the part number by concatenating the file path with the part number value retrieved from the project properties, formatted as ".dwg", before closing the file with `oWrite.Close()`.

'Đọc tên bản vẽ từ tệp văn bản trên oRead = System.IO.File.OpenText("C:\TEMP\partno.txt")

EntireFile1 = oRead.ReadLine() oRead.Close() oDrawingName = EntireFile1

'sao chép file template bản vẽ abssembly và bản vẽ part cần sử dụng Chọn đường dẫn vào file đó

If doc.DocumentType = kAssemblyDocumentObject Then oCopyFiler = "C:\Users\Public\Documents\Autodesk\Inventor 2021\Templates\en-

US\Design_By_TeamT&Q _Assembly.dwg"

Else If doc.DocumentType = kPartDocumentObject Then oCopyFiler = "C:\Users\Public\Documents\Autodesk\Inventor 2021\Templates\en-

US\Design_By_TeamT&Q.dwg"

'Kiểm tra xem bản vẽ có tồn tại không - Nếu có, mở bản vẽ đã có sẵn

If System.IO.File.Exists(oDrawingName & DWGType) Then

MessageBox.Show("Mở bản vẽ mới")

'Copy và mở bản vẽ mới

Dim oNewFiler As String = EntireFile1

System.IO.File.Copy(oCopyFiler,oNewFiler,(True))

'Kiểm tra xem chúng ta đã thay thế các hình chiếu trong bản vẽ chưa oNumbero = Parameter("Opened")

'Đọc tên file oRead = System.IO.File.OpenText("C:\TEMP\part.txt")

EntireFile = oRead.ReadLine() oRead.Close() oPartPath = EntireFile

'Thay thế các hình chiếu trong bản vẽ doc = ThisDoc.Document

Dim oFileDesc As FileDescriptor oFileDesc doc.ReferencedFileDescriptors(1).DocumentDescriptor.ReferencedFileDescriptor oFileDesc.ReplaceReference(oPartPath) doc.Update()

'Đọc tên file mới cho bản vẽ oRead = System.IO.File.OpenText("C:\TEMP\partno.txt")

EntireFile1 = oRead.ReadLine() oRead.Close() oDrawingName = EntireFile1

'Chỉnh tỉ lệ của các hình chiếu và hình 3D trên bản vẽ

On Error GoTo Exiter oMyParameter = ThisDrawing.Document.Parameters.UserParameters oParameter = oMyParameter.AddByValue("Scaler", "1:5", UnitsTypeEnum.kTextUnits) MultiValue.SetList("Scaler","1:1", "1:2", "1:4", "1:5", "1:10", "1:20", "1:25", "1:50",

Scaler = InputListBox("Set Drawing Scale", MultiValue.List("Scaler"), Scaler, Title :"Scale = " & ActiveSheet.View("VIEW1").ScaleString, ListName := "List")

ActiveSheet.View("VIEW1").ScaleString = Scaler

ActiveSheet.View("VIEW4").ScaleString = Scaler

Đoạn mã iLogic Inventor "MsgBox("tỉ lệ không thay đổi")" được sử dụng để tạo bản vẽ mới và cập nhật tỷ lệ bản vẽ Đầu tiên, mã kiểm tra xem tài liệu hiện tại có phải là bản vẽ hay không; nếu đúng, nó sẽ thực thi mã trong phần DRAWING để tránh lỗi với các tài liệu khác Nếu không phải là bản vẽ, mã sẽ tạo một file văn bản trên ổ đĩa C: để lưu đường dẫn của tài liệu hiện tại.

Đoạn mã tiếp theo tạo ra biến mới oFilePather để lưu trữ đường dẫn thư mục chứa tài liệu hiện tại Sau đó, nó tạo một file văn bản khác trong thư mục TEMP nhằm lưu thông tin về tên tài liệu.

Đoạn mã này kiểm tra sự tồn tại của đường dẫn được xác định bởi biến oFilePather và oDrawingName trên ổ đĩa Nếu đường dẫn tồn tại, tài liệu vẽ đã được tạo trước đó sẽ được mở Ngược lại, nếu không tồn tại, một bản vẽ mới sẽ được tạo bằng cách sao chép từ file bản vẽ mẫu đã chuẩn bị Cuối cùng, tài liệu mới sẽ được mở và chuẩn bị cho phần CODE của DRAWING.

Phần CODE của DRAWING bắt đầu với câu lệnh "GoTo DRAWINGcode" Trong đoạn mã này, giá trị tham số "Opened" sẽ được tăng lên 1 và kiểm tra xem nó có vượt quá 2 hay không Nếu "Opened" lớn hơn 2, phần CODE sẽ kết thúc Ngược lại, mã sẽ tiếp tục mở một tệp văn bản đã được tạo trước đó để lấy đường dẫn tài liệu gốc, sử dụng đường dẫn này để thay thế tệp mẫu trên bản vẽ mới.

Đoạn mã sử dụng tham số mới "Scaler" để xác định tỷ lệ vẽ Người dùng sẽ thấy một hộp thoại cho phép họ lựa chọn tỷ lệ mong muốn Sau khi lựa chọn hoàn tất, mã sẽ cập nhật tỷ lệ trên bản vẽ và xóa tham số "Scaler".

Nếu có lỗi trong phần CODE của DRAWING, mã sẽ chuyển sang nhãn Exiter, thông báo cho người dùng rằng tỷ lệ không thay đổi.

Cách để chạy Rule này là:

Ta mở file part cần xuất bản vẽ

Hình 5 35 Hình ảnh Part làm ví dụ Sau đó chọn Run Rule

Nếu chưa tạo file drawing cho phần này, phần mềm sẽ tự động mở một bản vẽ mới và yêu cầu người dùng chọn tỉ lệ scale cho bản vẽ.

Hình 4.9 1 Hình ảnh các lựa chọn tỉ lệ Kết quả:

*Bổ sung tính năng tự động nhập tỉ lệ scale bản vẽ dựa vào chiều dài, chiều rộng và chiều cao của chi tiết

'Chỉnh tỉ lệ của các hình chiếu và hình 3D trên bản vẽ

Dim oDoc As Document oDoc = ThisApplication.ActiveDocument

Dim oSheet As Sheet oSheet = oDoc.ActiveSheet

Dim oView As DrawingView oView = oSheet.DrawingViews.Item(1)

Dim oModel As PartDocument oModel = oView.ReferencedDocumentDescriptor.ReferencedDocument

Dim totalRange As Box totalRange = oModel.ComponentDefinition.RangeBox

Dim modelWidth As Double modelWidth = Abs(totalRange.MaxPoint.X + totalRange.MaxPoint.Y) modelWidth1 = Abs(totalRange.MaxPoint.X + totalRange.MaxPoint.Z )

Dim newScale As Double newScale = myViewSize / modelWidth

Dim newScale1 As Double newScale1 = myViewSize / modelWidth1

If newScale < newScale1 Then oView.Scale = Round(newScale,1)

ActiveSheet.View("VIEW4").ScaleString = newScale

Else oView.Scale = Round(newScale1,1)

ActiveSheet.View("VIEW4").ScaleString = newScale1

Khai báo biến oDoc và khởi tạo nó là ActiveDocument hiện tại

Khai báo biến oSheet và khởi tạo nó là ActiveSheet hiện tại

Khai báo biến oView và khởi tạo nó là DrawingView đầu tiên trong danh sách DrawingViews của Sheet đang hoạt động

Khai báo biến oModel và khởi tạo nó là tài liệu được tham chiếu bởi DrawingView

Khai báo biến totalRange là hộp chứa tất cả các chi tiết trong bản vẽ

Khai báo biến modelWidth và tính toán chiều rộng của mô hình bằng cách lấy giá trị tuyệt đối của khoảng cách giữa MaxPoint.X và MaxPoint.Y của totalRange

Khai báo biến modelWidth1 và tính toán chiều rộng của mô hình bằng cách lấy giá trị tuyệt đối của khoảng cách giữa MaxPoint.X và MaxPoint.Z của totalRange

Khai báo biến myViewSize là kích thước bản vẽ

Khai báo biến newScale và tính toán tỷ lệ phù hợp bằng cách chia myViewSize cho modelWidth

Khai báo biến newScale1 và tính toán tỷ lệ phù hợp bằng cách chia myViewSize cho modelWidth1

Nếu tỷ lệ phù hợp bằng newScale nhỏ hơn newScale1, đặt tỷ lệ phù hợp là newScale và giá trị ScaleString của VIEW4

Nếu tỷ lệ phù hợp bằng newScale lớn hơn hoặc bằng newScale1, đặt tỷ lệ phù hợp là newScale1 và giá trị ScaleString của VIEW4

Mục đích của đoạn mã này là để tính toán tỷ lệ scale phù hợp để bản vẽ có kích thước phù hợp và dễ đọc nhất

Việc sử dụng mã code để tự động hóa quy trình chạy scale có khả năng cao không phải là số chẵn, vì nó được lập trình để thực hiện các phép toán chia.

Hình 5 38 Hình ảnh kết quả bổ sung thêm code

Tool sắp xếp và căn giữa kích thước trong bản vẽ

Việc áp dụng các công cụ tự động để căn giữa và điều chỉnh kích thước trong bản vẽ kỹ thuật mang lại nhiều lợi ích thiết thực và cần thiết Các công cụ này giúp tiết kiệm thời gian, nâng cao độ chính xác và đảm bảo tính nhất quán trong quá trình thiết kế Sử dụng công nghệ tự động không chỉ cải thiện hiệu suất làm việc mà còn giảm thiểu sai sót, tạo điều kiện thuận lợi cho việc hoàn thiện bản vẽ.

Sử dụng các công cụ tự động giúp tiết kiệm thời gian đáng kể so với việc thực hiện các tác vụ căn giữa và sắp xếp kích thước một cách thủ công.

Các công cụ tự động giúp giảm thiểu rủi ro sai sót trong việc căn giữa và sắp xếp kích thước, từ đó đảm bảo tính chính xác và độ tin cậy của các bản vẽ.

Việc sử dụng các công cụ tự động không chỉ tăng tính thẩm mỹ cho bản vẽ kỹ thuật bằng cách tạo ra những bản thiết kế độc đáo và hấp dẫn, mà còn đáp ứng yêu cầu chuẩn hóa, đảm bảo tính thống nhất và cấu trúc cho các bản vẽ, như khoảng cách giữa các kích thước kề nhau.

Việc áp dụng các công cụ tự động để căn giữa và điều chỉnh kích thước là rất cần thiết và mang lại lợi ích lớn cho các nhà thiết kế cũng như chuyên gia vẽ kỹ thuật.

'Tìm văn bản đang hoạt động

Dim oDoc As DrawingDocument oDoc = ThisApplication.ActiveDocument

'Tìm sheet và kích thước đang hoạt động

Dim oSheet As Sheet oSheet = oDoc.ActiveSheet

' Duyệt qua tất cả các kích thước trong bản vẽ và căn giữa chúng nếu chúng là đường thẳng hoặc góc

For Each oDrawingDim In oSheet.DrawingDimensions

If TypeOf oDrawingDim Is LinearGeneralDimension Or TypeOf oDrawingDim Is AngularGeneralDimension Then

' - 'Code để căn giữa kích thước

' Lấy tài liệu đang hoạt động, giả định nó là một bản vẽ

Dim oDrawDoc As DrawingDocument oDrawDoc = ThisApplication.ActiveDocument

' Lấy bộ các kích thước trên trang đang hoạt động

Dim oDimensions As DrawingDimensions oDimensions = oDrawDoc.ActiveSheet.DrawingDimensions

' Lấy phần tử được chọn và xóa nó đi

Dim oSelectSet As SelectSet oSelectSet = oDrawDoc.SelectSet oSelectSet.Clear

'Thêm mỗi kích thước vào tập hợp các phần tử được chọn để chọn chúng

For Each oDrawDim In oDimensions oSelectSet.Select(oDrawDim)

ThisApplication.CommandManager.ControlDefinitions.Item("DrawingArrangeDimensio nsCmd").Execute

MessageBox.Show("Đây không phải là bản vẽ", "Unofficial Inventor",

Cách thức hoạt động của đoạn code:

Lệnh "On Error GoTo AECOKHI" cho phép chương trình chuyển đến điểm đánh dấu "AECOKHI" khi có lỗi xảy ra trong quá trình thực thi các lệnh Nếu không sử dụng dòng lệnh này, chương trình sẽ dừng lại khi gặp lỗi.

Trong đoạn mã này, đầu tiên nó lấy tham chiếu đến bản vẽ đang mở và trang được chọn Tiếp theo, mã sẽ duyệt qua tất cả các kích thước trên trang và căn giữa chúng nếu chúng là đường thẳng hoặc góc, thông qua phương thức CenterText cho từng đối tượng kích thước.

Đoạn mã sẽ thu thập các kích thước trên trang và thêm chúng vào một tập hợp đã chọn thông qua đối tượng SelectSet Sau khi hoàn tất việc chọn, lệnh DrawingArrangeDimensionsCmd sẽ được gọi để căn giữa tất cả các kích thước đã chọn.

Nếu có lỗi trong khối lệnh, chương trình sẽ chuyển đến điểm đánh dấu "AECOKHI" và hiển thị hộp thoại cảnh báo với thông báo "Đây không phải là bản vẽ".

Hình 5 39 Ví dụ sấp xếp kích thước

Ta có các kích thước lộn xộn như trên, các kích thước chồng lên nhau và nằm trên hình dạng của chi tiết

Và sau khi nhấn chạy code:

Hình 5 40 Run Rule sắp xếp kích thước

Kích thước cực kì dễ nhìn và được sắp xếp 1 cách khoa học từ nhỏ đến lớn

Và khoảng cách giữa kích thước đầu tiên đến chi tiết đều bằng nhau.

Tool hiển thị các kích thước nhập tay

Khi người dùng thay đổi kích thước trên bản vẽ, điều này thường xuất phát từ nhiều lý do, bao gồm kích thước tham khảo, yêu cầu về dung sai đặc biệt, nhu cầu sử dụng các ký hiệu không có sẵn trong phần mềm, hoặc cần chú thích cho kích thước đó.

Công cụ hiển thị kích thước nhập tay trên Inventor được thiết kế nhằm hỗ trợ người dùng trong việc định vị và kiểm tra các kích thước nhập thủ công một cách dễ dàng và chính xác hơn.

Nó cho phép hiển thị và tô đậm kích thước trên bản vẽ

Nó đảm bảo rằng các kích thước được kiểm tra chính xác, cung cấp cho lập trình viên, nhà thiết kế và kỹ sư cơ khí công cụ hữu ích để thiết kế, hiệu chỉnh và nghiên cứu Điều này giúp cải thiện quá trình thiết kế và tạo ra sản phẩm tốt hơn.

'Đặt biến oDoc là văn bản (document) hiện tại oDoc = ThisDoc.Document

'Đặt biến oNamer là một chuỗi "Làm nổi bật phần ghi đè kích thước" oNamer = "Hiển thị kích thước bị ghi đè"

'Định nghĩa một đối tượng Transaction gọi là UNDO

UNDO = ThisApplication.TransactionManager.StartTransaction(oDoc, oNamer)

'Xác định một đối tượng tài liệu Sheet

Dim oSheet As Sheet = oDoc.ActiveSheet

'Định nghĩa một màu sắc dựa trên các giá trị R, G, B Trong trường hợp này, đỏ tươi/Fuchsia được sử dụng để tô màu những khối ghi chú (note)

Dim oColor As Color oColor = ThisApplication.TransientObjects.CreateColor(255,0,255)

'Đặt biến oDim là định dạng chiều dài khi vẽ Biến DimCount dùng để đếm số lượng chìm khối ghi chú bị thay đổi

For Each oDim In oSheet.DrawingDimensions

'Nếu khối ghi chú bị thay đổi, thì thay đổi màu sắc của khối ghi chú thành đỏ tươi/Fuchsia, nếu không vẫn giữ màu đen

If oDim.OverrideModelValue oDim.ModelValue Or oDim.HideValue = True Then oDim.Text.Color = oColor

Else oDim.Text.Color = ThisApplication.TransientObjects.CreateColor(0, 0, 0)

'Hiển thị thông báo số lượng khối ghi chú bị thay đổi hoặc không thay đổi

MessageBox.Show(DimCount & " Kích thước bị ghi đè")

MessageBox.Show("Không có kích thước bị ghi đè")

'Chờ đợi cho quá trình cập nhật tài liệu hoàn thành để lưu lại thông tin c

'Kết thúc đối tượng Transaction

Bước đầu tiên của mã lấy đối tượng Document hiện tại (ThisDoc.Document)

The code initializes an undo action named "Display Overridden Size" and stores it in the UNDO variable It then retrieves the ActiveSheet object from the Document, creates a TransientObjects color with an RGB value of (255, 0, 255), and iterates through all DrawingDimensions on that sheet.

Trong quá trình lặp, nếu kích thước đang được vẽ bị ghi đè hoặc giá trị bị ẩn là True, màu chữ sẽ chuyển sang đỏ tươi và biến DimCount sẽ tăng thêm 1 Ngược lại, màu chữ sẽ trở lại màu đen.

Sau khi hoàn thành vòng lặp, mã kiểm tra xem DimCount có lớn hơn 0 hay không Nếu DimCount lớn hơn 0, một MessageBox sẽ hiện lên thông báo số kích thước bị ghi đè Ngược lại, nếu DimCount bằng 0, một MessageBox khác sẽ xuất hiện để thông báo rằng không có kích thước nào bị ghi đè.

Cuối cùng, mã cập nhật lại tài liệu với iLogicVb.DocumentUpdate và kết thúc bản undo cũng như hoàn tất thao tác với công cụ TransactionManager

Giả sử ở bản vẽ này ta nhập tay 2 kích thước là 105 và 110, ở 2 kích thước này ta thêm dấu ‘*’ vào ngay trước nó

Hình 5 42 Hình ảnh ví dụ hiển thị kích thước nhập tay

62 Ở Rule với tên “Hiển thị kích thước nhập tay” ta chọn Run Rule

Tool tô đen tất cả các kích thước trong bản vẽ

Công cụ này được thiết kế để hoàn tất mục tiêu đã đề ra Sau khi sử dụng, công cụ sẽ hiển thị kích thước được nhập thủ công, cho phép người dùng xem các kích thước đã được chỉnh sửa Sau khi kiểm tra xong, cần phải đặt lại các kích thước về màu đen mặc định.

Code: oDoc = ThisDoc.Document oNamer = "Tô đen tất cả các kích thước"

UNDO = ThisApplication.TransactionManager.StartTransaction(oDoc, oNamer)

Dim oSheet As Sheet = oDoc.ActiveSheet

'Tạo màu sắc dựa trên các giá trị R, G, B Trong trường hợp này,chọn màu đen để tô tất cả kích thước oColor = ThisApplication.TransientObjects.CreateColor(0, 0, 0)

For Each oDim In oSheet.DrawingDimensions oDim.Text.Color = oColor

Bước đầu tiên của mã là lấy đối tượng Document hiện tại và tạo một đối tượng Transaction với tên "Tô đen tất cả các kích thước"

Sau đó, mã lấy đối tượng ActiveSheet của Document và tạo một đối tượng

Color với giá trị RGB là (0, 0, 0) để tạo màu đen

Tiếp theo, mã lặp qua tất cả các DrawingDimension của trang tích hợp

(Sheet) và đổi màu chữ thành màu đen cho từng kích thước

Sau khi vòng lặp kết thúc, mã sử dụng iLogicVb.DocumentUpdate để cập nhật tài liệu Việc đóng Transaction được thực hiện bằng cách gọi Undo.End(), đảm bảo rằng các thay đổi đã thực hiện có thể được hoàn tác nếu cần thiết.

Ta tạo cái Rule mới với tên “Tô đen tất cả các kích thước”

Nhập đoạn code phía trên vào

Sau đó nhấn Run Rule

Hình 5 44 Run Rule tô đen tất cả các kích thước trong bản vẽ

Làm tròn số thập phân kích thước

Trong lĩnh vực kỹ thuật, độ chính xác là yếu tố quan trọng trong thiết kế và sản xuất Việc làm tròn số thập phân đảm bảo rằng các số trong bản vẽ kỹ thuật được hiển thị thống nhất và chính xác, từ đó đảm bảo tính lắp ghép và đúng theo các thông số kỹ thuật yêu cầu Điều này giúp giảm thiểu sai sót trong thiết kế và sản xuất, đồng thời nâng cao độ chính xác, độ tin cậy, chất lượng sản phẩm và sự hài lòng của khách hàng.

'Danh sách lựa chọn các kiểu hiển thị số thập phân

Dim CB As New ArrayList

'Hiển thị hộp thoại để cho người dùng chọn độ chính xác

XX = InputListBox("Hiển thị số thập phân tất cả các kích thước", CB, CB, Title :"Unofficial Inventor", ListName := "Bạn muốn bao nhiêu số thập phân sau dấu phẩy?")

'Chọn giá trị phù hợp cho XX1 và XX2 tùy vào giá trị của XX

'Nếu người dùng không chọn giá trị hoặc nhấn vào nút hủy bỏ thì thoát khỏi chương trình

'Khai báo tài liệu vẽ và Sheet

Dim oDrawDoc As DrawingDocument oDrawDoc = ThisApplication.ActiveDocument

Dim oSheet As Sheet oSheet = oDrawDoc.ActiveSheet

'Đặt giá trị ban đầu cho biến counter

Dim counter As Long counter = 1

'Duyệt qua tất cả các DrawingDimension trên Sheet

For Each oDrawingDim In oSheet.DrawingDimensions counter = counter + 1

Dim oGeneralDim As GeneralDimension oGeneralDim = oSheet.DrawingDimensions.GeneralDimensions.Item(1)

Dim oDimStyle As DimensionStyle oDimStyle = oGeneralDim.Style

1 'Thiết lập XX1 cho đường thẳng và góc là XX2 cho DimensionStyle được lưu trữ trong GeneralDimension oDimStyle.LinearPrecision = XX1 oDimStyle.AngularPrecision = XX2

DrawingDimension được sử dụng để lưu trữ thông tin về kích thước trong bản vẽ kỹ thuật, bao gồm giá trị và kiểu định dạng Đoạn mã bắt đầu bằng việc khai báo danh sách CB để chứa các lựa chọn và thiết lập giá trị cho XX dựa trên lựa chọn đó Sau đó, đoạn mã khai báo một số biến và tìm kiếm tất cả các DrawingDimension trong bản vẽ kỹ thuật để cập nhật kích thước Cuối cùng, đoạn mã cập nhật thông tin cho đối tượng DimensionStyle được lưu trữ.

Ta tạo cái Rule mới với tên “Hiển thị số thập phân”

Nhập đoạn code phía trên vào

Sau đó nhấn Run Rule

Hình 5 46 Run Rule Hộp thoại xuất hiện để người dùng chọn số thập phân muốn hiển thị

Hình 5 47 Bảng lựa chọn các kiểu hiển thị số thập phân Ở đây mình chọn là “một” và nhấn OK

Kết quả: Tất cả kích thước chỉ hiện thị 1 số thập phân sau dấu phẩy

Xóa tất cả các kích thước lỗi

Trong quá trình sử dụng Autodesk Inventor, có thể gặp phải tình trạng kích thước bị lỗi do kết nối không đúng đến đối tượng hoặc không kết nối với đối tượng nào Khi xảy ra vấn đề này, các kích thước sẽ không cung cấp thông tin chính xác về đối tượng và vị trí của chúng trên bản vẽ.

Việc xóa bỏ các kích thước bị lỗi là cần thiết để đảm bảo độ chính xác và tính đầy đủ của bản vẽ Sử dụng mã code để tự động loại bỏ các kích thước sai không chỉ tiết kiệm thời gian mà còn nâng cao hiệu quả trong quá trình xử lý tài liệu.

' Tạo đối tượng DrawingDocument và lưu đối tượng hiện tại vào biến oDoc oDoc = ThisDoc.Document

' Khai báo đối tượng oSheet để lưu trữ tài liệu có kích thước được chọn

Dim oSheet As Sheet oSheet = oDoc.ActiveSheet

' Duyệt qua tất cả các kích thước trong trang hiện tại

For Each oDrawingDim In oSheet.DrawingDimensions

' Kiểm tra xem kích thước hiện tại có liên kết với bất kỳ đối tượng nào hay không

If oDrawingDim.Attached = False Then

' Nếu không, xóa kích thước bằng lệnh oDrawingDim.Delete

Mã này nhằm mục đích xóa tất cả các kích thước của bản vẽ trong tài liệu hiện tại mà không liên kết với đối tượng cụ thể Đầu tiên, tài liệu hiện tại được gán cho biến ‘oDoc’ Sau đó, biến ‘oSheet’ được sử dụng để lưu trữ tài liệu có kích thước cần loại bỏ Cuối cùng, vòng lặp ‘For Each’ được áp dụng để lặp qua tất cả các kích thước trong trang hiện tại.

Trong mỗi vòng lặp, mã kiểm tra xem kích thước hiện tại có liên kết với đối tượng nào không Nếu không có liên kết, kích thước hiện tại sẽ bị xóa bằng lệnh 'oDrawingDim.Delete', cho thấy rằng nó không còn cần thiết nữa.

Ví dụ sau khi chỉnh sửa 1 chi tiết thì bản vẽ đã có kích thước lỗi

Hình 5 49 Ví dụ xóa kích thước lỗi

Ta tạo cái Rule mới với tên “Xóa kích thước lỗi”

Nhập đoạn code phía trên vào

Sau đó nhấn Run Rule

Hình 5 51 Kết quả Kích thước lỗi đã bị xóa hoàn toàn khỏi bản vẽ.

Dim kích thước tự động

Dim kích thước tự động là công cụ hữu ích giúp nâng cao độ chính xác và tiết kiệm thời gian trong thiết kế bản vẽ kỹ thuật Chức năng chính của nó là tự động thêm các kích thước cần thiết vào bản vẽ, đảm bảo truyền đạt thông tin chính xác về kích thước, khoảng cách và vị trí của các chi tiết.

Khi thiết kế bản vẽ kỹ thuật, việc đặt kích thước và khoảng cách theo yêu cầu sản phẩm là rất quan trọng Thực hiện các phép tính và kích thước thủ công không chỉ tốn thời gian mà còn dễ gây sai sót Do đó, các công cụ kích thước tự động trở thành giải pháp hữu hiệu, giúp người dùng thiết kế bản vẽ nhanh chóng và chính xác hơn.

Triển khai công cụ kích thước tự động có thể tăng cường hiệu suất làm việc của các nhóm thiết kế, đồng thời giảm thời gian tìm kiếm, sửa lỗi và kiểm tra bản vẽ Ngoài ra, công cụ này còn giúp đơn giản hóa quy trình làm việc, giảm thiểu độ phức tạp trong công việc.

'Kiểm tra nếu loại tài liệu đang được mở không phải là tài liệu vẽ

'Hien thi thông báo lỗi với tên luật tương ứng và kết thúc hàm

MessageBox.Show("This rule '" & iLogicVb.RuleName & "' only works for Drawing Documents.", "WRONG DOCUMENT TYPE")

'Dịnh nghĩa đối tượng DrawingDocument và Sheet tương ứng với tài liệu đang được mở Dim oDDoc As DrawingDocument = ThisDrawing.Document

Dim oSheet As Sheet = oDDoc.ActiveSheet

'Dịnh nghĩa ba đối tượng DrawingView tương ứng với các bản vẽ trong Sheet

Dim oView As DrawingView oView1 = oSheet.DrawingViews.Item(1) oView2 = oSheet.DrawingViews.Item(2) oView3 = oSheet.DrawingViews.Item(3)

Retrieve general dimension information for selected sizes in DrawingViews using the commands: oSheet.DrawingDimensions.GeneralDimensions.Retrieve(oView1), oSheet.DrawingDimensions.GeneralDimensions.Retrieve(oView2), and oSheet.DrawingDimensions.GeneralDimensions.Retrieve(oView3).

'Xóa toàn bộ đối tượng đang được chọn oDDoc.SelectSet.Clear()

'Cập nhật tài liệu đã thay đổi iLogicVb.DocumentUpdate

Đoạn mã này kiểm tra xem loại tài liệu đang mở có phải là tài liệu vẽ hay không Nếu không phải, nó sẽ hiển thị thông báo "Rule Dim kích thước tự động chỉ hoạt động trên bản vẽ" và ngừng thực hiện các lệnh tiếp theo.

Nếu loại tài liệu đang được mở là tài liệu vẽ, đoạn mã sẽ định nghĩa đối tượng DrawingDocument và Sheet tương ứng với tài liệu đó

Tiếp theo, đoạn mã định nghĩa ba đối tượng DrawingView tương ứng với các bản vẽ trong Sheet thông qua phương thức Item() của Collection

Sau đó, đoạn mã thực hiện việc lấy thông tin kích thước chung của các kích thước ở trong file part 3D, thông qua phương thức Retrieve() của đối tượng

Cuối cùng, cập nhật tài liệu đã thay đổi

Ta tạo cái Rule mới với tên “Dim kích thước tự động”

Nhập đoạn code phía trên vào

Sau đó nhấn Run Rule

Kết quả đạt được từ việc kết hợp các quy tắc đã nêu, sau khi áp dụng quy tắc "Dim kích thước tự động", ngay lập tức thực hiện quy tắc "sắp xếp kích thước".

Tạo đường tâm

Sử dụng công cụ tạo đường tâm tự động cho lỗ, trục và lệnh revolution trong bản vẽ giúp tiết kiệm thời gian và nâng cao độ chính xác trong quy trình thiết kế và sản xuất.

Dim oDoc As Document oDoc = ThisApplication.ActiveDocument

Dim oSheet As Sheet oSheet = oDoc.ActiveSheet

Dim oView As DrawingView oView = oSheet.DrawingViews.Item(1) ' Lấy 'DrawingView' đầu tiên oView2 = oSheet.DrawingViews.Item(2) ' Lấy 'DrawingView' thứ hai oView3 = oSheet.DrawingViews.Item(3) ' Lấy 'DrawingView' thứ ba

The code retrieves automated centerline settings from the first DrawingView and applies them to various elements It enables centerline application to holes, sets the projection parallel axis, and applies the centerline for revolutions Subsequently, these automated centerline settings are applied to the first, second, and third DrawingViews, ensuring consistency across all views.

Kiểm tra điểm khác nhau của 2 phiên bản

Việc sử dụng công cụ để so sánh sự khác nhau giữa hai tệp là cần thiết, vì chúng thường được thiết kế để chỉnh sửa hàng loạt và quản lý khối lượng lớn dữ liệu Do đó, so sánh thủ công hai tệp tài liệu có thể gặp khó khăn và dễ dẫn đến sai sót.

Sử dụng công cụ so sánh tệp tin giúp bạn xác định chính xác sự khác biệt và tương đồng giữa hai phiên bản tài liệu, từ đó tiết kiệm thời gian và giảm thiểu nguy cơ sai sót.

75 trong quá trình so sánh hai tệp tin tài liệu, đồng thời cải thiện chất lượng thiết kế của người kỹ sư

'Chọn tệp tin thứ nhất

Dim partName1 As String = GetFileName()

'Chọn tệp tin thứ hai

Dim partName2 As String = GetFileName()

'Tạo ra part mới chứa các điểm khác giữa hai part

Dim added As String = CreateDiff(partName2, partName1, True)

Dim subtracted As String = CreateDiff(partName1, partName2, False)

'Tạo một tài liệu mới

Dim doc As PartDocument ThisApplication.Documents.Add(DocumentTypeEnum.kPartDocumentObject)

'Thêm các đối tượng dif vào tài liệu

Dim derivedPartComponents doc.ComponentDefinition.ReferenceComponents.DerivedPartComponents

Dim derivedPartDef As DerivedPartUniformScaleDef derivedPartDef = derivedPartComponents.CreateUniformScaleDef(added) derivedPartComponents.Add(derivedPartDef) derivedPartDef = derivedPartComponents.CreateUniformScaleDef(subtracted) derivedPartComponents.Add(derivedPartDef)

'Hàm tạo khác biệt giữa hai tệp tin

Public Function CreateDiff(fileName1 As String, fileName2 As String, isAdded As Boolean) As String

'Mở tệp tin thứ nhất

Dim doc As PartDocument = ThisApplication.Documents.Open(fileName1, True) 'Lấy thông tin về tệp

Dim fileInfo As IO.FileInfo = New IO.FileInfo(doc.FullFileName)

'Tạo tên mới cho tệp tin dif

Dim newFileName = IO.Path.Combine( fileInfo.DirectoryName, fileInfo.Name.Replace(fileInfo.Extension, "") +

'Lưu đối tượng mới vào tệp tin dif doc.SaveAs(newFileName, False)

'Tạo đối tượng mới chứa khác biệt giữa hai tệp tin

76 derivedPartDef doc.ComponentDefinition.ReferenceComponents.DerivedPartComponents.CreateUnifor mScaleDef(fileName2) derivedPartDef.BodyAsSolidBody = False

Dim derivedPart As DerivedPartComponent derivedPart doc.ComponentDefinition.ReferenceComponents.DerivedPartComponents.Add(derivedP artDef) derivedPart.BreakLinkToFile()

'TrimSolid để loại bỏ các phần không cần thiết trong phiên bản mới tạo ra

Dim splitTool As SurfaceBody doc.ComponentDefinition.WorkSurfaces.Item(1)._SurfaceBody splitTool.Visible = False

Dim body As SurfaceBody = doc.ComponentDefinition.SurfaceBodies.Item(1) Try doc.ComponentDefinition.Features.SplitFeatures.TrimSolid(splitTool, body, False)

Catch ex As Exception doc.ComponentDefinition.Features.SplitFeatures.TrimSolid(splitTool, body, True) End Try

'Cập nhật giao diện người dùng

If (isAdded) Then doc.ActiveRenderStyle = doc.RenderStyles.Item("Green")

Else doc.ActiveRenderStyle = doc.RenderStyles.Item("Smooth - Red")

'Cập nhật hiển thị View

'Lưu tài liệu và đóng tài liệu doc.Save() doc.Close(True)

'Trả về tên tệp tin dif

'Hàm để chọn tệp từ thư mục hệ thống

Private Function GetFileName() As String

'Lấy thông tin về dự án đang hoạt động

Dim activeProject = ThisApplication.DesignProjectManager.ActiveDesignProject 'Mở trình chọn tệp tin

Dim fd As System.Windows.Forms.OpenFileDialog = New

System.Windows.Forms.OpenFileDialog() fd.Title = "Chọn file part để so sánh" fd.InitialDirectory = activeProject.WorkspacePath

77 fd.Filter = "All files (*.*)|*.*|Part file (*.ipt)|*.ipt" fd.FilterIndex = 2 'để chọn Part file (*.ipt) làm mặc định fd.RestoreDirectory = True

'Trả về tên tệp tin đã chọn hoặc thông báo lỗi nếu không có tệp nào được chọn

If fd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then

Throw New Exception("Không có tệp nào được chọn để kiểm tra sự khác nhau") End If

Đoạn code này so sánh sự khác biệt giữa hai tệp tin Inventor và tạo ra hai file tương ứng Nó sử dụng phương thức ‘DerivedPartUniformScaleDef’ để tạo ra các phiên bản mới: một phiên bản chứa sự khác biệt và một phiên bản giống nhau giữa hai phiên bản Để thực thi chương trình, phương thức ‘Main()’ được gọi đầu tiên.

Trong hàm ‘Main()’, chúng ta sử dụng hàm ‘GetFileName()’ để cho phép người dùng lựa chọn hai tệp tin Sau khi người dùng chọn xong, tên của hai tệp tin sẽ được lưu vào các biến ‘partName1’ và ‘partName2’.

Chúng ta sử dụng phương thức ‘CreateDiff()’ để tạo ra hai phiên bản tài liệu: một phiên bản thể hiện sự khác biệt giữa hai tài liệu và một phiên bản chỉ ra những nội dung giống nhau.

The 'CreateDiff()' function generates a difference object between two files using the 'DerivedPartUniformScaleDef' and adds it to 'DerivedPartComponents' A value of 'True' indicates that we are identifying differences between the two files, while a value of 'False' signifies that we are looking for similarities.

Sau khi tạo hai phiên bản, chúng ta sử dụng chúng để tạo một file mới Đầu tiên, chúng ta tạo đối tượng ‘PartDocument’ và thiết lập nó làm tài liệu mới thông qua phương thức thích hợp.

‘ThisApplication.Documents.Add(DocumentTypeEnum.kPartDocumentObject)’

Tiếp theo, chúng ta thêm các đối tượng khác biệt và giống nhau vào tài liệu bằng phương thức ‘Add()’ của ‘DerivedPartComponents’ Đối tượng được tạo ra

78 thông qua phương thức ‘CreateUniformScaleDef()’ và tham số truyền vào là đường dẫn tới tệp tin khác biệt hoặc giống nhau mà chúng ta đã tạo trước đó

Sau khi tài liệu được tạo, chúng ta cập nhật giao diện người dùng để hiển thị phiên bản mới và lưu tài liệu Phương thức ‘Save()’ được sử dụng để lưu tài liệu, trong khi phương thức ‘Close()’ được đặt là ‘True’ để đóng tài liệu và giải phóng bộ nhớ.

Hàm 'GetFileName()' cho phép người dùng chọn một tệp tin từ hệ thống tệp, trả về đường dẫn tuyệt đối của tệp tin đã chọn Nếu không có tệp nào được chọn, hàm sẽ ném ra một ngoại lệ.

Ta tạo cái Rule mới với tên “Kiểm tra điểm khác của 2 part”

Nhập đoạn code phía trên vào

Sau đó nhấn Run Rule

Hình 5 54 Run Rule Hộp thoại xuất hiện và yêu cầu chọn 2 phiên bản để kiểm tra sự khác nhau

Hình 5 55 Chọn 2 file part để so sánh Chú ý rằng: Ở ví dụ này mình sử dụng file part này “CN187_3D_3”

Hình 5 56 File part đầu tiên

Và chỉnh sửa kích thước và Save As với tên “CN187_3D_3_1"

Hình 5 57 File part thứ hai Sau khi chọn 2 part này thì kết quả:

Hình 5 58 File part thứ hai

Phần màu đỏ thể hiện cho sự khác nhau của 2 phiên bản trên, cùng với đó tool cũng sẽ tạp ra 2 file part

Hình 5 59 Hai file mới được tạo ra

LẬP TRÌNH XUẤT BẢN VẼ 2D TỰ ĐỘNG

Giới thiệu

Trong thiết kế và sản xuất, xuất bản vẽ 2D là bước quan trọng để chuyển đổi thiết kế thành bản vẽ kỹ thuật chi tiết cho sản xuất Tuy nhiên, quá trình này thực hiện thủ công thường tốn nhiều thời gian và công sức Việc áp dụng ngôn ngữ lập trình VB.NET cùng với API của phần mềm Autodesk Inventor đã tự động hóa quy trình xuất bản vẽ 2D, từ đó nâng cao hiệu suất và tiết kiệm thời gian làm việc.

API của Autodesk Inventor

API (Giao diện lập trình ứng dụng) của Inventor cung cấp một bộ thư viện, lớp và phương thức cho phép truy cập và thao tác các thành phần trong Inventor Sử dụng mô hình đối tượng COM (Component Object Model), API này tạo ra liên kết giữa ứng dụng bên ngoài và Inventor Nó cung cấp các đối tượng và lớp đại diện cho các thành phần như tài liệu, phần tử, kích thước và mô hình 3D, cho phép người dùng tạo, truy cập và điều khiển các đối tượng này thông qua mã lập trình.

API trong Inventor cung cấp các phương thức và thuộc tính cần thiết để thực hiện thao tác và truy xuất thông tin từ các đối tượng Người dùng có thể sử dụng các phương thức này để tạo mới, chỉnh sửa, xóa và lấy thông tin về các thành phần trong Inventor.

API trong Inventor cho phép đăng ký sự kiện để theo dõi và phản ứng với các hành động như thay đổi tài liệu, mô hình và thuộc tính Việc này giúp xây dựng các ứng dụng tương tác, đáp ứng nhanh chóng với sự thay đổi trong Inventor.

API của Inventor cho phép tích hợp dễ dàng với các ứng dụng và công nghệ bên ngoài, giúp kết nối với cơ sở dữ liệu, hệ thống quản lý phiên bản, hệ thống ERP và các ứng dụng mô phỏng khác Nhờ đó, người dùng có thể tạo ra quy trình làm việc liền mạch và tự động hóa các tác vụ, nâng cao hiệu quả công việc.

Cách thực hiện

83 a Xác định các bản vẽ và hình chiếu:

Để bắt đầu, cần xác định danh sách các bản vẽ cần xuất qua API, những bản vẽ này có thể được lưu trữ trong danh sách hoặc được chọn từ một tệp dữ liệu.

Để tạo các bản vẽ chính xác, cần xác định các hình chiếu tương ứng cho từng bản vẽ Thông tin về các hình chiếu này có thể được lưu trữ trong tệp dữ liệu hoặc nhập trực tiếp từ người dùng Bên cạnh đó, việc tạo nút nhấn và gắn kết sự kiện cũng là bước quan trọng trong quy trình này.

Sử dụng API để tạo nút nhấn trong giao diện chương trình, nút nhấn này sẽ được đặt ở vị trí hợp lý và có chức năng xuất hàng loạt các bản vẽ.

- Gắn kết sự kiện với nút nhấn để kích hoạt quá trình xuất hàng loạt khi người dùng nhấn vào nút c Xử lý quá trình xuất hàng loạt:

- Sử dụng API để truy cập từng bản vẽ và hình chiếu tương ứng

- Tạo các bản vẽ mới và thực hiện các thao tác xuất bản, bao gồm lưu trữ và đặt tên cho các tệp kết quả xuất

84 Tạo và mở File Template Add-in của Inventor trong phần mềm Visual Basic

Sau khi đặt tên cho dự án, chúng ta mở phần mã nguồn chính để tạo nút nhấn cho phần mềm, chú ý đến khu vực được khoanh đỏ.

Mở rộng phần code với nội dung như sau:

Dim partRibbon As Ribbon g_inventorApplication.UserInterfaceManager.Ribbons.Item("Part")

'' Tạo một tab tool trên thanh ribbon

Dim toolsTab As RibbonTab = partRibbon.RibbonTabs.Item("id_TabTools")

Dim customPanel As RibbonPanel = toolsTab.RibbonPanels.Add("SmartTool",

'' Thêm một nút nhấn mới customPanel.CommandControls.AddButton(m_sampleButton)

Private Sub m_uiEvents_OnResetRibbonInterface(Context As NameValueMap) Handles m_uiEvents.OnResetRibbonInterface

' Thanh ribbon được reset và add-ins user-interface

' Tạo sự kiện cho nút nhấn

Private Sub m_sampleButton_OnExecute(Context As NameValueMap) Handles m_sampleButton.OnExecute

' Tạo đường dẫn mở file Template của bản vẽ

Dim oFileDlg As New OpenFileDialog() oFileDlg.Filter = "AutoCAD Drawing Files (*.dwg)|*.dwg|Inventor Drawing Template Files (*.idw)|*.idw" oFileDlg.Title = "Chọn Drawing Template File"

If oFileDlg.ShowDialog() = DialogResult.OK Then

Dim sTemplateFile As String = oFileDlg.FileName

Dim oDrawDoc As DrawingDocument = Nothing

' Tạo câu lệnh kiểm tra để tránh lỗi

Try oDrawDoc g_inventorApplication.Documents.Add(DocumentTypeEnum.kDrawingDocumentObject, sTemplateFile)

MessageBox.Show("Failed to create drawing document from template file Error: " & ex.Message)

' Tạo bản mở các file Part

Dim oFileDlgPart As New OpenFileDialog() oFileDlgPart.Multiselect = True oFileDlgPart.Filter = "Inventor Part Files (*.ipt)|*.ipt" oFileDlgPart.Title = "Select Part Files"

If oFileDlgPart.ShowDialog() = DialogResult.OK Then

For Each sFilePath As String In oFileDlgPart.FileNames

' Tạo các bản vẽ cho mỗi part

Dim oNewDrawDoc As DrawingDocument g_inventorApplication.Documents.Add(DocumentTypeEnum.kDrawingDocumentObject, sTemplateFile)

Dim oPartDoc As PartDocument g_inventorApplication.Documents.Open(sFilePath)

Dim oSheet As Sheet = oNewDrawDoc.Sheets.Item(1)

Try oPartDoc = g_inventorApplication.Documents.Open(sFilePath) Catch ex As Exception

MessageBox.Show("Lỗi mở file Error: " & ex.Message)

' Tạo logic cho thông số scale

Dim oBBox As Box = oPartDoc.ComponentDefinition.RangeBox

Dim oWidth As Double = oBBox.MaxPoint.X - oBBox.MinPoint.X + oBBox.MaxPoint.Y

Dim oHeight As Double = oBBox.MaxPoint.X - oBBox.MinPoint.Y + oBBox.MaxPoint.Z

Dim oZ As Double = oBBox.MaxPoint.Z - oBBox.MinPoint.Z

Dim oScale As Double oScale = oSheetWidth / oWidth

Dim oscale1 As Double oscale1 = oSheetWidth / oHeight

If oScale < oscale1 Then oscale2 = oScale

Logic của giá trị Scale trong phần mềm Inventor liên quan đến việc tính toán kích thước và tỷ lệ thu phóng của chi tiết part Đầu tiên, đoạn mã sẽ lấy hình hộp chứa (bounding box) của chi tiết, sau đó tính toán chiều rộng, chiều cao và chiều sâu dựa trên các điểm tối đa (MaxPoint) và tối thiểu (MinPoint) của hộp chứa.

Nó tính toán tỷ lệ thu phóng dựa trên chiều rộng của đối tượng so với chiều rộng của trang vẽ, được đặt là 10, và cũng tính toán tỷ lệ thu phóng dựa trên chiều cao của đối tượng so với chiều rộng của trang vẽ.

Cuối cùng, bài viết so sánh hai tỷ lệ thu phóng đã được tính toán và chọn giá trị nhỏ hơn Điều này đảm bảo rằng đối tượng sẽ được hiển thị trên trang vẽ với tỷ lệ thu phóng phù hợp, tránh tình trạng bị méo mó.

Dim oTransGeom As TransientGeometry = g_inventorApplication.TransientGeometry

Dim viewCenter As Point2d = oTransGeom.CreatePoint2d(oSheet.Width / 3, 2 * oSheet.Height / 3)

' Thêm base view vào drawing

Dim oView As DrawingView = oSheet.DrawingViews.AddBaseView(oPartDoc, viewCenter, oscale2, ViewOrientationTypeEnum.kFrontViewOrientation,

' Tạo các point để đặt vị trí cho các view

Dim V1Point2D As Point2d g_inventorApplication.TransientGeometry.CreatePoint2d(oView.Center.X + 12, oView.Center.Y)

Dim V2Point2D As Point2d g_inventorApplication.TransientGeometry.CreatePoint2d(oView.Center.X, oView.Center.Y - 12)

Dim V3Point2D As Point2d g_inventorApplication.TransientGeometry.CreatePoint2d(oView.Center.X + 12, oView.Center.Y - 12)

' Thêm Projected view vào drawing

Dim oView1 As DrawingView = oSheet.DrawingViews.AddProjectedView(oView, V1Point2D, DrawingViewStyleEnum.kFromBaseDrawingViewStyle)

Dim oView2 As DrawingView = oSheet.DrawingViews.AddProjectedView(oView, V2Point2D, DrawingViewStyleEnum.kFromBaseDrawingViewStyle)

Dim oView3 As DrawingView = oSheet.DrawingViews.AddProjectedView(oView, V3Point2D, DrawingViewStyleEnum.kShadedDrawingViewStyle)

'tạo kích thước tương ứng cho các view

For Each View As DrawingView In oSheet.DrawingViews

Try oSheet.DrawingDimensions.GeneralDimensions.Retrieve(oView) oSheet.DrawingDimensions.GeneralDimensions.Retrieve(oView1) oSheet.DrawingDimensions.GeneralDimensions.Retrieve(oView2)

MsgBox("Failed to retrieve model dimensions/annotations from view: "

Dim oSheets As Sheets = oNewDrawDoc.Sheets

For Each oSheet In oSheets oViews = oSheet.DrawingViews

For Each oView In oViews

Dim oCenterline As AutomatedCenterlineSettings oView.GetAutomatedCenterlineSettings(oCenterline) oCenterline.ApplyToHoles = True oCenterline.ProjectionParallelAxis = True oView.SetAutomatedCenterlineSettings(oCenterline)

'Thay đổi Style của kích thước

Dim defaultDimStyle As DimensionStyle oNewDrawDoc.StylesManager.ActiveStandardStyle.ActiveObjectDefaults.LinearDimens ionStyle defaultDimStyle.Spacing = 0.62 defaultDimStyle.Gap = 0.06 defaultDimStyle.Extension = 0.06 defaultDimStyle.PartOffset = 0.4 defaultDimStyle.OriginOffset = 0.08 defaultDimStyle.TrailingZeroDisplay = False defaultDimStyle.AngularTrailingZeroDisplay = False

'Xắp xếp các kích thước theo hướng phù hợp

Dim oDimsToBeArranged As ObjectCollection oDimsToBeArranged g_inventorApplication.TransientObjects.CreateObjectCollection oDrawingDimensions = oSheet.DrawingDimensions

For Each oDrawingDim In oDrawingDimensions

If TypeOf oDrawingDim Is LinearGeneralDimension Or TypeOf oDrawingDim Is AngularGeneralDimension Then oDrawingDim.CenterText oDimsToBeArranged.Add(oDrawingDim)

Next oDrawingDimensions.Arrange(oDimsToBeArranged) oPartDoc.Close()

If Not oDrawDoc Is Nothing Then

System.Runtime.InteropServices.Marshal.ReleaseComObject(oDrawDoc) oDrawDoc = Nothing

End If oNewDrawDoc.Save() oNewDrawDoc.Close()

Kết quả thực nghiệm

Sau khi tạo mới một file Part và bắt đầu thiết kế, nút nhấn Smart Tools sẽ xuất hiện trên tab Tool của thanh Ribbon, cho phép người dùng truy cập các công cụ đã được lập trình sẵn.

Hình 6 3 Nút nhấn trong phần mềm Nhấn vào nút SmartTools

Ta nhận được những sự kiện sau: Đầu tiên xuất hiện bản chọn template, ta chọn file Tempalate phù hợp cho việc xuất bản

Hình 6 4 Bản chọn Template Drawing Sau khi đã chọn Template ta chọn các file part cần thiết cho việc xuất bản vẽ:

Hình 6 5 Bản chọn file Part Kết quả:

Hình 6 6 Ảnh bản vẽ được xuất

Lợi ích và ứng dụng

Việc sử dụng API trong Inventor để tự động xuất hàng loạt các bản vẽ với các hình chiếu tương ứng mang lại nhiều lợi ích cho quy trình thiết kế cơ khí, bao gồm tiết kiệm thời gian, giảm thiểu sai sót và nâng cao hiệu quả làm việc.

Quá trình xuất hàng loạt được tự động hóa giúp tiết kiệm thời gian và công sức, giảm thiểu công việc thủ công và nâng cao hiệu quả thiết kế.

Để đảm bảo tính chính xác và nhất quán trong quy trình thiết kế, các bản vẽ và hình chiếu tương ứng được xử lý tự động.

Sử dụng API không chỉ giúp tăng cường hiệu suất làm việc mà còn giảm thiểu sai sót trong quá trình xuất bản và tạo bản vẽ.

BIÊN SOẠN BÀI TẬP

Sử dụng các công cụ đã tạo được để xuất bản vẽ tự động cho các chi tiết

Hình 7 1 Chi tiết AUTODRAWING1 Sau đó chọn Run Rule

Hình 7 2 Run Rule Kết quả sau khi chạy Rule “Tạo bản vẽ và scale tự động”

Hình 7 3 Kết quả sau khi chạy Rule “Tạo bản vẽ và scale tự động”

Tiếp theo, sử dụng công cụ dim đường tâm cho các hình chiếu trong bản vẽ bằng cách chọn “Tạo đường tâm” và nhấn Run Rule để thực hiện.

Hình 7 5 Run Rule “Tạo đường tâm”

Hình 7 6 Kết quả công cụ “Tạo đường tâm”

Bước đến, ta tiến hành dim kích thước tự động bằng Rule “Dim kích thước tự động”

Sau đó nhấn Run Rule

Hình 7 7 Run Rule “Dim kích thước tự động”’

Hình 7 8 Kết quả của dim kích thước tự động

Việc sử dụng công cụ dim kích thước tự động có thể dẫn đến tình trạng kích thước lộn xộn và thiếu quy luật Do đó, cần thiết phải áp dụng thêm công cụ sắp xếp kích thước để hoàn thiện bản vẽ một cách hiệu quả hơn.

Ta có các kích thước lộn xộn như trên, các kích thước chồng lên nhau và nằm trên hình dạng của chi tiết

Và sau khi nhấn chạy code:

Hình: Run Rule sắp xếp kích thước Kết quả:

Hình 7 9 Kết quả sắp xếp kích thước

Kích thước cực kì dễ nhìn và được sắp xếp 1 cách khoa học từ nhỏ đến lớn

Và khoảng cách giữa kích thước đầu tiên đến chi tiết đều bằng nhau, và hoàn toàn có thể tùy biến được

Chỉ với vài bước đơn giản, bạn có thể nhanh chóng tạo ra một bản vẽ hoàn chỉnh mà không cần tốn nhiều thời gian, công sức hay thao tác phức tạp.

Hình 7 10 Chi tiết AUTODRAWING2 Sau đó chọn Run Rule

Hình 7 11 Run Rule Kết quả sau khi chạy Rule “Tạo bản vẽ và scale tự động”

100 Hình 7 12 Kết quả sau khi chạy Rule “Tạo bản vẽ và scale tự động”

Sử dụng công cụ dim đường tâm cho các hình chiếu trong bản vẽ bằng cách chọn “Tạo đường tâm” và nhấn Run Rule.

Hình 7 14 Run Rule “Tạo đường tâm”

Hình 7 15 Kết quả công cụ “Tạo đường tâm”

Bước đến, ta tiến hành dim kích thước tự động bằng Rule “Dim kích thước tự động”’

Sau đó nhấn Run Rule

Hình 7 16 Run Rule Kết quả:

Hình 7 17 Kết quả của dim kích thước tự động

Việc sử dụng công cụ dim kích thước tự động có thể dẫn đến tình trạng kích thước bị lộn xộn và không có quy luật Do đó, để hoàn thiện bản vẽ, cần thiết phải sử dụng thêm công cụ sắp xếp kích thước.

Ta có các kích thước lộn xộn như trên, các kích thước chồng lên nhau và nằm trên hình dạng của chi tiết

Và sau khi nhấn chạy code:

Hình 7 18 Run Rule sắp xếp kích thước Kết quả:

Hình 7 19 Kết quả sắp xếp kích thước

Kích thước cực kì dễ nhìn và được sắp xếp 1 cách khoa học từ nhỏ đến lớn

Và khoảng cách giữa kích thước đầu tiên đến chi tiết đều bằng nhau, và hoàn toàn có thể tùy biến được

Chỉ với vài bước đơn giản, bạn có thể nhanh chóng tạo ra một bản vẽ hoàn chỉnh mà không cần tốn nhiều thao tác, thời gian hay công sức.

Hình 7 20 Chi tiết AUTODRAWING3 Sau đó chọn Run Rule

Hình 7 21 Run Rule Kết quả sau khi chạy Rule “Tạo bản vẽ và scale tự động”

106 Hình 7 22 Kết quả sau khi chạy Rule “Tạo bản vẽ và scale tự động”

Sử dụng công cụ "Tạo đường tâm" để dim đường tâm cho các hình chiếu trong bản vẽ, sau đó nhấn Run Rule để hoàn tất quá trình.

Hình 7 24 Run Rule “Tạo đường tâm”

Hình 7 25 Kết quả công cụ “Tạo đường tâm”

Vì chi tiết này không có đường tâm lỗ hay trục nên các hình chiếu không thể hiển thị đường tâm

Bước đến, ta tiến hành dim kích thước tự động bằng Rule “Dim kích thước tự động”’

Sau đó nhấn Run Rule

Hình 7 26 Run Rule Kết quả:

Hình 7 27 Kết quả của dim kích thước tự động

Việc sử dụng công cụ dim kích thước tự động có thể dẫn đến tình trạng kích thước lộn xộn và thiếu quy luật Do đó, cần áp dụng thêm công cụ sắp xếp kích thước để hoàn thiện bản vẽ một cách chính xác và chuyên nghiệp hơn.

Ta có các kích thước lộn xộn như trên, các kích thước chồng lên nhau và nằm trên hình dạng của chi tiết

Và sau khi nhấn chạy code:

Hình 7 28 Run Rule sắp xếp kích thước Kết quả:

Hình 7 29 Kết quả sắp xếp kích thước 7.1.4 Chi tiết AUTODRAWING4

Sau đó chọn Run Rule

Hình 7 32 Kết quả sau khi chạy Rule “Tạo bản vẽ và scale tự động”

Tiếp theo, chúng ta sẽ sử dụng công cụ tạo đường tâm cho các hình chiếu trong bản vẽ bằng cách chọn “Tạo đường tâm” và nhấn nút Run Rule.

Hình 7 34 Run Rule “Tạo đường tâm”

Hình 7 35 Kết quả công cụ “Tạo đường tâm”

Vì chi tiết này không có đường tâm lỗ hay trục nên các hình chiếu không thể hiển thị đường tâm

Bước đến, ta tiến hành dim kích thước tự động bằng Rule “Dim kích thước tự động”’

Sau đó nhấn Run Rule

Hình 7 36 Run Rule Kết quả:

Hình 7 37 Kết quả của dim kích thước tự động

Việc sử dụng công cụ dim kích thước tự động có thể dẫn đến tình trạng kích thước lộn xộn và không có quy luật Do đó, để hoàn chỉnh bản vẽ, cần thiết phải sử dụng thêm công cụ sắp xếp kích thước.

Ta có các kích thước lộn xộn như trên, các kích thước chồng lên nhau và nằm trên hình dạng của chi tiết

Và sau khi nhấn chạy code:

Hình 7 38 Run Rule sắp xếp kích thước Kết quả:

Hình 7 39 Kết quả sắp xếp kích thước

Sử dụng công cụ để kiểm tra sự thay đổi của các chi tiết sau khi cập nhật lên phiên bản cao hơn

nhật lên phiên bản cao hơn

Khách hàng đã cung cấp hai thư mục với các cụm chi tiết phiên bản khác nhau để kiểm tra tính năng lắp ráp và vận hành Tuy nhiên, do một số lý do nhất định, các kỹ sư đã quyết định cải tiến và nâng cấp lên phiên bản cao hơn Họ thực hiện chỉnh sửa trực tiếp trên mô hình 3D trước khi hợp tác với các công ty có năng lực để tạo ra bản vẽ 2D có thể gia công.

Việc xác định các chi tiết mà kỹ sư đã chỉnh sửa là rất quan trọng, nhưng đôi khi họ không ghi chú lại, dẫn đến việc không nhớ rõ những thay đổi đã thực hiện Trong tình huống này, việc sử dụng công cụ kiểm tra sự giống và khác nhau giữa hai chi tiết sẽ giúp tiết kiệm thời gian, chi phí, nhân lực và nâng cao độ chính xác.

Thực hành Đây là 2 phiên bản của cụm lắp ráp

Sử dụng rule “Kiểm tra điểm khác của 2 part” mà nhóm mình đã tạo ra để áp dụng vào thực hiện

Vào mục iLogic chọn Rule sau đó nhấn chuột phải và Run Rule

Hình 7 42 Chạy công cụ để kiểm tra

Sau đó xuất hiện hộp thoại “Chọn 2 part để so sánh”, ở đây mình kiểm tra part “Base Plate” của version1, chọn Open

Hình 7 43 Yêu cầu chọn chi tiết thứ nhất Tiếp đến hộp thoại yêu cầu chọn tiếp part “Base Plate” ở version2 Chọn

Hình 7 44 Yêu cầu chọn chi tiết thứ hai

Công cụ này sẽ xử lý và cung cấp kết quả nhanh chóng bằng cách tạo ra một phần chi tiết mới, chỉ thể hiện sự khác biệt giữa hai phiên bản.

Kết quả: Ở chi tiết “Base Plate” ở hộp thoại version1, được tạo 1 chi tiết part mới như tên cũ và gắn thêm đuôi “_dif”

Hình 7 45 Hộp thoại chứa kết quả của Version1

Mở part “Base Plate_dif”

Hình 7 46 Sự khác nhau giữa 2 phiên bản

Như vậy ở phiên bản cũ, không có 2 chi tiết hàn 2 bên, nên chúng chỉ hiển thị ở dạng surface Ở thư mục chứa phiên bản cao hơn

Hình 7 47 Hộp thoại chứa kết quả của Version2

Chi tiết “Base Plate” ở hộp thoại Version2, được tạo 1 chi tiết part mới như tên cũ và gắn thêm đuôi “_dif”

Hình 7 48 Sự khác nhau giữa 2 phiên bản

Như vậy ở phiên bản mới, có thêm 2 chi tiết hàn 2 bên, nên chúng hiển thị ở dạng body

Tương tự đối với chi tiết “REVOLING CYLINDER BODY”

Sử dụng rule “Kiểm tra điểm khác của 2 part”

Vào mục iLogic chọn Rule sau đó nhấn chuột phải và Run Rule

Hình 7 49 Chạy công cụ để kiểm tra

Sau đó xuất hiện hộp thoại “Chọn 2 part để so sánh”, ở đây mình kiểm tra part “REVOLING CYLINDER BODY” của version1, chọn Open

Hình 7 50 Yêu cầu chọn chi tiết thứ nhất Tiếp đến hộp thoại yêu cầu chọn tiếp part “REVOLING CYLINDER

Hình 7 51 Yêu cầu chọn chi tiết thứ hai

Công cụ này xử lý thông tin nhanh chóng và hiệu quả, tạo ra một phần chi tiết mới nhằm thể hiện sự khác biệt giữa hai phiên bản.

Kết quả: Ở chi tiết “REVOLING CYLINDER BODY” ở hộp thoại version1, được tạo 1 chi tiết part mới như tên cũ và gắn thêm đuôi “_dif”

Hình 7 52 Hộp thoại chứa kết quả của Version1

Mở part “REVOLING CYLINDER BODY _dif”

Hình 7 53 Sự khác nhau giữa 2 phiên bản

Như vậy ở phiên bản cũ, đường kính ngoài của chi tiết nhỏ hơn, nên bị cắt bỏ hết phần bên trong Ở thư mục chứa phiên bản cao hơn

Hình 7 54 Hộp thoại chứa kết quả của Version2

Chi tiết “REVOLING CYLINDER BODY” ở hộp thoại Version2, được tạo

1 chi tiết part mới như tên cũ và gắn thêm đuôi “_dif”

Hình 7 55 Sự khác nhau giữa 2 phiên bản

Như vậy ở phiên bản mới, đường kính ngoài của chi tiết mới lớn hơn, nên chúng hiển thị ở dạng body

Kết luận: Chỉ cần vài thao tác cơ bản, ta có thể kiểm tra được sự khác nhau của 2 chi tiết chuẩn đến từng mm

Tự động hoá xuất hàng loạt bản vẽ 2D với các hình chiếu tương ứng bằng công cụ iLogic trong Inventor là công nghệ quan trọng trong thiết kế cơ khí Bài viết này trình bày cách sử dụng và ứng dụng iLogic để tối ưu hoá quy trình xuất bản vẽ.

Chúng tôi đã phát triển một công cụ tối ưu hóa quy trình thiết kế thông qua việc tạo nút nhấn và sử dụng các tính năng trên Inventor Công cụ này cho phép tự động xuất bản các bản vẽ, giúp tiết kiệm thời gian và công sức cho người thiết kế, đồng thời nâng cao hiệu suất làm việc và đảm bảo tính chính xác trong quá trình xuất bản.

Trong quá trình tự động xuất bản vẽ, chúng tôi đã gặp một số khó khăn như kích thước chưa đẹp và cần điều chỉnh, các layer trong template chưa đồng bộ, và việc xử lý file 3D part cùng với việc áp dụng dung sai cho kích thước Để khắc phục những thách thức này, kỹ năng và hiểu biết về quy trình xuất bản, API phần mềm và xử lý file 3D part là rất quan trọng Hơn nữa, việc tinh chỉnh và cấu hình thiết lập đúng cũng cần thiết để đảm bảo kết quả xuất bản chính xác và đồng nhất.

Dựa trên những hiểu biết và kinh nghiệm, chúng tôi khẳng định rằng tự động xuất bản vẽ qua API là một giải pháp tiết kiệm thời gian và nâng cao hiệu suất làm việc Tuy nhiên, việc áp dụng và tối ưu hóa công cụ này cần sự tỉ mỉ, chú ý đến chi tiết và kỹ năng phân tích để đạt được kết quả tối ưu nhất.

Việc tự động xuất bản vẽ qua API trong Inventor mang lại nhiều lợi ích cho thiết kế cơ khí, nhưng cũng đặt ra những thách thức cần giải quyết Để thành công trong quy trình này, người dùng cần nắm vững kỹ năng xử lý file 3D part và tinh chỉnh các thiết lập Chúng tôi kỳ vọng công nghệ tự động xuất bản vẽ sẽ được phát triển và ứng dụng rộng rãi, góp phần nâng cao hiệu suất và chất lượng trong ngành công nghiệp thiết kế cơ khí.

[1] Phương Lan, Hoàng Đức Hải, Từng Bước Học Lập Trình Visual Basic Net, 6/2005

[2] Nguyễn Đăng Quan, Giáo trình Microsoft Visual Basic, Tháng 09-2009

[3] Đậu Quang Tuấn, Tự học lập trình Visual Basic 6.0 một cách hiệu quả & nhanh nhất, NXB Văn hóa – Thông tin, quý IV/2000

[4] Đặng Quế Vinh, Lập Trình Visual Basic 6.0 Cơ Bản, NXB Khoa Học Kỹ Thuật

[5] Fabian Stasiak, Autodesk Inventor 2021 Parametric design and Logic for beginners, 09-2020

PHỤ LỤC Ứng dụng các công cụ tối ưu hóa thiết kế cơ khí để xuất hàng loạt bản vẽ 2D sau khi đã hoàn thiện thiết kế 3D

Ngày nay, thiết kế cơ khí sử dụng công nghệ 3D trước khi chuyển sang bản vẽ 2D trên phần mềm Inventor ngày càng được ưa chuộng vì nhiều lợi ích vượt trội Mô hình 3D cho phép kỹ sư có cái nhìn trực quan về sản phẩm, dễ dàng tái tạo các thành phần và kiểm tra tính khả thi trước khi hiện thực hóa Việc áp dụng công nghệ 3D không chỉ tiết kiệm thời gian và chi phí thiết kế mà còn giúp phát hiện lỗi mà không cần tạo mẫu thử nghiệm nhiều lần Hơn nữa, công nghệ 3D nâng cao chất lượng sản phẩm và cung cấp giải pháp hiệu quả cho các vấn đề trong quá trình thiết kế cơ khí.

Ta áp dụng tự động hóa thiết kế trong hệ thống cơ khí cơ cấu đẩy (Pushing- Mechanism)

Sau khi hoàn thiện các bước thiết kế cơ bản trên Inventor, kỹ sư cần xuất bản vẽ chi tiết gia công để tiến hành gia công sản phẩm.

Ví dụ bên dưới ta có một số chi tiết như sau:

128 Hình ảnh 3D của chi tiết Part1

Hình ảnh 3D của chi tiết Part2

129 Hình ảnh 3D của chi tiết Part3

Hình ảnh 3D của chi tiết Part4

130 Hình ảnh 3D của chi tiết Part5

Hình ảnh 3D của chi tiết Part6

131 Hình ảnh 3D của chi tiết Part7

Hình ảnh 3D của chi tiết Part8

132 Hình ảnh 3D của chi tiết Part9

Hình ảnh 3D của chi tiết Part10

133 Hình ảnh 3D của chi tiết Part11

Hình ảnh 3D của chi tiết Part12

Hình ảnh 3D của chi tiết Part13

Hình ảnh 3D của chi tiết Part14

Chúng tôi sử dụng công cụ xuất bản vẽ hàng loạt để tự động điều chỉnh kích thước bản vẽ, đảm bảo phù hợp với khung bản vẽ tiêu chuẩn của khách hàng.

Để đơn giản hóa quy trình, tôi sẽ tạo một quy tắc mới mang tên “run all rule” nhằm gộp tất cả các tệp quy tắc cần thiết thành một tệp chuẩn duy nhất.

Với dòng code mình sử dụng là: iLogicVb.RunExternalRule("Tạo bản vẽ và scale tự động") iLogicVb.RunExternalRule("Dim kích thước tự động") iLogicVb.RunExternalRule("Sắp xếp kích thước")

To set up the trigger, simply drag and drop the "all run rule" into the After Open Document section under Manage -> Event Triggers Alternatively, you can use the previously analyzed Add-in for a straightforward solution.

Sau khi hoàn tất, ta chỉ cần mở part lên thì tất cả các công cụ sẽ tự động chạy mà không cần sự can thiệp của con người

Kết quả sau khi xuất bản bản vẽ bao gồm việc tự động dim kích thước, sắp xếp và lưu trữ các chi tiết Dưới đây là các bản vẽ được xuất trực tiếp từ iLogic mà không trải qua bất kỳ chỉnh sửa nào.

Bản vẽ chi tiết Part1

136 Bản vẽ chi tiết Part2

137 Bản vẽ chi tiết Part3

138 Bản vẽ chi tiết Part4

139 Bản vẽ chi tiết Part5

140 Bản vẽ chi tiết Part6

141 Bản vẽ chi tiết Part7

142 Bản vẽ chi tiết Part8

143 Bản vẽ chi tiết Part9

144 Bản vẽ chi tiết Part10

145 Bản vẽ chi tiết Part11

146 Bản vẽ chi tiết Part12

147 Bản vẽ chi tiết Part13

Bản vẽ chi tiết Part14

Ngày đăng: 14/11/2023, 10:11

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phương Lan, Hoàng Đức Hải, Từng Bước Học Lập Trình Visual Basic .Net, 6/2005 Khác
[2] Nguyễn Đăng Quan, Giáo trình Microsoft Visual Basic, Tháng 09-2009 Khác
[3] Đậu Quang Tuấn, Tự học lập trình Visual Basic 6.0 một cách hiệu quả &amp; nhanh nhất, NXB Văn hóa – Thông tin, quý IV/2000 Khác
[4] Đặng Quế Vinh, Lập Trình Visual Basic 6.0 Cơ Bản, NXB Khoa Học Kỹ Thuật 2005 Khác
[5] Fabian Stasiak, Autodesk Inventor 2021 Parametric design and Logic for beginners, 09-2020 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN