Đồ án tìm hiểu ngôn ngữ autolisp và ứng dụng trong autocad

55 5 0
Đồ án tìm hiểu ngôn ngữ autolisp và ứng dụng trong autocad

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

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

Thông tin tài liệu

Báo cáo thực tập tốt nghiệp khoá 7 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHềNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY NGÀNH CÔNG NGHỆ THÔNG TIN Tìm hiểu ngôn ngữ AutoLISP Và Ứng dụng trong[.]

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHềNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY NGÀNH CƠNG NGHỆ THƠNG TIN Tìm hiểu ngơn ngữ AutoLISP Và Ứng dụng AutoCAD Giáo viên hướng dẫn: Thạc sĩ Đỗ Văn Chiểu Sinh viên : Lưu Thị Thu Trang Hải Phòng, 2007 Mục lục Lời cảm ơn Phần 1: Giới thiệu Tên mục đích đề tài Giới thiệu vài nét quan thực tập Phần 2: Nội dung Lời mở đầu Khái quát lập trình AutoCAD8 1.1 Kỹ thuật tự động ActiveX (ActiveX Automation) 1.2 AutoCAD VBA 1.3 AutoLISP Visual LISP 1.4 ObjectARX Giới thiệu chung 10 2.1 Vài nét sơ lược LISP 10 2.2 Lịch sử phát triển AutoLisp 10 2.3 Ưu nhược điểm AutoLisp 11 3.Ngơn ngữ lập trình AutoLISP 3.1 Căn AutoLisp 12 12 3.1.1 Xây dựng biểu thức AutoLISP 12 3.1.2 Cách nhập biểu thức AutoLISP: .13 3.1.3 Các hàm số học 13 3.2 Biến ký hiệu AutoLISP 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 14 Gán giá trị cho biến 14 Giá trị trả hàm AutoLISP .14 Sử dụng biến dòng lệnh AutoCAD 14 Các quy định đặt tên biến .14 Nhập giá trị cho tham số 14 Phạm vi biến AutoLISP 15 3.3 File chương trình AutoLISP 16 3.3.1 Tên file AutoLISP 16 3.3.2 Tạo file chương trình 16 3.3.3 Gọi file chương trình AutoLISP 17 3.3.4 Chú thích 17 3.3.5 Các hàm tự tạo 17 3.3.6 Biến toàn cục biến cục 18 3.3.7 Tạo lệnh AutoCAD .18 3.4 Nhập liệu 19 3.4.1 Nhập số nguyên 19 3.4.2 Nhập số thực .19 3.4.3 Nhập chuỗi 19 3.4.5 Tham số không rỗng 19 3.4.6 Kiểm soát liệu nhập vào 19 3.4.7 Biến hệ thống .19 3.5 Một số hàm 20 3.5.1 Hàm chuyển kiểu liệu từ chuỗi thành số ngược lại 20 3.5.2 Các hàm số học 21 3.5.3 Các hàm chuỗi 23 3.6 Xử lý danh sách 25 3.6.1 Phân loại : 25 3.6.2 Tạo danh sách 25 3.6.3 Các hàm xử lý danh sách 25 3.6.4 Các hàm xử lý danh sách nâng cao 26 3.7 Biểu thức điều kiện 28 3.7.1 Biểu thức điều kiện .28 3.7.2 Rẽ nhánh chương trình 29 3.7.3 Các hàm logic 30 3.8 Vòng lặp 31 3.8.1 Hàm Repeat 31 3.8.2 Hàm While 31 3.8.3 Hàm Append 31 3.8.4 Hàm 1+ 32 3.8.5 Hàm 1- .32 3.8.6 Truy xuất phần tử danh sách 32 3.9 Tạo hộp thoại 33 3.9.1 Khái niệm file DCL thành phần hộp thoại 33 3.9.2 Phân loại ttile 34 3.9.3 Các thuộc tính tile 40 3.9.4 Các hàm điều khiển hộp thoại 41 3.9.5 Các hàm điều khiển tile .42 3.9.6 Một số ý thiết kế hộp thoại 42 3.10 Các hàm xử lý hình đồ hoạ thiết bị nhập 44 3.10.1 Màn hình đồ họa 44 3.10.2 Gọi hiển thị menu .45 3.10.3 Các hàm truy xuất hình đồ họa thiết bị nhập .46 Chương trình minh hoạ 48 4.1 Lỗ Gujong 48 4.2 Dầm chữ I 51 Kết luận 55 Các tài liệu tham khảo 56 Lời cảm ơn Lời đầu tiên, em muốn bày tỏ lòng biết ơn chân thành thầy giáo, cô giáo trường Đại học Dân lập Hải Phịng, người thầy khơng tận tình truyền đạt kiến thức mà cũn luụn động viên, quan tâm, giúp đỡ chúng em học tập sống suốt bốn năm học trường Em xin chân thành cảm ơn thầy giáo Th.S Đỗ Văn Chiểu, người thầy trực tiếp giảng dậy hướng dẫn em suốt trình làm đồ án tốt nghiệp Cảm ơn thầy luụn động viên, hướng dẫn định hướng cho em thời gian qua Cuối cùng, hết em muốn bày tỏ lòng biết ơn tới cha mẹ tụi, cỏc thành viên gia đình em, tất bạn bè em, người bên động viên, cổ vũ giúp đỡ em học tập sống Sinh viên Lưu Thị Thu Trang Phần 1: Giới thiệu Tên mục đích đề tài  Tên đề tài: Tìm hiểu ngơn ngữ AutoLISP ứng dụng AutoCAD  Mục đích đề tài: tìm hiểu AutoLISP cách lập trình tiện ích cho phần mềm AutoCAD Giới thiệu vài nét quan thực tập Công ty CP Điện Tử Tin Học Viễn Thơng có tiền thân Cơng Ty Đầu Tư Phát Triển Kỹ Thuật Phát Thanh Truyền Hình Hải Phịng thành lập năm 1993 Đến năm 1996 công ty đổi tên thành Công ty dịch vụ tin học Hải Phòng (quyết định số 25/4QĐ-UB) sở hợp hai đơn vị: Công Ty Đầu Tư Phát Triển Kỹ Thuật Phát Thanh Truyền Cơng ty điện tử tin học Hải Phịng Năm 2004, thực nghị TW3, công ty chuyển thành Công ty cổ phần điện tử tin học Viễn Thông (Cty cổ phần có góp vốn Nhà Nước Giấy chứng nhận đăng ký kinh doanh Cty cổ phần số 0203000819-Quyết định số 1869/QĐ-UB ngày 22/4/2004 ủy Ban Nhân Dân thành phố Hải Phòng) Ngày 01/5/2004 Cty Cổ Phần Điện Tử Tin Học Viễn Thơng thức vào hoạt động với tổng vốn điều lệ tỷ VN đồng, tên giao dịch quốc tế Electronic Telecommunication Informatic Joint Trụ sở Cty: số 18 Trần Hưng Đạo, phường Hoàng Văn Thụ, quận Hồng Bàng, thành phố Hải Phịng Cơng ty Cổ Phần Điện Tử Tin Học Viễn thông kinh doanh ngành nghề sau: - Kinh doanh dịch vụ hàng điện tử, điện lạnh, điện máy, vật tư, thiết bị đồ dùng dân dụng Đại lý hàng điện máy - Sửa chữa bảo hành, lắp giáp thiết bị truyền thanh, truyền hình, tin học - Sản xuất máy thu FM, máy tăng âm ăng ten thu phát vô tuyến - Vận tải dịch vụ vận tải hàng hóa - Dịch vụ văn hóa thể thao - Lắp đặt bảo dưỡng sửa chữa cung ứng vật tư thiết bị truyền hình cáp MMDS - Kinh doanh khách sạn nhà nghỉ cho thuê văn phòng - Kinh doanh thiết bị tin học đào tạo tin học - Sản xuất bao bì bảng kẽm - Xây dựng cơng trình dân dụng, cơng nghiệp, giao thơng thủy lợi, thương mại đường ống cấp thoát nước - Kinh doanh vận tải hành khách xe taxi Phần 2: Nội dung Lời mở đầu Khi đời, cơng nghệ thơng tin khơng có nhiều ứng dụng sống mà chủ yếu phục vụ cho ngành khoa học nhằm giải toán lớn, nhiều thời gian tính tốn hay tốn địi hỏi xác gần tuyệt đối Trước kia, để thiết kế cơng trình xây dựng hay chế tạo chi tiết máy mới, kỹ sư thiết kế phải tốn nhiều thời gian để thiết kế tính tốn thơng số kỹ thuật cho xác Trong q trình thiết kế vẽ tay họ phải lặp lặp lại số chi tiết hay vẽ sai phải thực vẽ lại từ đầu Điều khiến cho người thiết kế nhiều thời gian làm giảm chất lượng vẽ Từ thực tế đó, nhiều kỹ sư thiết kế mong muốn có cơng cụ hỗ trợ cơng việc thiết kế nhằm nâng cao chất lượng vẽ Nắm bắt nhu cầu này, công ty phần mềm cho đời loạt phần mềm hỗ trợ AutoCAD, SAP, AutoCAD Mechanical… Tuy nhiên, thực tế phần mềm hỗ trợ đáp ứng yêu cầu chung nhất, tổng quát kỹ sư thiết kế Ví dụ ngành thiết kế cơng trình nhà ở, cầu đường…, Việt Nam có tiêu chuẩn riêng Công Nghiệp đặt vẽ mà không theo tiêu chuẩn chung giới Trong đó, phần mềm hỗ trợ công việc thiết kế lại tuân theo tiêu chuẩn chung giới Do bắt buộc người kỹ sư thiết kế phải tự thực thao tác để vẽ chi tiết tuân theo tiêu chuẩn riêng nước mỡnh dự việc tốn nhiều thời gian hay chi tiết lặp lặp lại qua vẽ Có thể nói số phần mềm hệ thống CAD/CAM AutoCAD hãng Autodesk công cụ tuyệt vời kỹ sư ngành nghề từ điện tử, vi mạch tới chế tạo máy, từ vơ tuyến tới xây dựng Có nhiều chương trình vẽ kĩ thuật tiện ớch khỏc đời ArchiCAD, COMPAS 3D, Turbo CAD nói lĩnh vực vẽ 2D, AutoCAD ụng “trựm” Điều tồn lí do[6]: 1- AutoCAD khơng ngừng hồn thiện mình, 2- AutoCAD để ngỏ cho người sử dụng cách tự hoàn thiện theo nhu cầu riêng cách dễ dàng Trong AutoCAD có tồn ngơn ngữ lập trình lớn VisualLisp, VisualBasic Visual C Vậy thành thạo ngôn ngữ lập trình AutoCAD để làm gì? Việc viết code AutoCAD nói riêng việc lập trình thường chiếm thời gian lâu người không chuyên Trong ba ngơn ngữ kể Visual LISP u thích câu lệnh đơn giản lại sử dụng sẵn cỏc cõu lệnh AutoCAD cách tiện lợi Ít câu lệnh thuật tốn rắc rối, dễ học, dễ viết Chính Visual LISP đại đa số người sử dụng phương pháp hồn thiện, tích hợp lệnh vẽ có sẵn AutoCAD theo yêu cầu cá nhân Visual Studio AutoCAD công cụ mạnh giúp đột phá giới hạn cỏc cõu lệnh AutoCAD cho người sử dụng Ví dụ vẽ cầu thang cuốn, mặt phức tạp bậc cao, không muốn bị rõ chỗ gấp khúc phóng đại tỉ lệ có lựa chọn VS (trong AutoCAD 2007 hỗ trợ helix) VS cơng cụ lập trình dùng cho đề lớn tự động hóa tính tốn ổn định cho đập bê tơng, tự động hóa thiết kế nhà máy thủy điện, chuyển liệu excel thành địa hình 3D VBA không mạnh VS, không tiện Visual LISP, người học VBA thường người có VB muốn tiết kiệm thời gian Nói đến VisualLISP (Visual List Processor) trước hết nên nói đến AutoLISP AutoLisp, tập ngôn ngữ LISP, ngôn ngữ lập trình bậc cao thích hợp với ứng dụng đồ hoạ AutoLISP ngôn ngữ thông dịch, viết theo cú pháp thủ tục chặt chẽ ngơn ngữ LISP Tuy nhiên, bổ sung thờm cỏc hàm để phù hợp với AutoCAD Sử dụng AutoLISP ta viết chương trình marco để tạo lệnh cho AutoCAD chương trình tự động thiết kế vẽ sử dụng thường xuyên, thực với lệnh có sẵn AutoCAD để góp phần tăng suất thiết kế Bạn sử dụng trình soạn thảo văn để tạo chương trình AutoLISP gọi chúng vào CAD để kiểm tra thực Có thể nói, để làm chủ lập trình AutoCAD AutoLISP cánh cửa mà bạn cần vượt qua Khái quát lập trình AutoCAD Các ngơn ngữ thường sử dụng để lập trình cho AutoCAD gồm có: ActiveX, VBA, AutoLISP, Visua LISP ObjectARX Việc sử dụng ngơn ngữ để lập trình cho AutoCAD tuỳ thuộc vào mục đích chương trình thói quen lập trình người 1.1 Kỹ thuật tự động ActiveX (ActiveX Automation) Kỹ thuật tự động ActiveX phát triển Microsoft đ tảng kiến trúc COM (mơ hình đối tượng thành phần) Bạn sử dụng ActiveX để tuỳ chỉnh AutoCAD, chia sẻ vẽ bạn với ứng dụng khác tự động hoỏ cỏc thao tác Sử dụng ActiveX để tích hợp AutoCAD có hai ưu điểm sau đây: Chương trình truy cập vẽ AutoCAD mở rộng nhiều mơi trường lập trình khác Trước ActiveX, chuyên viên thiết kế giới hạn AutoLISP C++ Chia sẻ liệu với ứng dụng Windows Exel, Word dễ dàng 1.2 AutoCAD VBA Sự tích hợp VBA vào AutoCAD cung cấp công cụ trực quan dễ sử dụng để tùy chỉnh AutoCAD Ví dụ bạn tạo ứng dụng trích thuộc tính thơng tin cách tự động, chèn kết trực tiếp vào bảng tính Exel thực chuyển đổi thông tin mà bạn cần Có ba thành phần chương trình VBA AutoCAD Đầu tiên AutoCAD, nú cú thiết lập đối tượng rộng lớn bao gồm thực thể, liệu, cỏc cõu lệnh AutoCAD AutoCAD cấu trúc ứng dụng mở với nhiều mức độ giao tiếp Thành phần thứ hai giao tiếp tự động ActiveX AutoCAD, thiết lập giao tiếp với đối tượng AutoCAD Lập trình VBA yêu cầu hiểu biết ActiveX Phần tử thứ ba thân VBA Nú cú thiết lập đối tượng đối tượng, từ khố, số…của riờng nú, cung cấp chương trình điều khiển, gỡ rối thi hành Sử dụng VBA cho AutoCAD có ưu điểm sau: Tốc độ : ứng dựng tiến trình với VBA, ActiveX chạy nhanh ứng dụng AutoLISP Dễ sử dụng: ngơn ngữ lập trình mơi trường phát triển dễ sử dụng cài đặt với AutoCAD Khả liên vận hành window: ActiveX VBA thiết kế để sử dụng với ứng dụng Windows khác cung cấp đường dẫn tuyệt với để trao đổi thông tin ứng dụng Cung cấp nhiều mẫu khác nhau: phát triển giao diện nhanh chóng VBA cung cấp mơi trường hồn hảo cho ứng dụng mẫu, dù ứng dụng phát triển ngôn ngữ khác Dễ học 1.3 AutoLISP Visual LISP AutoLISP dựa tảng ngơn ngữ lập trình LISP, dễ học ngơn ngữ lập trình mạnh Do AutoCAD có trình thơng dịch LISP, bạn đưa đoạn mã AutoLISP dấu nhắc lệnh AutoCAD tải file vào autocad để chạy Visual LISP (VLISP) công cụ phần mềm thiết kế để thực chương trình AutoLISP AutoLISP tăng cường với Visual LISP, đưa mơi trường phát triển tích hợp (IDE) gồm trình biên dịch, trình gỡ rối công cụ phát triển khác để tăng hiệu suất VLISP cú thờm nhiều khả mở rộng ngôn ngữ để tương tác với đối tượng sử dụng ActiveX VLISP cho phép AutoLISP đáp ứng kiện thông qua đối tượng phản ứng Các ứng dụng hay thường trình AutoLISP tương tác với AutoCAD nhiều cách Những thường trình nhắc người dùng nhập câu lệnh, truy cập câu lệnh có sẵn AutoCAD cách trực tiếp đinh dạng tạo đối tượng sở liệu Bằng cách tạo thường trình AutoLISP bạn thêm câu lệnh đặc biệt vào AutoCAD Một vài câu lệnh chuẩn AutoCAD thực ứng dụng AutoLISP Do AutoCAD đọc đoạn mã AutoLISP cách trực tiếp mà không cần biên dịch Trong Visual LISP đưa IDE, bạn thử nghiệm cách đưa đoạn mã vào dòng nhắc lệnh, cho bạn nhìn thấy kết 1.4 ObjectARX Kỹ thuật ObjectARX cung cấp thiết lập cho ứng dụng thiết kế phần mềm để chia sẻ liệu đối tượng thông minh ObjectARXTM (Phần mở rộng thời gian thực AutoCAD) môi trường biên dịch ngơn ngữ lập trình để phát triển ứng dụng AutoCAD Mơi trường lập trình ObjectARX bao gồm số thư viện liên kết động chạy không gian địa giống AutoCAD thao tác trực tiếp với lõi cấu trúc sở liệu mã AutoCAD Những thư viện có ưu điểm kiến trúc mở AutoCAD, cung cấp truy cập trực tiếp đến cấu trúc sơ liệu, hệ thống đồ hoạ, phương tiện hình học để mở rộng cách lớp khả AutoCAD thời gian thực Thêm vào đó, bạn sử dụng DLLs để tạo cỏc cõu lệnh để thực xác giống cỏc cõu lệnh có sẵn AutoCAD Có thể nói, số ngơn ngữ lập trình mà AutoCAD hỗ trợ AutoLISP Visual LISP dễ học dễ tương tác với AutoCAD Bạn soạn thảo đoạn mã AutoLISP trình soạn thảo chí soạn thảo AutoCAD mà khơng cần cài đặt chương trình soạn thảo riêng VS, VBA… Trong khuân khổ đồ án này, em xin trình bày ngơn ngữ AutoLISP_ xem cách cửa để tiếp xúc với lập trình AutoCAD Giới thiệu chung 2.1 Vài nét sơ lược LISP LISP_List Processing chuẩn ngơn ngữ lập trình John McCarthay phát triển vào năm 1956 dự án nghiên cứu Artificial Intellegence Phiên LISP 1.5 giới thiệu vào đầu thập niên 60 phát triển với nhiều biến thể BBNLisp, Interlisp, MacLisp, NIL(New Implementation of Lisp), Franz Lisp… Vào thập niên 70 đầu năm 80 cú máy tính chuyên dụng Lisp Machines thiết kế riêng để chạy chương trình LISP Đến năm 1981, để chuẩn hóa LISP nhà lập trình tập hợp chuẩn hóa thành Common LISP Năm 1984 Golden Common Lisp trở thành chuẩn thức cho máy tính IBM sau phát triển thành XLISP- tiền thân AutoLISP ngày 2.2 Lịch sử phát triển AutoLisp AutoLISP nhánh Common LISP - ngơn ngữ lập trình cũ dùng để lập trình cho trí tuệ nhân tạo AutoLisp ngơn ngữ lập trình thơng dịch, bạn chạy trực tiếp chương trình AutoLISP phát triển ngơn ngữ XLISP ngơn ngữ lập trình mơi trường AutoCAD David Betz xây dựng lên công bố phiên 2.18 vào tháng 1năm 1986 Cùng với phát triển AutoCAD phiên AutoLisp ngày hồn thiện với nhiều tính tận phiên Release 12 vào tháng năm 1992 Sau đó, phát triển bị nhãng hãng Autodesk đến việc phát triển ngơn ngữ Tuy nhiên trì AutoCAD Vital-LISP coi phiên mở rộng AutoLISP gồm phần IDE, debugger complier phát triển bán công ty thứ Basis Software Vital LISP phiên mạnh phiên AutoLisp tích hợp VBA AutoDesk mua lại đặt tên Visual Lisp, thời gian ngắn bỏn nú phần mềm add-on Nó tích hợp vào AutoCAD để thay cho AutoLisp AutoCAD 2000 phiên đời tháng 3/1999 Sau Autodesk tạm dừng phát triển Visual LISP thời gian để tập trung phát triển VBA ObjectARX Có thể khẳng định AutoLISP thực hố LISP [6] Ta kể đến vài phiên tiêu biểu sau: -Phiên 2.5 tích hợp vào AutoCAD R7 với số tính tương tác với đối tượng vẽ - Phiên 2.6 tích hợp vào AutoCAD R7 với chức 3D số hàm getcorner,getword initget -Phiên tích hợp vào AutoCAD R12 giới thiệu số hàm GUI ngôn ngữ điều khiển hộp thoại DCL(Dialog Control Language) -Phiên Visual LISPTM giới thiệu AutoCAD R14 môi trường phát triển AutoLisp độc lập trực quan với hỗ trợ công cụ gỡ rối - Visual LISPTM thức tích hợp vào AutoCAD2000 từ đến bổ sung nhiều tính AutoLisp ngơn ngữ lập trình mạnh , bạn cần tốn thời gian để học làm chủ ... mục đích đề tài  Tên đề tài: Tìm hiểu ngơn ngữ AutoLISP ứng dụng AutoCAD  Mục đích đề tài: tìm hiểu AutoLISP cách lập trình tiện ích cho phần mềm AutoCAD Giới thiệu vài nét quan thực tập Cơng... hết nên nói đến AutoLISP AutoLisp, tập ngơn ngữ LISP, ngơn ngữ lập trình bậc cao thích hợp với ứng dụng đồ hoạ AutoLISP ngôn ngữ thông dịch, viết theo cú pháp thủ tục chặt chẽ ngơn ngữ LISP Tuy... lập trình AutoCAD Các ngôn ngữ thường sử dụng để lập trình cho AutoCAD gồm có: ActiveX, VBA, AutoLISP, Visua LISP ObjectARX Việc sử dụng ngôn ngữ để lập trình cho AutoCAD tuỳ thuộc vào mục đích

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

Tài liệu cùng người dùng

Tài liệu liên quan