Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

54 924 0
Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

Đ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

Tìm hiểu AutoLISP ứng dụng trong autoCAD Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 1 BỘ GIÁO DỤC ĐÀ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 Ứng dụng trong AutoCAD Tìm hiểu AutoLISP ứng dụng trong autoCAD Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 2 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 đối với các thầy giáo, cô giáo trường Đại học Dân lập Hải Phòng, những người thầy không nhữ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 trong học tập cũng như trong cuộc sống suốt bốn năm học tại 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 trong quá suốt trình làm đồ án tốt nghiệp này. Cảm ơn thầy đã luôn động viên, hướng dẫn định hướng cho em trong thời gian qua. Cuối cùng, hơn 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 trong gia đình em, cũng như tất cả bạn bè em, những người luôn ở bên động viên, cổ vũ giúp đỡ em trong học tập cũng như trong cuộc sống. Sinh viên Lưu Thị Thu Trang Tìm hiểu AutoLISP ứng dụng trong autoCAD Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 3 Phần 1: Giới thiệu 1 Tên mục đích của đề tài • Tên đề tài: Tìm hiểu ngôn ngữ AutoLISP ứng dụng trong AutoCAD • Mục đích của đề tài: tìm hiểu AutoLISP cách lập trình các tiện ích cho phần mềm AutoCAD. 2 Giới thiệu vài nét về cơ quan thực tập Công ty CP Điện Tử Tin Học Viễn Thông có tiền thân là Công Ty Đầu Tư Phát Triển Kỹ Thuật Phát Thanh Truyền Hình Hải Phòng được 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) trên cơ sở hợp nhất 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 hiện nghị quy ết 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ó sự góp vốn của 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 của ủ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 chính thức đi vào hoạt động với tổng vốn điều lệ là 3 tỷ VN đồng, tên giao dịch quốc tế là Electronic Telecommunication Informatic Joint. Trụ sở chính của 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 các 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ị các đồ 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 các thiết bị truyền thanh, truyền hình, tin học. - Sản xuất máy thu thanh 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 các 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 bằng xe taxi. Tìm hiểu AutoLISP ứng dụng trong autoCAD Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 4 Phần 2: Nội dung Lời mở đầu Khi mới ra đời, công nghệ thông tin không có nhiều ứng dụng trong cuộc sống mà chủ yếu phục vụ cho ngành khoa học cơ bản nhằm giải quyết các bài toán lớn, mất nhiều thời gian tính toán hay những bài toán đòi hỏi sự chính xác gần như tuyệt đối. Trước kia, để thiết kế ra các công trình xây dựng hay chế tạo ra chi tiết máy mới, các kỹ sư thiết kế phải tốn rất nhiều th ời gian để thiết kế tính toán các thông số kỹ thuật sao cho chính xác. Trong quá trình thiết kế các bản vẽ bằng tay họ phải lặp đi lặp lại một số chi tiết hay khi vẽ sai phải thực hiện bản vẽ đó lại từ đầu. Điều này khiến cho người thiết kế mất rất nhiều thời gian làm giảm chất lượng bản vẽ. Từ thực t ế đó, rất nhiều kỹ sư thiết kế mong muốn có được công cụ hỗ trợ mình trong công việc thiết kế nhằm nâng cao chất lượng bản vẽ. Nắm bắt nhu cầu này, các công ty phần mềm đã cho ra đời một loạt các phần mềm hỗ trợ như AutoCAD, SAP, AutoCAD Mechanical… Tuy nhiên, trên thực tế các phần mềm hỗ trợ cũng chỉ đáp ứng được các yêu cầu chung nhất, t ổng quát nhất của các kỹ sư thiết kế. Ví dụ như trong ngành thiết kế công trình nhà ở, cầu đường…, Việt Nam có những tiêu chuẩn riêng do bộ Công Nghiệp đặt ra đối với các bản vẽ này mà không theo tiêu chuẩn chung của thế giới. Trong khi đó, các phần mềm hỗ trợ công việc thiết kế lại tuân theo những tiêu chuẩn chung của thế giới. Do đó bắt buộc người kỹ sư thiế t kế phải tự mình thực hiện các thao tác để vẽ các chi tiết tuân theo các tiêu chuẩn của riêng nước mình dù đôi khi việc này tốn khá nhiều thời gian hay các chi tiết này lặp đi lặp lại qua từng bản vẽ. Có thể nói trong số các phần mềm của hệ thống CAD/CAM thì AutoCAD của hãng Autodesk là một công cụ tuyệt vời của kỹ sư mọi 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 ra đời như ArchiCAD, COMPAS 3D, Turbo CAD . nhưng có thể nói trong lĩnh vực vẽ 2D, AutoCAD là ông “trùm”. Điều ấy sở dĩ tồn tại được là bởi 2 lí do[6]: 1- AutoCAD không ngừng hoà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 một cách dễ dàng. Trong AutoCAD có tồn tại ít nhất là 3 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 trong AutoCAD để làm gì? Việc viết code trong AutoCAD nói riêng việc lập trình thường chiếm thời gian rất lâu đối với người không chuyên. Trong ba ngôn ngữ kể trên thì Visual LISP được yêu thích hơn cả bởi câu lệnh đơn giản lại có thể sử dụng sẵn các câu lệnh của AutoCAD một cách tiện lợi. Ít câu lệnh ít thuật toán rắc rối, dễ học, dễ viết. Chính vì thế Visual LISP trong đại đa số người sử d ụng là một phương pháp hoàn thiện, tích hợp các lệnh vẽ có sẵn của AutoCAD theo yêu cầu của từng cá nhân. Visual Studio trong AutoCAD là công cụ mạnh nhất giúp đột phá các giới hạn của các câu lệnh AutoCAD cho người sử dụng. Ví dụ như khi vẽ cầu thang cuốn, các Tìm hiểu AutoLISP ứng dụng trong autoCAD Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 5 mặt phức tạp bậc cao, nếu không muốn bị hiện rõ chỗ gấp khúc khi phóng đại tỉ lệ thì chỉ có lựa chọn duy nhất là VS (trong AutoCAD 2007 đã hỗ trợ helix). VS cũng là công cụ lập trình dùng cho các đề bài lớn như tự động hóa tính toán ổn định cho đập bê tông, tự động hóa thiết kế nhà máy thủy điện, chuyển dữ liệu excel thành địa hình 3D VBA không mạnh như VS, không tiện như Visual LISP, bởi thế người học VBA thường là người có căn bản về VB muốn tiết kiệm thời gian. Nói đến VisualLISP (Visual List Processor) thì trước hết nên nói đến AutoLISP. AutoLisp, tập con ngôn ngữ LISP, là ngôn ngữ lập trình bậc cao thích hợp với các ứng dụng đồ hoạ. AutoLISP là một ngôn ngữ thông dịch, được viết theo cú pháp thủ tục chặt chẽ như ngôn ngữ LISP. Tuy nhiên, nó được bổ sung thêm các hàm để phù hợp với AutoCAD. Sử dụng AutoLISP ta có thể viết các chươ ng trình marco để tạo lệnh mới cho AutoCAD hoặc các chương trình tự động thiết kế bản vẽ được sử dụng thường xuyên, thực hiện với các lệnh có sẵn của AutoCAD để góp phần tăng năng suất thiết kế. Bạn có thể sử dụng bất kỳ trình soạn thảo văn bản nào để tạo các chương trình AutoLISP gọi chúng vào trong CAD để kiểm tra thực hiện. Có thể nói, để làm chủ lập trình AutoCAD thì AutoLISP chính là cánh cửa đầu tiên mà bạn cần vượt qua. Tìm hiểu AutoLISP ứng dụng trong autoCAD Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 6 1. Khái quát về lập trình trong AutoCAD Các ngôn ngữ thường được 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ữ nào để lập trình cho AutoCAD là tuỳ thuộc vào mục đích của chương trình thói quen lập trình của mỗi người. 1.1 Kỹ thuật tự động ActiveX (ActiveX Automation) Kỹ thuật tự động ActiveX được phát triển bởi Microsoft ® trên nền tảng kiến trúc COM (mô hình đối tượng thành phần). Bạn có thể sử dụng ActiveX để tuỳ chỉnh AutoCAD, chia sẻ bản vẽ của bạn với các ứng dụng khác tự động hoá các thao tác. Sử dụng ActiveX để tích hợp trong AutoCAD có hai ưu điểm sau đây: - Chương trình truy cập bản vẽ AutoCAD được mở rộng đối với nhiều môi trường lập trình khác. Trước ActiveX, những chuyên viên thiết kế đã giới hạn chỉ trong AutoLISP hoặc C++. - Chia sẻ dữ liệu với những ứng dụng Windows như Exel, Word dễ dàng hơn. 1.2 AutoCAD VBA Sự tích hợp VBA vào AutoCAD đã cung cấp một công cụ trực quan dễ sử dụng để tùy chỉnh AutoCAD. Ví dụ bạn có thể tạo ra ứng dụng trích thuộc tính thông tin một cách tự động, chèn kết quả trực tiếp vào bảng tính Exel thực hiện bất kỳ s ự chuyển đổi thông tin mà bạn cần. Có ba thành phần cơ bản của chương trình VBA trong AutoCAD. Đầu tiên chính là AutoCAD, nó có bộ thiết lập đối tượng rộng lớn bao gồm các thực thể, dữ liệu, các câu lệnh AutoCAD. AutoCAD là một cấu trúc ứng dụng mở với rất nhiều mức độ giao tiếp. Thành phần thứ hai là bộ giao tiếp tự động ActiveX AutoCAD, nó thiết lập sự giao tiếp với các đối tượng AutoCAD. L ập trình trong VBA yêu cầu sự hiểu biết cơ bản về ActiveX. Phần tử thứ ba chính là bản thân VBA. Nó có bộ thiết lập đối tượng đối tượng, từ khoá, hằng 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ó những ưu điểm sau: - Tốc độ : ứng dựng trong cùng tiến trình với VBA, ActiveX chạy nhanh hơn các ứng dụng trong 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ả năng liên vận hành giữa các window: ActiveX VBA được thiết kế để sử dụng với các ứng dụng Windows khác cung cấp một đường dẫn tuyệt với để trao đổi thông tin giữa các ứng dụng. - Cung cấp nhiều mẫu khác nhau: sự phát triển giao diện nhanh chóng của VBA cung cấp một môi trườ ng hoàn hảo cho các ứng dụng mẫu, dù là những ứng dụng này sẽ được phát triển bởi ngôn ngữ khác. - Dễ học. Tìm hiểu AutoLISP ứng dụng trong autoCAD Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 7 1.3 AutoLISP Visual LISP AutoLISP dựa trên nền tảng của ngôn ngữ lập trình LISP, dễ học là một ngôn ngữ lập trình mạnh. Do AutoCAD có bộ trình thông dịch LISP, bạn có thể đưa đoạn mã AutoLISP ở dấu nhắc lệnh của AutoCAD hoặc tải các file vào autocad để chạy. Visual LISP (VLISP) là công cụ phần mềm được thiết kế để thực hiện các chương trình AutoLISP. AutoLISP được tăng cường với Visual LISP, đưa ra một 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 những công cụ phát triển khác để tăng hiệu suất. VLISP có thêm nhiều khả năng mở rộng ngôn ngữ để tương tác với các đối tượng sử dụng ActiveX. VLISP cũng cho phép AutoLISP đáp ứng những sự kiện thông qua đối tượng phản ứng. Các ứng dụng hay thường trình AutoLISP có thể tương tác với AutoCAD bằng nhiều cách. Những thường trình này có thể nhắc người dùng nhập câu l ệnh, truy cập câu lệnh có sẵn trong AutoCAD một cách trực tiếp đinh dạng hoặc tạo các đối tượng trong cơ sở dữ liệu. Bằng cách tạo các thường trình AutoLISP bạn có thể thêm những câu lệnh đặc biệt vào AutoCAD. Một vài câu lệnh chuẩn của AutoCAD thực ra là những ứng dụng AutoLISP. Do AutoCAD có thể đọc đoạn mã AutoLISP một cách trực tiếp mà không cần biên dịch. Trong khi Visual LISP đưa ra một IDE, bạn có thể thử nghiệm bằng cách đưa đoạn mã vào tại dòng nhắc lệnh, nó sẽ cho bạn nhìn thấy kết quả ngay lập tức. 1.4 ObjectARX Kỹ thuật ObjectARX cung cấp những thiết lập cho các ứng dụng thiết kế phần mềm để chia sẻ dữ liệu đối tượng thông minh. ObjectARX TM (Phần mở rộng thời gian thực AutoCAD) là một môi trường biên dịch ngôn ngữ lập trình để phát triển các ứng dụng AutoCAD. Môi trường lập trình ObjectARX bao gồm một số thư viện liên kết động chạy trong một không gian địa chỉ giống như AutoCAD thao tác trực tiếp với lõi cấu trúc cơ sở dữ liệu mã AutoCAD. Những thư viện này có được ưu điểm của kiến trúc mở AutoCAD, cung cấ p các truy cập trực tiếp đến cấu trúc cơ sơ dữ liệu, hệ thống đồ hoạ, phương tiện hình học để mở rộng cách lớp các khả năng của AutoCAD tại thời gian thực. Thêm vào đó, bạn có thể sử dụng DLLs để tạo các câu lệnh mới để thực hiện chính xác giống như các câu lệnh có sẵn của AutoCAD. Có thể nói, trong số các ngôn ngữ lập trình mà AutoCAD hỗ tr ợ thì AutoLISP Visual LISP dễ học dễ tương tác với AutoCAD hơn cả. Bạn có thể soạn thảo các đoạn mã AutoLISP bằng bất kỳ trình soạn thảo nào thậm chí có thể soạn thảo ngay trong AutoCAD mà không cần cài đặt các chương trình soạn thảo riêng như VS, VBA… Trong khuân khổ của đồ án này, em xin trình bày về ngôn ngữ AutoLISP_ được xem như là cách cửa đầu tiên để tiếp xúc với lập trình trong AutoCAD. Tìm hiểu AutoLISP ứng dụng trong autoCAD Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 8 2. Giới thiệu chung 2.1 Vài nét sơ lược về LISP LISP_List Processing là một chuẩn ngôn ngữ lập trình được John McCarthay phát triển vào năm 1956 trong dự án nghiên cứu Artificial Intellegence. Phiên bản đầu tiên LISP 1.5 được giới thiệu vào đầu thập niên 60 phát triển với nhiều biến thể như BBNLisp, Interlisp, MacLisp, NIL(New Implementation of Lisp), Franz Lisp… Vào thập niên 70 đầu những năm 80 đã có máy tính chuyên dụng như Lisp Machines được thiết kế riêng để chạy những chương trình LISP. Đến năm 1981, để chuẩn hóa LISP các 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 chính thức cho máy tính IBM sau này phát triển thành XLISP- tiền thân của AutoLISP ngày nay. 2.2 Lịch sử phát triển AutoLisp AutoLISP là một nhánh của Common LISP - một ngôn ngữ lập trình cũ được dùng để lập trình cho trí tuệ nhân tạo. AutoLisp là ngôn ngữ lập trình thông dịch, bạn có thể chạy trực tiếp chương trình. AutoLISP được phát triển trên nền ngôn ngữ XLISP là ngôn ngữ lập trình trên môi trường AutoCAD do David Betz xây dựng lên được công bố phiên bản đầu tiên 2.18 vào tháng 1năm 1986. Cùng v ới sự phát triển của AutoCAD các phiên bản AutoLisp ngày càng được hoàn thiện với nhiều tính năng mới cho đến tận phiên bản Release 12 vào tháng 6 năm 1992. Sau đó, sự phát triển của nó bị sao nhãng bởi hãng Autodesk chú đến việc phát triển các ngôn ngữ mới. Tuy nhiên nó vẫn được duy trì trong AutoCAD. Vital-LISP được coi như là một phiên bản mở rộng của AutoLISP gồm các phần IDE, debugger complier được phát triển bán bởi công ty thứ 3 Basis Software. Vital LISP là phiên bản mạnh nhất trong các phiên bản AutoLisp được tích hợ p trong VBA. AutoDesk đã mua lại nó đặt tên là Visual Lisp, trong một thời gian ngắn đã bán nó như là một phần mềm add-on. Nó được tích hợp vào AutoCAD để thay thế cho AutoLisp trong AutoCAD 2000 phiên bản ra đời tháng 3/1999. Sau đó Autodesk đã tạm dừng phát triển Visual LISP một thời gian để tập trung phát triển VBA ObjectARX. Có thể khẳng định rằng AutoLISP chính là hiện thực hoá của LISP [6]. Ta có thể kể đến một vài phiên bản tiêu biểu như sau: -Phiên bản 2.5 tích hợp vào AutoCAD R7 với một số tính n ăng cơ bản về các tương tác với các đối tượng trong bản vẽ . - Phiên bản 2.6 tích hợp vào AutoCAD R7 với chức năng 3D một số hàm mới getcorner,getword initget . -Phiên bản tích hợp vào AutoCAD R12 giới thiệu một số hàm GUI ngôn ngữ điều khiển hộp thoại DCL(Dialog Control Language) . -Phiên bản Visual LISP TM giới thiệu cùng AutoCAD R14 là một môi trường phát triển AutoLisp độc lập trực quan với sự hỗ trợ của các công cụ gỡ rối . - Visual LISP TM được chính thức tích hợp vào AutoCAD2000 từ đó đến nay được bổ sung nhiều tính năng mới . Tìm hiểu AutoLISP ứng dụng trong autoCAD Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 9 AutoLisp là một ngôn ngữ lập trình rất mạnh , bạn sẽ cần tốn một thời gian để học làm chủ nó . 2.3 Ưu nhược điểm của AutoLisp • Ưu điểm ¾ Làm việc rất tốt dễ dàng với điểm các yếu tố hình học. ¾ Rất mềm dẻo , không khắt khe. ¾ Không cần trình dịch , lập trình thực hiện lệnh. ¾ Ch ạy được trên các hệ điều hành với cùng 1 file Lisp. ¾ Quản lý đối tượng với List-kiểu dữ liệu rất thích hợp trong quản l ý tọa độ điểm. ¾ Mã nguồn mở cộng đồng phát triển Autolisp rộng lớn. • Nhược điểm ¾ Hình thức không đẹp . ¾ Không có trình biên dịch . ¾ Ngôn ngữ trung gian nên thực thi chậm . ¾ Hầu như không thể tương tác v ới hệ thống . Có thể khẳng định AutoLisp là ngôn ngữ dễ tiếp cận so với một số ngôn ngữ lập trình khác vì nó là ngôn ngữ lập trình theo kịch bản. Tuy nhiên để có thể tiếp cận với AutoLisp yêu cầu người học phải có kiếm thức nền về lập trình nắm vững về AutoCAD, đồng thời phải có kiến thức nhất định về hình học. Chương trình AutoLisp là một tổ hợp những kịch bản được định trước nắm điều khiển AutoCAD thực thi theo suy nghĩ của người thiết kế . Đa số mọi người muốn học Autolisp là để giải quyết những bài toán trong lĩnh vực chuyên môn của mình. Để tiếp cận ứng dụng tốt Autolisp trong công việc yêu cầu người lập trình phải có sự liên hệ với nhu cầu công việc thực tế, điều này phụ thuộc rất lớn vào sở trường của mỗi người. Bạn đang thực hiện một vài thao tác để hoàn thiện bản vẽ của mình bạn chợt nhận ra nó cứ lặp lại liên tục. Một ý tưởng nảy ra là bạn cần thực hiện một đoạn chương trình Autolisp để tự động thực hiện các thao tác này chương trình Autolisp được hoàn thành. Tìm hiểu AutoLISP ứng dụng trong autoCAD Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 10 3.Ngôn ngữ lập trình AutoLISP 3.1. Căn bản về AutoLisp 3.1.1 Xây dựng biểu thức AutoLISP Khi ta nhập dòng text tại dòng nhắc lệnh thì AutoCAD sẽ so sánh dòng text với danh sách lệnh của nó. Nếu tương ứng với lệnh trong AutoCAD thì sẽ thi hành. Khi code AutoLISP được chuyển vào trong AutoCAD thì AutoCAD sẽ chuyển code này đến bộ biên dịch AutoLISP. Danh sách (List) là cấu trúc cơ bản trong AutoLISP. Danh sách là tập hợp các phần tử chứa trong dấu ngoặc đơn cách nhau bởi khoảng trắng. Có hai loại danh sách là : ¾ Biểu thức ¾ Danh sách dữ liệu Biểu thức là thành phần cơ bản nhất trong các chương trình AutoLISP. Phần tử đầu tiên của biểu thức là một hàm. Hàm này sẽ được AutoLISP định giá trị trả về kết quả. Một biểu thức AutoLISP đơn giản giống như một biểu thức toán học.Sự khác nhau chủ yếu giữa chúng la thứ tự các phần tử phải có dấu () trong AutoLISP. Biểu th ức toán học Biểu thức AutoLISP hàm Command: ( + 1 2 ) Tham số hàm 1 + 2 = 3 Tham số kquả Giá trị trả về : 3 [...]... toán cho đến khi người dùng nhập vào một điểm hoặc thoát ra khỏi hàm Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 12 Tìm hiểu AutoLISP ứng dụng trong autoCAD • Hàm này trả về giá trị dạng danh sách Để AutoLISP không xem danh sách này là biểu thức ta dùng hàm quote hoặc dấu ‘ 3.2.6 Phạm vi các biến trong AutoLISP Trong các phiên bản cũ của AutoCAD, các biến AutoLISP được khởi tạo lại và. .. thamsố2…….]) • Trong AutoLISP ta có thể lồng các hàm với nhau để tính các biểu thức phức tạp Khi chuyển các biểu thức toán học phức tạp thành các biểu thức AutoLISP, trước tiên ta nên tạo các biểu thức ở mức sâu nhất, sau đó chuyển dần sang các biểu thức bên ngoài Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 11 Tìm hiểu AutoLISP ứng dụng trong autoCAD 3.2 Biến hiệu trong AutoLISP Các... bản vẽ khác trong cùng một cửa sổ chương trình, ta gán giá trị biến hệ thống LISPINIT = 1 hoặc mở hộp thoại Preference/Compatibility đánh dấu mục Reload AutoLISP between drawings Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 13 Tìm hiểu AutoLISP ứng dụng trong autoCAD 3.3 File chương trình AutoLISP 3.3.1 Tên file AutoLISP Tên file có thể dài 256 ký tự, phần mở rộng là LSP Trong một số... Hải Phòng 15 Tìm hiểu AutoLISP ứng dụng trong autoCAD • Ví dụ: tạo hàm nhân đôi giá trị tham số đưa vào (defun nhandoi (n) (* 2 n)) 3.3.6 Biến toàn cục biến cục bộ • Biến toàn cục là các biến vẫn giữ nguyên giá trị trong phạm vi bản vẽ hiện hành • Biến cục bộ là các biến được định nghĩa trong phạm vi một hàm giá trị của nó sẽ mất khi đi việc gọi hàm kết thúc 3.3.7 Tạo các lệnh AutoCAD mới •... Gán giá trị biến hệ thống Cú pháp : (setvar [tên biến] [giá trị]) • Biến CmdEcho: CmdEcho =1: kết quả tính toán trung gian sẽ hiện lên màn hình CmdEcho =0: kết quả tính toán trung gian sẽ không hiện lên màn hình Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 17 Tìm hiểu AutoLISP ứng dụng trong autoCAD 3.5 Một số hàm cơ bản 3.5.1 Hàm chuyển kiểu dữ liệu từ chuỗi thành số ngược lại AutoLISP. .. 14 Tìm hiểu AutoLISP ứng dụng trong autoCAD 3.3.3 Gọi file chương trình AutoLISP • Hàm load dùng để đọc file chương trình, kiểm tra lỗi cú pháp, định giá trị các biểu thức trả về giá trị của biểu thức cuối cùng • Cú pháp : (load tênfile [onfailure]) Tên file: tên mở rộng mặc định là *.LSP Khi cần thiết ta phải cung cấp đầy đủ tên file đường dẫn VD: (load E: /Autolisp/ vd.LSP) hoặc (load E:\ \Autolisp\ \vd.lsp)... Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 30 Tìm hiểu AutoLISP ứng dụng trong autoCAD 3.9 Tạo hộp thoại 3.9.1 Khái niệm về file DCL các thành phần của hộp thoại File DCL sử dụng để mô tả cấu trúc của hộp thoại File này có dạng file văn bản ASCII tương tự như file chương trình AutoLISP Các hộp thoại của AutoCAD được mô tả trong file acad.dcl Các thành phần của hộp thoại như các nút... Tin_Trường đại học dân lập Hải Phòng 31 Tìm hiểu AutoLISP ứng dụng trong autoCAD Text cluster Exit buttons and Error tile Concatenation Paragraph Text_part sử dụng để tăng khả năng định dạng sắp xếp các dòng chữ trong hộp thoại Err_tile Ok_only Ok_cancel Ok_cancel_help Ok_cancel_help_errtile Ok_cancel_help_info Đây là các subassembly do AutoCAD tạo sẵn sử dụng cho chức năng đóng hộp thoại err_tile... chuỗi thành số ngược lại AutoLISP cung cấp các hàn getreal getstring để nhập số thực chuỗi Dữ liệu nhập vào có thể sử dụng cho các hàm AutoLISP hoặc các lệnh AutoCAD Tuy nhiên trên thực tế dữ liệu có thể nhập vào từ các nguồn khác nhau không đúng các dạng mong muốn Do đó ta phải chuyển đổi kiểu dữ liệu từ số sang kiểu chuỗi ngược lại a Hàm ATOF (Ascii TO Floating point decimal): chuyển... phần tử ở vị trí n trong danh sách • Cú pháp: (NTH n list) • Vị trí các phần tử trong danh sách được đánh số bắt đầu từ 0 • Ví dụ : (setq X ‘(5 6 12 78 3 98 1 2 )) (nth 3 X) ;trả về 78 (nth 5 X) ;trả về 98 Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 25 Tìm hiểu AutoLISP ứng dụng trong autoCAD 3.7 Biểu thức điều kiện 3.7.1 Biểu thức điều kiện 3.7.1.1 Các hàm so sánh a Hàm = • Hàm này . 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 AutoCAD Tìm hiểu AutoLISP và ứng dụng trong. Tên đề tài: Tìm hiểu ngôn ngữ AutoLISP và ứng dụng trong AutoCAD • Mục đích của đề tài: tìm hiểu AutoLISP và cách lập trình các tiện ích cho phần mềm AutoCAD.

