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 cho kỹ sư và nhà thiết kế Tuy nhiên, quá trình tổng hợp thông tin, phân tích, thiết kế và kiểm tra vẫn tiêu tốn nhiều thời gian và công sức.
Lập trình tự động hoá 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 hoá cho phép kỹ sư và nhà thiết kế tạo ra bản vẽ và phác thảo 3D một cách tự động, từ đó giảm thiểu sai sót và tăng cường độ chính xác trong quy trình thiết kế.
Tự động hoá thiết kế giúp tăng tốc độ và hiệu quả trong quá trình thiết kế cơ khí, giảm thời gian tìm kiếm thông tin Với các tính năng tự động hoá, kiểm tra, phân tích và lập kế hoạch sản xuất, Inventor Professional chứng minh 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ờ vào tính năng tự động hóa cho phép người sử dụng dễ dàng điều chỉnh và thích ứng các thiết kế Điều này không chỉ giúp nâng cao hiệu quả công việc mà còn tạo điều kiện thuận lợi cho việc thử nghiệm các giải pháp mới mà không cần khởi đầu lại từ đầu.
Tăng cường tính chính xác và độ tin cậy trong thiết kế: Tính năng tự động hoá hỗ trợ kỹ sư và nhà thiết kế đạt được độ chính xác cao trong bản vẽ và phác thảo 3D, từ đó nâng cao độ tin cậy của sản phẩm, cải thiện tính ổn định và giảm thiểu lỗi sai.
Sử dụng tự động hoá trong thiết kế giúp tiết kiệm thời gian và chi phí đáng kể so với phương pháp truyền thống, nâng cao hiệu quả sản xuất và giảm chi phí ở các giai đoạn sau Do đó, nhóm em đã 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 lĩnh vực quan trọng, với mục tiêu nâng cao 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 cải tiến quy trình thiết kế và phát triển công nghệ tiên tiến.
Đề tài này tập trung vào việc mở rộng kiến thức và kiểm chứng lý thuyết bằng cách phân tích và áp dụng các nguyên lý từ khoa học máy tính và cơ khí để phát triển giải pháp thực tế Qua đó, nó hỗ trợ xây dựng và kiểm chứng các mô hình, thuật toán cho việc tự động hóa thiết kế cơ khí Kết quả nghiên cứu có thể chia sẻ với cộng đồng khoa học và những người làm trong lĩnh vực cơ khí, từ đó góp phần mở rộng tri thức chung và thúc đẩy sự tiến bộ trong ngành này.
Lập trình tự động hóa thiết kế cơ khí trong Inventor Professional nâng cao hiệu suất làm việc, giảm thời gian và công sức của kỹ sư thiết kế Điều này không chỉ tăng năng suất mà còn giúp đáp ứng nhanh chóng các yêu cầu thiết kế.
Sử dụng lập trình tự động hóa trong thiết kế cơ khí không chỉ giúp giảm thiểu lỗi mà còn nâng cao tính chính xác của kết quả thiết kế Điều này góp phần đảm bảo độ tin cậy và chất lượng cao cho 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 Các công cụ này cho phép tái sử dụng và tạo ra các thiết kế hoàn chỉnh, chính xác, mang lại hiệu quả tối ưu cho quy trình sản xuất.
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ừ đó tăng 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á quá trình thiết kế cơ khí Các 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à cần thiết để phát triển các giải pháp tiên tiến, nhằm đáp ứng nhu cầu sản xuất và nâng cao 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 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 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 bao gồm 7 chương, bắt đầu 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 với phương pháp nghiên cứu Chương 2 sẽ trình bày tổng quan nghiên cứu, tập trung vào tình hình nghiên cứu liên quan đến đề tài cả trong và ngoài nước.
Chương 3 của bài viết tập trung vào cơ sở lý thuyết, giới thiệu mục đích và khảo sát tình hình hiện tại của đề tài 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, bao gồm hướng dẫn cài đặt và sử dụng Các quy tắc (Rule) được viết ra nhằm ứng dụng vào việc xuất bản vẽ tự động và tự động hóa quá trình thiết kế bản vẽ, bao gồm các chức năng như 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 và kích thước của bản vẽ, cũng như hiển thị kích thước nhập tay Cuối cùng, công cụ iLogic còn được ứng dụng để kiểm tra sự khác nhau giữa hai chi tiết sau khi được cải tiến lên phiên bản cao hơn.
Trong chương 6, bài viết 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á điểm mạnh và điểm yếu của phương pháp này Chương 7 tập trung vào việc biên soạn bài tập, áp dụng các công cụ đã phát triển để thực hiện 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" hướng đến việc 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 và tính đồng nhất trong thiết kế, đồng thời giảm thiểu lỗi và tiết kiệm thời gian cũng như chi phí cho người sử dụng.
Đề tài này nghiên cứu và phát triển các phương pháp tự động hóa 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, cũng như kiểm tra sự khác biệt giữa các chi tiết Nghiên cứu còn tập trung vào phát triển công cụ và ứng dụng trong phần mềm Inventor Professional để nâng cao hiệu quả thiết kế cơ khí Đề tài mang lại ý nghĩa quan trọng trong việc cải thiện quy trình thiết kế, 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í hàng đầu như Boeing, Airbus và Bombardier Aerospace sử dụng phần mềm CAD/CAM để tối ưu hóa quy trình thiết kế và sản xuất Việc áp dụng công nghệ này giúp họ giảm chi phí, rút ngắn thời gian sản xuất và nâng cao độ chính xác, từ đó tạo ra sản phẩm đáp ứng tốt 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 lĩnh vực 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 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.
Mặc dù tự động hóa thiết kế cơ khí mang lại nhiều lợi ích, nhưng cũng tồn tại một số thách thức đáng kể Một trong những thách thức chính là yêu cầu cao 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à yếu tố then chốt để 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 được hiệu quả tối ưu từ giải pháp tự động hoá, các doanh nghiệp cần chú trọng đầu tư vào đào tạo và huấn luyện nhân viên, nhằm nâng cao kỹ năng vận hành và tìm kiếm các giải pháp 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 toàn cầu trong thời đại công nghiệp 4.0, nhờ vào sự phát triển của công nghệ Các giải pháp tự động hóa đã được áp dụng trong quy trình thiết kế và sản xuất sản phẩm cơ khí, giúp nâng cao hiệu quả Nhiều công ty thiết kế cơ khí hiện nay đã sử dụng phần mềm CAD/CAM và thiết kế 3D để giảm thời gian thiết kế và dễ dàng đáp ứng các yêu cầu đa dạng.
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 và á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, 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í cả trong nước và quốc tế, việc tăng cường áp dụng các giải pháp tự động hóa và công nghệ cơ khí tiên tiến là điều cần thiết.
Tự động hóa thiết kế cơ khí đang trở thành xu hướng toàn cầu, và Việt Nam cũng đang nỗ lực nghiên cứu, áp dụng công nghệ cơ khí hiện đại nhằm nâng cao hiệu quả sản xuất và khả năng 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 như Add-In và iLogic trong phần mềm Inventor 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 giải quyết.
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ế cụ thể.
Bảy yếu tố chưa mang lại giá trị thẩm mỹ cho bản vẽ, điều này có thể cần sự can thiệp thủ công từ kỹ sư để điều chỉnh và tối ưu hóa kích thước.
Giá trị và tính chính xác 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ư Việc sử dụng các công cụ tự động hóa chỉ mang lại hiệu quả cao khi kỹ sư có kiến thức vững vàng trong việc vẽ và dựng file 3D Nếu thiếu sót về kiến thức và kỹ năng, kết quả có thể không đạt được độ chính xác như 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 cần được thực hiện một cách thông minh, nhằm đá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 đặt ra thách thức cho các nhà phát triển và người dùng Tuy nhiên, nhờ vào sự phát triển công nghệ và trình độ người sử dụng ngày càng cao, hy vọng rằng các công cụ này sẽ được cải thiện để 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ế đang trở thành xu hướng quan trọng nhằm nâng cao hiệu suất và giảm thời gian thiết kế Quy trình này áp dụng công nghệ và phương pháp để tự động thực hiện các tác vụ thiết kế, từ mô hình 3D đến bản vẽ chi tiết Nhờ vào tự động hoá, công sức và thời gian của nhà thiết kế được giảm thiểu, đồng thời tăng cường độ chính xác và tính 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 và VBA là hai công cụ phổ biến trong việc 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-in tùy chỉnh.
VBA là ngôn ngữ lập trình kịch bản giúp tự động hóa các tác vụ trong phần mềm Microsoft Office, bao gồm cả Inventor, thông qua việc phát triển các tiện ích mở rộng và ứng dụng bổ sung.
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 các tính năng mạnh mẽ của Inventor, tự động hóa 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 phép 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 hóa theo yêu cầu thiết kế.
Phần mềm Inventor
Phần mềm Inventor là một công cụ CAD mạnh mẽ cho kỹ thuật cơ khí, cho phép người dùng tạo, sửa đổi và phân tích mô hình 3D Nó hỗ trợ việc tạo bản vẽ chi tiết và thực hiện các phân tích kỹ thuật khác Với giao diện người dùng trực quan và các công cụ phong phú, Inventor giúp tối ưu hóa quá trình thiết kế cơ khí.
Việc sử dụng phần mềm Inventor trong nghiên cứu này giúp tận dụng các tính năng và chức năng sẵn có, đồng thời phát triển Add-In và iLogic thông qua 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ẽ để tạo mô hình 3D và bản vẽ chi tiết, giúp xử lý ràng buộc và thông tin thiết kế một cách hiệu quả Ngoài ra, nó còn cho phép người dùng tương tác với các thành phần cơ khí trong suốt quá trình thiết kế, nâng cao khả năng sáng tạo và chính xác.
Việc kết hợp Inventor với các ngôn ngữ lập trình như VB.NET và VBA giúp tự động hóa thiết kế cơ khí trở nên linh hoạt và hiệu quả, đồng thời tạo 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ợ hữu ích cho việc phát triển ứng dụng Windows, bao gồm cả các ứng dụng tích hợp với phần mềm Inventor.
Sử dụng Visual Basic trong phát triển Add-In cho phần mềm 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ừ đó xây dựng ứng dụng chất lượng cao Visual Basic cung cấp các công cụ mạnh mẽ cho việc thiết kế 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.
Bằng cách sử dụng Visual Basic, chúng tôi có khả năng thiết kế và triển khai các chức năng tự động hóa trong Add-In một cách linh hoạt 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 đóng vai trò quan trọng trong quá trình 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 không chỉ mang lại tính linh hoạt mà còn 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 n
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 Các yêu cầu bao gồm: a) Tự động hoá quá trình thiết kế cơ khí, với khả năng tạo bản vẽ kỹ thuật từ mô hình 3D và áp dụng quy tắc thiết kế; b) Hỗ trợ xuất hàng loạt bản vẽ kỹ thuật từ nhiều file 3D, giúp tiết kiệm thời gian và giảm thiểu công việc lặp lại; c) Tích hợp dễ dàng với phần mềm Inventor, đảm bảo công cụ tự động hóa có thể sử dụng thuận tiện trong quy trình làm việc; d) Tính linh hoạt và mở rộng, cho phép người dùng tùy chỉnh quy tắc thiết kế và mở rộng chức năng theo yêu cầu 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ẽ n
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 công cụ 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 Inventor và đáp ứng các yêu cầu cũng như mục tiêu đã đề ra.
Thiết kế và triển khai Add-In và iLogic trong phần mềm Inventor yêu cầu sự kết hợp giữa kiến thức thiết kế cơ khí và kỹ năng lập trình Việc đáp ứng các yêu cầu và thiết kế một cách hiệu quả giúp tạo ra công cụ tự động hóa mạnh mẽ, 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í về quy trình thiết kế hiện tại, cách sử dụng phần mềm trong quy trình này, cùng với 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, đồng thời đưa ra những đánh giá chi tiết và đề xuất các cải tiến cần thiết cho giai đoạn tiếp theo.
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, nhằm cung cấp các kết quả hữu ích cho doanh nghiệp và công ty thiết kế cơ khí Những kết quả này sẽ hỗ trợ 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 n
CÔNG CỤ LẬP TRÌNH ILOGIC
Giới thiệu
iLogic là công cụ lập trình tích hợp trong Autodesk Inventor, 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ữu ích cho người dùng trong việc cấu hình và tự động hóa trong thiết kế Nó cho phép người dùng 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 giản và dễ hiểu.
Công cụ iLogic là một phần mềm thiết yếu 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 Tích hợp trực tiếp vào 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, từ đó tùy chỉnh và tối ưu hóa quy trình thiết kế một cách hiệu quả.
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 việc thực hiện các nhiệm vụ, đồng thời nâng cao độ chính xác và tính đồng nhất của sản phẩm Bằng cách này, iLogic giúp giảm thiểu sai sót do con người trong quá trình 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 để phù hợp với 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 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 đóng vai trò quan trọng trong 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à đồng nhất, đồng thời giảm thiểu sai sót do con người Với tính ứng dụng cao và khả năng tùy chỉnh, iLogic có thể dễ dàng thích ứng với nhu cầu cụ thể của từng khách hàng, từ đó nâng cao hiệu suất công việc.
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 n
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" n
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 n
Hình 5 5 Mở bản vẽ Nhấn vào tab "iLogic", chọn "External Rules "
Hình 5 6 Tạo New External Rule
Nhấp vào nút "Create New External Rules" và tìm đến vị trí muốn lưu trữ file vb hoặc dll mà bạn muốn sử dụng làm External Rule n
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 quy tắc bên ngoài (External Rule), bạn có thể áp dụng nó trong các quy trình iLogic bằng cách sử dụng các hàm và phương thức đã được định nghĩa trong quy tắc đó.
Chúng ta có thể tạo một 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 là 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 n
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 n
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" n
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 đổi tên cho một thông số parameter bằng cách chọn từ danh sách và thay đổi tên thành các tên mới: “Width, Length, Extrusion1” như trong hình.
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 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 n
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 n
Hình 5 15 Nhập chiều dài Nhập chiều dài: 40mm n
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 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 Các câu lệnh điều khiển và cấu trúc cơ bản trong iLogic cho phép thực hiện quy trình tự động hóa phức tạp 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 tương ứng Nếu 'x' lớn hơn 5, thông báo sẽ là "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 n
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: n
[Các lệnh được thực thi trong vòng lặp]
Điều kiện trong vòng lặp được kiểm tra ở đầu mỗi lần lặp Nếu điều kiện này là 'true', lệnh trong vòng lặp sẽ được thực thi; nếu điều kiện là '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ú pháp của cấu trúc Select Case trong iLogic được sử dụng để xác định hành động tương ứng với giá trị đã chọn.
'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 đúng Cấu trúc này giúp tối ưu hóa quy trình làm việc và tăng tính linh hoạt trong lập trình.
'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' n
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 điều kiện trong cấu trúc vòng lặp sẽ trở thành False tại một thời điểm nào đó để tránh tình trạng vòng lặp vô hạn, có thể 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ó thể sử dụng hàm để thực hiện các tác vụ cụ thể và 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 n
Các tham số là các biến đầu vào của hàm, được phân cách bằng dấu phẩy và bao gồm tên cùng kiểu dữ liệu Nếu hàm không yêu cầu, bạn có thể không chỉ định tham số nào.
‘‘ 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ụ đa dạng trong hàm.
Giá trị trả về là giá trị do hàm cung cấp, và 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 giá trị trả về, bạn có thể không cần trả 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
Trong đoạn mã, chúng ta đã định nghĩa hàm 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 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 để làm việc với tài liệu, đối tượng như Part, Assembly, và Drawing Ngoài ra, còn có các hàm liên quan đến tệp tin như File và Path, cùng với nhiều hàm toán học, chuỗi và các loại hàm khác.
DocStrings trong iLogic Inventor là chuỗi đặc biệt dùng để 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)
DocStrings được sử dụng để 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 3 chiều Hàm này nhận sáu tham số đầu vào: 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 của hàm CalculateDistance, cùng với các tham số đầu vào và giá trị trả về của nó.
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à:
Tiết kiệm thời gian là một lợi ích lớn khi sử dụng mẫu bản vẽ chuẩn, vì nhân viên thiết kế có thể tái sử dụng các chi tiết đã được chuẩn hóa, từ đó không cần phải vẽ lại từ đầu Điều này không chỉ giúp tiết kiệm thời gian mà còn giảm bớt công sức cho nhân viên.
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 Một bộ bản vẽ chuẩn không chỉ quy định kích thước và định dạng mà còn hướng dẫn cách bố trí và chia sẻ bố cục, 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 không chỉ đảm bảo sản phẩm được sản xuất đồng bộ mà còn giảm thiểu sai sót không đáng có, từ đó giảm thiểu chi phí phát sinh liên quan đến những lỗi sản phẩm và thông tin sản phẩm.
Quản lý và tra cứu mẫu bản vẽ trở nên thuận tiện hơn khi có sự chuẩn hóa Khi xử lý nhiều mẫu bản vẽ khác nhau và quản lý sản phẩm với số lượng lớn, việc tìm kiếm và kiểm tra sẽ trở nên khó khăn Sử dụng mẫu bản vẽ chuẩn giúp nhanh chóng tra cứu, đối chiếu giữa các sản phẩm cùng loại, đả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 sẽ tối ưu hóa quy trình thiết kế và sản xuất, giúp 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 hiệu quả 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 hữu ích.
Việc bổ sung thuộc tính tùy chỉnh vào bản vẽ giúp bạn gắn liền các thông tin chi tiết 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 để nâng cao hiệu quả quản lý và theo dõi sản phẩm.
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 cho phép truy cập thông tin nhanh chóng và dễ dàng Điều này đảm bảo tính nhất quán trong quá trình sản xuất và giúp các phòng ban khác nhau trong công ty có thể tiếp cận thông tin cần thiết một cách hiệu quả.
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ẽ giúp lưu trữ thông tin sản phẩm hiệu quả bên cạnh tài liệu thiết kế và sản xuất Điều này rất quan trọng trong các hệ thống quản lý thông tin sản phẩm và 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 n
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 n
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
Hình 5 28 Thiết lập thông tin bản vẽ
Sau khi hoàn thành, chọn "Save" để lưu title block của bạn Bây giờ, title block này sẽ hiển thị trong danh sách title block của bạn 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 tạo xong định dạng bảng tính, 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 bảng tính, hãy chọn "File" trên thanh menu, sau đó chọn "Save As" và 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 n
Một cửa sổ mới sẽ mở ra để 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 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 thuộc tính và sự kiện cho các 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 gọi form trong quy tắc iLogic hoặc sử dụng các sự kiện kết hợp 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 cho thuộc tính tùy chỉnh Để thêm mục tùy chỉnh vào biểu mẫu, hãy kéo thuộc tính từ danh sách và thả vào vị trí mong muốn Bạn cũng có thể điều chỉnh biểu tượng, nhãn và thông tin chi tiết cho mục tùy chỉnh trên biểu mẫu.
Hình 5 31 Thêm các mục tùy chỉnh vào form
Khi bạn thêm các mục tùy chỉnh vào form, 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 bạn trích xuất thông tin và tạo ra các báo cáo tự động một cách 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: n
Đảm bảo tính chính xác của thông tin property là rất quan trọng, bao gồm các chi tiết như tác giả, ngày tạo và các thuộc tính khác Việc kiểm tra thông tin này giúp xác nhận rằng các dữ liệu liên quan đến bản vẽ là chính xác và đáp ứng đầy đủ yêu cầu kỹ thuật.
Quản lý tài sản trở nên đơn giản hơn với việc lưu trữ thông tin trong file bản vẽ, giúp bạn 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, và tiết kiệm thời gian trong các tác vụ quản lý file.
Tă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 dự án hoặc khách hàng.
Kiểm tra thông tin property 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ý dễ dàng và nâng cao tính linh hoạt.
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 utilizes the SAPI.SpVoice object to announce that certain information has not been fully completed, prompting the user with a message box titled "iProperty Check." The message box displays the same warning and allows the user to acknowledge it by clicking "OK." Subsequently, the iLogicForm is presented in a modal mode, labeled "iProperty Editor," for further action.
Đoạn mã này kiểm tra các thuộc tính iProperty trên bản vẽ để xác định xem chúng có giá trị hay không Nếu phát hiện có thuộc tính nào thiếu giá trị, mã sẽ thông báo cho người dùng bằng cảnh báo 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",
Trong bài viết này, "Custom" đề cập đến 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ủa thuộc tính mà bạn muốn truy cập.
Mỗi điều kiện If kiểm tra độ dài chuỗi của một thuộc tính bằng hàm Len Nếu giá trị 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 lên 1.
Nếu giá trị của EmptyProperties lớn hơn 0, mã sẽ phát thông báo bằng giọng nói cho người dùng, sử dụng đoạn mã: objSPVoice = CreateObject("SAPI.SpVoice") và objSPVoice.Speak("Các thông tin chưa được điền đầy").
Đoạn mã sử dụng iLogicForm.ShowGlobal để hiển thị một hộp thoại thông báo, 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 n
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
Hình 5 33 Hình thông báo các thông tin chưa điền đầy
Sau khi nhấn OK thì Form Iproperty Editor sẽ hiển thị lên để người sử dụng nhập giá trị vào bản vẽ n
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 tự động hóa quá trình vẽ với số lượng lớn bản vẽ, mang lại độ chính xác và hiệu quả cao hơn 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 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 Chúng giúp việc đọc hiểu và truyền tải thông tin trở nên dễ dàng hơn, từ đó 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ác 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 đang trở thành một yếu tố quan trọng trong các quy trình sản xuất và thiết kế hiện đại, với sự ứng dụng ngày càng rộng rã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")` Next, write the document's path and filename with `oWrite.WriteLine(ThisDoc.PathAndFileName(True))`, and ensure to close the file with `oWrite.Close()` The variable `oFilePather` is assigned the document's path concatenated with a backslash, represented as `oFilePather = ThisDoc.Path & "\"`.
In the file for parts and assemblies, a new drawing name is written into a temporary text file using the command `oWrite = System.IO.File.CreateText("C:\TEMP\partno.txt")` The line `oWrite.WriteLine(oFilePather & iProperties.Value("Project", "Part Number") & ".dwg")` generates the drawing name by combining the file path and the part number from the project properties Finally, the file is closed 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)) n
'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") n
ActiveSheet.View("VIEW1").ScaleString = Scaler
ActiveSheet.View("VIEW4").ScaleString = Scaler
Dòng 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 phần CODE của DRAWING, giúp tránh lỗi cho 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 một biến mới có tên oFilePather để lưu trữ đường dẫn đế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 trong thư mục TEMP nhằm lưu giữ 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 các biến oFilePather và oDrawingName Nếu đường dẫn tồn tại, tài liệu vẽ sẽ được mở; nếu không, một bản vẽ mới sẽ được tạo bằng cách sao chép file mẫu đã chuẩn bị trước Sau đó, 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ị của 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ẽ dừng lại; nếu không, mã sẽ mở một tập tin văn bản đã tạo trước đó để lấy đường dẫn tài liệu gốc, sau đó sử dụng đường dẫn này để thay thế tệp mẫu trên bản vẽ mới.
Mã sử dụng tham số mới "Scaler" để lưu trữ tỷ lệ vẽ, hiển thị hộp thoại cho phép người dùng chọn tỷ lệ Sau khi lựa chọn, 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
Hình 5 36 Hình ảnh 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 n
'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 n
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ã để chạy quy trình tự động có khả năng cao không phải là số chẵn, do nó được lập trình để thực hiện phép 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ông cụ tự động trong việc căn giữa và sắp xếp 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 tăng cường độ chính xác, tiết kiệm thời gian và nâng cao hiệu quả làm việc, đồng thời giảm thiểu sai sót trong quá trình thiết kế.
Sử dụng 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ẽ.
Sử dụng các công cụ tự động trong vẽ kỹ thuật không chỉ nâng cao tính thẩm mỹ với những bản vẽ sắp xếp độ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ẽ, chẳng hạn như khoảng cách giữa các kích thước kề nhau.
Việc sử dụng công cụ tự động để căn giữa và sắp xếp 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ư các chuyên gia trong lĩnh vực 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 tự động nhảy đến điểm đánh dấu "AECOKHI" khi xảy ra lỗi trong quá trình thực thi, giúp duy trì tính liên tục của chương trình Nếu không sử dụng lệnh này, chương trình sẽ dừng lại ngay khi gặp lỗi, gây gián đoạn trong quá trình chạy.
Đoạn mã đầu tiên trong khối lệnh này lấy tham chiếu đến bản vẽ mở và trang chọn Sau đó, nó duyệt qua tất cả các kích thước trên trang và căn giữa chúng nếu là đường thẳng hoặc góc bằng cách sử dụng phương thức CenterText cho đố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 được 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 xảy ra lỗi trong khối lệnh này, 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 có thể do nhiều lý do như kích thước tham khảo, yêu cầu dung sai đặc biệt, cần 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 kích thước một cách dễ dàng và chính xác.
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 nhập chính xác, cung cấp cho lập trình viên, nhà thiết kế và kỹ sư cơ khí một công cụ hữu ích để thiết kế và hiệu chỉnh Đ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 n
'Đặ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, nếu không, màu chữ sẽ trở lại màu đen.
Sau khi hoàn thành vòng lặp, mã sẽ 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 thị số kích thước bị ghi đè Ngược lại, nếu DimCount không lớn hơn 0, một MessageBox khác sẽ 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 n
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, nó sẽ hiển thị kích thước nhập tay, cho phép người dùng kiểm tra các kích thước đã chỉnh sửa thủ công Sau khi hoàn tất kiểm tra, cần phải đưa các kích thước này trở 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) n
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 hoàn tất, mã sử dụng iLogicVb.DocumentUpdate để cập nhật tài liệu và kết thúc Transaction bằng cách gọi Undo.End() Điều này đả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ị một cách thống nhất và chính xác, từ đó đảm bảo tính lắp ghép đú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, tăng cường độ chính xác và độ tin cậy, góp phần nâng cao 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 n
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 n
'Đặ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 là công cụ quan trọ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à định dạng Đoạn code 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 đó, một số biến được khai báo 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 code thực hiện việc 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 n
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 n
Xóa tất cả các kích thước lỗi
Trong bản vẽ Autodesk Inventor, kích thước có thể gặp lỗi do kết nối không đúng với đối tượng hoặc không kết nối với bất kỳ đối tượng nào Khi xảy ra tình huống 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 tài liệu vẽ.
Việc xóa tất cả 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 này giúp tiết kiệm thời gian và 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 n
' 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 không liên kết với đối tượng cụ thể trong tài liệu hiện tại Đầ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ó các kích thước cần loại bỏ Vòng lặp 'For Each' sẽ lặp qua tất cả các kích thước trong trang hiện tại để thực hiện việc xóa.
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 hay không Nếu không có liên kết, kích thước này sẽ được coi là không cần thiết và sẽ bị xóa bằng lệnh 'oDrawingDim.Delete'.
Ví dụ sau khi chỉnh sửa 1 chi tiết thì bản vẽ đã có kích thước lỗi n
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 tăng tính chính xác và rút ngắn thời gian thiết kế bản vẽ kỹ thuật Chức năng chính của nó là thêm các kích thước cần thiết vào bản vẽ, nhằm 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 trong bản vẽ.
Khi thiết kế bản vẽ kỹ thuật, việc đặt kích thước và khoảng cách chính xác là rất quan trọng Thực hiện các phép tính và kích thước thủ công có thể tốn thời gian và dễ dẫn đến sai sót Để khắc phục vấn đề này, công cụ kích thước tự động giúp tăng tốc quá trình thiết kế và nâng cao độ chính xác.
Triển khai công cụ kích thước tự động có thể nâng cao hiệu suất làm việc của 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 độ phức tạp của 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ẽ n
'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 from selected DrawingViews using the following methods: 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 xác định 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ẽ không chỉ tiết kiệm thời gian mà còn đảm bảo tính 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 configures them to apply to holes, parallel axes, and revolutions It then applies these settings to the first, second, and third DrawingViews, ensuring consistent centerline application 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 biệt giữa hai tệp là cần thiết do tính chất phức tạp và quy mô lớn của các tệp này So sánh thủ công hai tài liệu có thể dẫn đến khó khăn và sai sót, do đó, công cụ tự động hóa giúp cải thiện độ chính xác và hiệu quả trong quá trình này.
Sử dụng công cụ so sánh tệp tin, bạn có thể dễ dàng xác định sự khác biệt và điểm tương đồng giữa hai phiên bản tài liệu Việc này không chỉ tiết kiệm thời gian mà còn giảm thiểu nguy cơ mắ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 n
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 chứa các phần giống nhau giữa hai phiên bản Để thực hiện chương trình, phương thức ‘Main()’ sẽ được gọi đầu tiên.
Trong hàm ‘Main()’, chúng ta sử dụng hàm ‘GetFileName()’ để người dùng có thể chọn hai tệp tin Sau khi lựa chọn, 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 hiển thị các khác biệt giữa hai tài liệu và một phiên bản thể hiện những điểm giống nhau giữa chúng.
The function ‘CreateDiff()’ generates a difference object between two files by utilizing the ‘DerivedPartUniformScaleDef’ and adding 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 searching 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 Để thực hiện điều này, chúng ta tạo đối tượng ‘PartDocument’ và thiết lập nó thành tài liệu mới thông qua phương thức tương ứng.
‘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 n
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 đó
Cuối cùng, sau khi tài liệu được tạo, giao diện người dùng được cập nhật để hiển thị phiên bản mới và tài liệu được lưu lại Phương thức ‘Save()’ được sử dụng để lưu tài liệu, trong khi phương thức ‘Close()’ được thiết lập 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 tệp tin từ hệ thống tệp, trả về đường dẫn tuyệt đối của tệp đã chọn, hoặc ném ra ngoại lệ nếu không có tệp nào được chọn.
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 n
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" n
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 n
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 n
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 Tuy nhiên, quy trình thực hiện thủ công có thể 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 Autodesk Inventor đã tự động hóa quy trình xuất bản vẽ 2D, 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 các 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, mô hình 3D và hơn thế nữa, cho phép người dùng tạo, truy cập và điều khiển các đối tượng này qua mã lập trình.
API trong Inventor cung cấp các phương thức và thuộc tính cho phép người dùng 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ý các 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 Điều này giúp xây dựng các ứng dụng linh hoạt, đáp ứng nhanh chóng với sự tương tác và thay đổi trong Inventor.
API của Inventor hỗ trợ tích hợp với các ứng dụng và công nghệ bên ngoài, cho phé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 Điều này giúp tạo ra quy trình làm việc liền mạch và tự động.
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.
Để tiến hành, 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 Tiếp theo, hãy tạo nút nhấn và gán các sự kiện phù hợp để đảm bảo tính tương tác.
Sử dụng API để tạo nút nhấn trong giao diện chương trình giúp xuất hàng loạt các bản vẽ một cách hiệu quả Nút nhấn này sẽ được đặt ở vị trí hợp lý, đảm bảo tính tiện lợi cho người dùng trong quá trình thao tác.
- 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
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 n
' 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) n
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 được sử dụng để 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ã 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 và chiều cao của đối tượng so với chiều rộng của trang vẽ, với chiều rộng được đặt là 10.
Cuối cùng, bài viết so sánh hai tỷ lệ thu phóng đã 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 vẽ trên trang 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 n
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à thiết kế xong, nút Smart Tools sẽ xuất hiện trên tab Tool của thanh Ribbon.
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ẽ: n
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 việc 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 hoá giúp tiết kiệm thời gian và công sức, giảm bớt công việc thủ công và tối ưu hóa quy trình thiết kế.
Đảm bảo tính chính xác và nhất quán trong quy trình thiết kế là điều quan trọng, và việc tự động xử lý các bản vẽ cùng hình chiếu tương ứng sẽ giúp đạt được mục tiêu này.
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ẽ, mang lại hiệu quả cao hơn cho các quy trình này.
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” n
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ụ "Tạo đường tâm" để dim các hình chiếu trong bản vẽ 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 n
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à không có quy luật Để 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 nhằm tạo sự rõ ràng và chính xác cho bản thiết kế.
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: n
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ỉ cần thực hiện một 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 tốn nhiều thời gian và công sức.
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” n
Hình 7 12 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ụ "Tạo đường tâm" để dim các hình chiếu trong bản vẽ và nhấn "Run Rule" để thực hiện.
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ả: n
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 lộn xộn và không có quy luật Do đó, cần thiết phải sử 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à hợp lý 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 18 Run Rule sắp xếp kích thước Kết quả: n
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 tốn nhiều thời gian và 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” n
Hình 7 22 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ụ "Tạo đường tâm" để dim đường tâm cho các hình chiếu trong bản vẽ và nhấn Run Rule để thực hiện.
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ả: n
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à không có quy luật Do đó, cần thiết phải sử 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ả: n
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, sử dụng công cụ "Tạo đường tâm" để dim các hình chiếu trong bản vẽ, sau đó nhấn Run Rule để hoàn tất.
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ả: n
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 sự lộn xộn trong kích thước vì không thể sắp xếp chúng theo quy luật nhất định Do đó, cần thiết phải sử 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à hợp lý 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 38 Run Rule sắp xếp kích thước Kết quả: n
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 vận hành của một cụm chi tiết đã lắp ráp Tuy nhiên, do một số lý do nhất định, các kỹ sư đã thực hiện cải tiến và nâng cấp lên phiên bản cao hơn Họ tiến hành 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 kỹ sư đã chỉnh sửa chi tiết nào và lý do không ghi chú có thể dẫn đến việc quên sửa đổi Sử dụng công cụ kiểm tra sự giống và khác nhau giữa hai chi tiết sẽ 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 n
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 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ẽ nhanh chóng xử lý và cung cấp kết quả, 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” n
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 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” n
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ụ sẽ nhanh chóng xử lý và cung cấp kết quả, 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 “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” n
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 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 n
Tự động hóa quy trình xuất hàng loạt bản vẽ 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 iLogic để tự động xuất bản các bản vẽ 2D, giúp tiết kiệm thời gian và nâng cao hiệu quả công việc.
Chúng tôi đã phát triển một công cụ tối ưu hóa quy trình thiết kế trên Inventor thông qua việc tạo nút nhấn và sử dụng các tính năng của công cụ Việc tự động xuất bản bản vẽ không chỉ tiết kiệm thời gian và công sức cho người thiết kế mà còn 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 phải một số khó khăn như kích thước chưa đẹp và cần điều chỉnh sau khi xuất bản Các layer trong template chưa đồng bộ, đòi hỏi sự cân nhắc để giải quyết Việc xử lý các file 3D part và áp dụng dung sai cho kích thước cũng là thách thức lớn Để vượt qua những khó khăn này, kỹ năng và hiểu biết về quy trình xuất bản, API phần mềm, cùng với việc tinh chỉnh và cấu hình thiết lập là rất quan trọng nhằm đả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 của chúng tôi, việc tự động xuất bản bản vẽ qua API không chỉ tiết kiệm thời gian mà còn nâng cao hiệu suất làm việc Tuy nhiên, để đạt được kết quả tối ưu, cần phải chú trọng vào việc áp dụng và tinh chỉnh công cụ này với sự tỉ mỉ, quan tâm đến chi tiết và kỹ năng phân tích.
Việc tự động xuất bản vẽ qua API trong Inventor mang lại nhiều lợi ích cho ngành thiết kế cơ khí Tuy nhiên, để vượt qua những khó khăn trong quá trình này, cần nắm vững quy trình, kỹ năng xử lý file 3D part và tinh chỉnh các thiết lập Chúng tôi hy vọng rằng công nghệ tự động xuất bản vẽ sẽ được phát triển và áp 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 n
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í bằng công nghệ 3D trước khi tạo bản vẽ 2D trên phần mềm Inventor đang trở nên phổ biến nhờ vào những 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, giúp dễ dàng tái tạo các thành phần và kiểm tra tính khả thi trước khi thực hiện Việc sử dụng công nghệ 3D cũng tiết kiệm thời gian và chi phí thiết kế, vì có thể phát hiện lỗi mà không cần 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 thành các bước thiết kế cơ bản trên Inventor, kỹ sư cần xuất các 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: n
Hình ảnh 3D của chi tiết Part1
Hình ảnh 3D của chi tiết Part2 n
Hình ảnh 3D của chi tiết Part3
Hình ảnh 3D của chi tiết Part4 n
Hình ảnh 3D của chi tiết Part5
Hình ảnh 3D của chi tiết Part6 n
Hình ảnh 3D của chi tiết Part7
Hình ảnh 3D của chi tiết Part8 n
Hình ảnh 3D của chi tiết Part9
Hình ảnh 3D của chi tiết Part10 n
Hình ảnh 3D của chi tiết Part11
Hình ảnh 3D của chi tiết Part12 n
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 “chạy tất cả quy tắc” 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 event triggers, simply drag and drop the "all run rule" into the After Open Document section under Manage -> Event Triggers Alternatively, you can use the analyzed add-in mentioned above for a more straightforward approach.
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ẽ và tự động dim kích thước cho các chi tiết cho thấy sự sắp xếp và lưu trữ hiệu quả Dưới đây là các bản vẽ được xuất trực tiếp từ iLogic mà không qua bất kỳ chỉnh sửa nào.
Bản vẽ chi tiết Part1 n
136 Bản vẽ chi tiết Part2 n
137 Bản vẽ chi tiết Part3 n
138 Bản vẽ chi tiết Part4 n
139 Bản vẽ chi tiết Part5 n
140 Bản vẽ chi tiết Part6 n
141 Bản vẽ chi tiết Part7 n
142 Bản vẽ chi tiết Part8 n
143 Bản vẽ chi tiết Part9 n
144 Bản vẽ chi tiết Part10 n
145 Bản vẽ chi tiết Part11 n
146 Bản vẽ chi tiết Part12 n
147 Bản vẽ chi tiết Part13 n
Bản vẽ chi tiết Part14