Ngày đăng: 12/12/2013, 19:15

Hình ảnh liên quan

Hình1.Cửa sổ soạn thảo lệnh Chú ý:  - Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

Hình 1..

Cửa sổ soạn thảo lệnh Chú ý: Xem tại trang 14 của tài liệu.
Bảng phân loại các tile - Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

Bảng ph.

ân loại các tile Xem tại trang 31 của tài liệu.
Các thu ộc tính sử dụng để xác định hình dạng, kích thước, vị tríc ủa các tile. Một số thuộc tính sử dụng được cho nhiều tile, một số thuộc tính chỉ sử dụng riêng cho  một tile - Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

c.

thu ộc tính sử dụng để xác định hình dạng, kích thước, vị tríc ủa các tile. Một số thuộc tính sử dụng được cho nhiều tile, một số thuộc tính chỉ sử dụng riêng cho một tile Xem tại trang 32 của tài liệu.
***IMAGE Các menu hình ảnh - Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

c.

menu hình ảnh Xem tại trang 43 của tài liệu.
S Các menu màn hình T1 – T4 Các tablet menu  - Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

c.

menu màn hình T1 – T4 Các tablet menu Xem tại trang 44 của tài liệu.
Hình 2. Chi tiết Gujong - Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

Hình 2..

Chi tiết Gujong Xem tại trang 46 của tài liệu.
Hình 4. Chi tiết dầm chữ I - Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

Hình 4..

Chi tiết dầm chữ I Xem tại trang 49 của tài liệu.
Hình3. Hộp thoại vẽ chi tiết Gujong Kết quả ta có một chi tiết kỹ thuậ t nh ư  hình 2  - Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

Hình 3..

Hộp thoại vẽ chi tiết Gujong Kết quả ta có một chi tiết kỹ thuậ t nh ư hình 2 Xem tại trang 49 của tài liệu.
Hình 5.Hộp thoại vẽ chi tiết dầm chữ I Kết quả ta sẽ có được một chi tiết như  hình 4 - Tài liệu Đồ án tốt nghiệp Tìm hiểu AutoLISP và ứng dụng trong autoCAD pdf

Hình 5..

Hộp thoại vẽ chi tiết dầm chữ I Kết quả ta sẽ có được một chi tiết như hình 4 Xem tại trang 52 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan