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

Nghiên cứu tạo lập một số lệnh vẽ bàn dạng tấm phẳng trên phần mềm autocad

65 13 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 903,76 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với mong muốn làm cho phần mềm AutoCAD ngày càng trở nên thiết thực, chuyên dụng hơn với các nhà thiết kế sản phẩm mộc, nội thất thì tôi đã tìm đến ngôn ngữ lập trình hỗ trợ cho phần mềm

Trang 1

ĐẶT VẤN ĐỀ

Thừa hưởng những thành tựu khoa học kỹ thuật tiên tiến, hiện đại, nhiều công việc của con người đã được hỗ trợ, nâng cao hiệu quả lao động, độ chính xác,… mà bình thường khó có thể thực hiện được Việc thiết kế đồ hoạ, trong

đó có thiết kế sản phẩm mộc và nội thất cũng là một trong những công việc được thừa hưởng những thành quả đó Nhờ có các phần mềm thiết kế đồ hoạ trên máy tính như: AutoCAD, 3Dmax,…, công việc của các nhà thiết kế đã được cải thiện đáng kể AutoCAD là một trong những phần mềm thiết kế đồ hoạ được ứng dụng khá hiệu quả và phổ biến trong các lĩnh vực thiết kế kỹ thuật Với nhiều tính năng, tiện ích ưu việt, AutoCAD có thể giúp người sử dụng có được những bản vẽ kỹ thuật chính xác, giải quyết được nhiều bài toán,

vẽ thiết kế hết sức phức tạp

Tuy vậy, AutoCAD cũng chỉ là một phần mềm hỗ trợ thiết kế cho nhiều lĩnh vực Để có thể khai thác hiệu quả nó cho một công việc cụ thể như vẽ thiết

kế sản phẩm mộc, nội thất, cần có những tác động bổ trợ Từ đó, AutoCAD sẽ trở nên chuyên dụng hơn Với mong muốn làm cho phần mềm AutoCAD ngày càng trở nên thiết thực, chuyên dụng hơn với các nhà thiết kế sản phẩm mộc, nội thất thì tôi đã tìm đến ngôn ngữ lập trình hỗ trợ cho phần mềm AutoCAD

đó là ngôn ngữ lập trình AutoLISP Qua nghiên cứu thì tôi biết, AutoLISP là một loại hình mã nguồn mở cho phép người sử dụng bổ sung, mở rộng tính năng cho AutoCAD thông qua chương trình dịch mã đã được tích hợp Chương trình này sẽ quy định cho AutoCAD thực hiện công việc theo một chuỗi chương trình định sẵn bởi người sử dụng Nhờ đó công việc thiết kế sẽ được hỗ trợ hiệu quả hơn, phù hợp với yêu cầu đặc thù của công việc Về phương diện thông tin, AutoLISP là một ngôn ngữ lập trình được người sử dụng thiết lập, tạo ra một chương trình ứng dụng giải quyết một công việc cụ thể, nhờ đó xúc tiến mở rộng và tạo tuỳ biến trong AutoCAD Đồng thời qua nghiên cứu về lĩnh vực thiết kế sản phẩm mộc và nội thất, nhiều chi tiết bộ phận có những hình

Trang 2

dạng đặc thù riêng, có nhiều sản phẩm mộc có hình dạng giống nhau chỉ khác nhau về kích thước, nhiều sản phẩm có hình dạng gần giống nhau ta chỉ cần chỉnh sửa là có được một sản phẩm mới

Với các tính năng nổi bật như trên thì ngôn ngữ lập trình AutoLISP ra đời như một phần không thể thiếu của cuộc sống, nhất là trong thời đại mà lĩnh vực công nghệ thông tin ngày một phát triển và được ứng dụng một cách rộng

rãi như ngày hôm nay Do vậy tôi quyết định chọn đề tài với tên là: “Nghiên cứu tạo lập một số lệnh vẽ bàn dạng tấm phẳng trên phần mềm AutoCAD”

Trang 3

Chương 1 NHỮNG VẤN ĐỀ CHUNG 1.1 TÍNH CẤP THIẾT CỦA VẤN ĐỀ NGHIÊN CỨU

Ngày nay khi khoa học kỹ thuật ngày càng phát triển và được ứng dụng nhiều hơn trong mọi lĩnh vực của đời sống thì sự phát triển của lĩnh vực công nghệ thông tin cũng không nằm trong trường hợp ngoại lệ Để giải quyết một vấn đề chúng ta cần làm nổi bật vấn đề đó ra và cùng nhau tìm cách làm sao cho vấn đề đó đựơc giải quyết một cách nhanh chóng và ổn thoả nhất Cũng như vậy, trong lĩnh vực thiết kế nói chung và thiết kế sản phẩm mộc, nội thất nói riêng thì việc thiết kế ra được một sản phẩm không chỉ đơn giản là đưa ra được ý tưởng thiết kế rồi ngồi mày mò dùng bút hý hoáy đo kẻ từng chi tiết một cho từng sản phẩm một, công việc lặp lại sẽ thật nhàm chán nếu như cũng với sản phẩm ấy nhưng ta chỉ cần thay đổi nó đi một chút Bởi vậy công việc này rất cần sự giúp sức một cách nhanh chóng và thật chính xác của máy tính trong đó có các phần mềm thiết kế đồ hoạ Do đó đối với các nhà thiết kế, phần mềm AutoCAD là một công cụ hỗ trợ hoàn hảo để hoàn thành các bản vẽ thiết

kế của mình một cách nhanh chóng và chính xác nhất

Chính vì lý do trên mà nhiệm vụ thật cấp bách đưa ra cho các nhà thiết

kế nói chung và các nhà tạo lập các phần mềm đồ hoạ nói riêng là làm sao chúng ta phải tạo ra được càng nhiều phần mềm ứng dụng hỗ trợ cho công việc thiết kế trên máy càng nhanh, càng chính xác càng tốt Để giải quyết được vấn

đề này chúng ta cần tiến hành các bước công việc như sau:

- Tìm hiểu các loại hình sản phẩm cần nghiên cứu là các sản phẩm bàn dạng tấm phẳng

- Tập trung nghiên cứu một số lệnh vẽ có liên quan, phục vụ cho vẽ thiết

kế đồ mộc dạng tấm phẳng

- Tạo lệnh vẽ cho phép vẽ một số loại sản phẩm bàn có kết cấu tấm phẳng dưới dạng mô hình 2D và 3D

Trang 4

- Thực hiện theo một số mẫu sản phẩm bàn thông dụng

Sự phát triển của phần mềm CAD liên quan đến sự phát triển của phần cứng Vào những năm 60, 70 giá thành của các máy tính lớn là rất cao, do đó chỉ có nhà nước hoặc các công ty lớn của các nước công nghiệp phát triển mới

có thể trang bị và sử dụng phần mềm CAD Tuy nhiên do số lượng tính toán thiết kế mô hình 3D rất lớn và tốc độ máy còn chậm nên ứng dụng còn hạn chế Vào những năm 80, giảm giá thành và tăng tốc độ tính toán của máy tính cho phép phần mềm thương mại thiết kế mô hình 3D soild đầu tiên ra đời Phần mềm này được sử dụng trên các máy tính lớn, mini và máy tính cá nhân Cùng thời điểm này phần mềm AutoCAD của hãng Autodesk ra đời (1982) dùng cho máy tính cá nhân Sự phát triển nhanh chóng của máy tính cá nhân kèm theo sự giảm giá thành giúp cho phần mềm AutoCAD được sử dụng rộng rãi Từ AutoCAD 11 có thể thiết kế mô hình 3D dạng soild Trong các phiên bản sau này của AutoCAD ngày càng được các nhà lập trình hoàn thiện hơn

* AutoLISP

LISP – List Procesing là một chuẩn ngôn ngữ lập trình được Jonh McCarthy phát triển vào năm 1956 trong dự án nghiên cứu AL (Artificial Intelligence) Phiên bản đầu tiên LISP 1.5 được giới thiệu vào đầu thập niên 60

và 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 và đầu những năm 80

đã có những máy tính chuyên dụng như Lisp Machines được thiết kế riêng để

Trang 5

chạy những trương trình LISP Đến năm 1981 để chuẩn hoá LISP các nhà lập trình đã tập hợp và chuẩn hoá thành chuẩn Common LISP Năm 1984 Golden Common LISP trở thành chuẩn chính thức cho máy tính IMB và sau này phát triển thành XLISP tiền thân của Autolisp ngày nay

AutoLISP được phát triển từ XLISP là ngôn ngữ lập trình trên môi trường AutoCAD và được công bố phiên bản đầu tiên 2.18 vào tháng 01 năm

1986 Cùng với sự phát triển của AutoCAD các phiên bản của AutoLISP ngày càng được hoàn thiện với nhiều tính năng mới, có thể kể đến một vài phiên bản tiêu biểu như sau:

- Chính thức giới thiệu 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 đố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 và một số hàm mới như: getcorner, getkword và initget

- Phiên bản Visual LISP giới thiệu cùng với 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 được chính thức tích hợp vào AutoCAD 2000 và từ đó đến nay được bổ sung nhiều tính năng mới

Ngày nay trên thế giới đã có rất nhiều chương trình vẽ tự động được viết bằng ngôn ngữ lập trình AutoLISP được đưa ra để sử dụng Đặc biệt là bên ngành cơ khí đã tạo ra được một thư viện vẽ các chi tiết thường gặp trong các bản vẽ cơ khí như: trục vít, bánh vít, lo xo… Không chỉ có vậy các nhà thiết kế còn thông qua trương trình AutoLISP tạo ra được các lệnh vẽ riêng cho mình trên AutoCAD nhằm phục vụ công việc của mình

1.2.2 TRONG NƯỚC

Hiện tại nhu cầu xã hội đang trên đà phát triển, khoa học kỹ thuật không ngừng nâng cao thúc đẩy đời sống vật chất lẫn tinh thần thay đổi theo Cùng với sự du nhập của phần mềm AutoCAD vào nước ta thì ngôn ngữ lập trình cũng vào theo Phần mềm AutoLISP mới được tìm hiểu và nghiên cứu khoảng

Trang 6

chục năm gần đây Kết quả đã tạo ra được phần mềm hỗ trợ cho các nhà thiết

kế như: Phần mềm vẽ một số kết cấu thường gặp như: bánh răng, may ơ…, tạo

ra được một số lệnh vẽ mới Đó chỉ là những phầm mềm hỗ trợ các nhà thiết kế

cơ khí và một số lĩnh vực khác như xây dựng… Tuy nhiên về lĩnh vực thiết kế sản phẩm mộc và nội thất cũng chưa có các phần mềm, các câu lệnh hỗ trợ việc thiết kế Do vậy ở đây bước đầu nghiên cứu các câu lệnh và tạo ra được một số

bộ mã nguồn, từ đó ta có thể phát triển tạo ra được các lệnh vẽ mới

1.3 MỤC TIÊU NGHIÊN CỨU

Tạo ra được một số lệnh vẽ sản phẩm mộc thông dụng cho phần mềm hỗ trợ thiết kế đồ hoạ trên máy tính AutoCAD, đảm bảo sử dụng hiệu quả, thuận tiện, trực quan và đáp ứng được yêu cầu của bản vẽ tiêu chuẩn

1.4 NỘI DUNG NGHIÊN CỨU

- Nghiên cứu nguyên lý cấu tạo, đặc điểm sản phẩm, đặc điểm hình dạng của một số sản phẩm bàn thông dụng

- Tìm hiểu một số kiểu bàn dạng tấm phẳng thông dụng trên thị trường

- Nghiên cứu cơ chế, phương thức thực hiện các lệnh vẽ của phần mềm AutoCAD ứng dụng trong vẽ thiết kế sản phẩm mộc và thông qua chương trình AutoLISP

- Thiết lập, biên soạn mã nguồn cho các chương trình lệnh vẽ

- Lệnh vẽ được thực hiện theo một số mẫu sản phẩm bàn thông dụng, từ

đó người sử dụng có thể thay đổi kích thước để có được bản vẽ mới

Trang 7

1.6 PHƯƠNG PHÁP NGHIÊN CỨU

- Kế thừa các kết quả nghiên cứu về nguyên lý cấu tạo sản phẩm mộc, về

ý nghĩa, công năng của các hàm lệnh, cú pháp lệnh trong AutoCAD

- Phương pháp nghiên cứu hình mẫu và tư duy logic được ứng dụng trong việc nghiên cứu đặc điểm hình dạng của chi tiết, sản phẩm từ đó thiết lập

sơ đồ khối hợp lý cho chương trình vẽ

- Ứng dụng AutoLisp trong thiết lập, biên soạn mã nguồn cho các chương trình lệnh

Trang 8

Chương 2

CƠ SỞ LÝ LUẬN 2.1 TÌM HIỂU VỀ SẢN PHẨM

2.1.1 NGUYÊN LÝ CẤU TẠO CHUNG CỦA SẢN PHẨM MỘC

Phân tích cấu trúc cơ bản của một sản phẩm mộc:

Sản phẩm mộc có cấu tạo rất đa dạng và phong phú, song phân tích cấu trúc của chúng, ta thấy sản phẩm mộc được cấu tạo bởi các chi tiết và bộ phận giống như các loại sản phẩm khác Các chi tiết có thể liên kết với nhau tạo thành bộ phận Các bộ phận và chi tiết liên kết với nhau tạo thành sản phẩm Mức độ phức tạp về một kết cấu của một sản phẩm tuỳ thuộc vào số lượng, cách thức và giải pháp liên kết

Như vậy, chi tiết có thể được phân thành nhiều loại khác nhau:

- Theo hình dạng, các chi tiết có thể phân ra: chi tiết thẳng, chi tiết cong, chi tiết song tròn, chi tiết tiện tròn…

- Theo chức năng, chi tiết có thể phân thành: chi tiết cấu trúc, chi tiết liên kết và chi tiết trang trí

* Bộ phận

Bộ phận gồm nhiều chi tiết liên kết với nhau (theo kiểu cố định hay có thể tháo rời) tạo thành một phần cấu tạo có chức năng xác định trong kết cấu của sản phẩm Ví dụ: Cánh tủ là một bộ phận bao gồm cả khoá và bản lề Các

bộ phận đều có chức năng riêng xác định, được đảm bảo bằng những giải pháp cấu tạo thích hợp Việc phân chia bộ phận có ý nghĩa về phương diện tổ chức lắp ráp sản phẩm Các chi tiết và bộ phận có thể được tiêu chuẩn hoá về hình

Trang 9

dạng và kích thước Về mặt cấu trúc, một bộ phận có thể thay thế bằng một chi tiết

2.1.2 NGUYÊN LÝ CẤU TẠO CHUNG CỦA BÀN

Bàn là một loại sản phẩm mộc mà bộ phận chủ yếu để đáp ứng chức năng sử dụng của nó là mặt bàn và kết cấu chủ yếu chỉ có chân và mặt Ngoài

ra bàn có thể được cấu tạo thêm các bộ phận khác để đáp ứng các yêu cầu sử dụng khác trong quá trình sử dụng mặt bàn Ví dụ trên bàn có thể cấu tạo thêm ngăn kéo, buồng đựng tài liệu, ngăn để sách, ngăn để đồ dùng…

Bàn được dùng cho nhiều mục đích sử dụng, ví dụ như: bàn ăn, bàn làm việc, bàn họp, bàn hội nghị,…

Chiều cao của bàn phụ thuộc vào yêu cầu sử dụng liên quan đến kích thước của con người Kích thước của bàn được xác định sao cho một người ngồi ở bàn ít nhất cũng cần 60cm chiều rộng và diện tích hữu dụng của nó phải

đủ để đảm bảo tiện nghi làm việc

Với những yêu cầu sử dụng khác nhau, các bộ phận của bàn cũng có những đặc điểm khác nhau rất rõ nét Tuy nhiên xét một cách cơ bản nhất, chúng ta có thể phân biệt bàn theo các nhóm chủ yếu sau:

Trang 10

Ngày nay các sản phẩm mộc dạng tấm phẳng trên thị trường là rất phong phú và đa dạng nhất là sản phẩm dạng bàn Các sản phẩm này được sử dụng rất rộng rãi trong nhiều lĩnh vực khác nhau như: bàn sử dụng trong quán cà phê, bàn trong phòng khách, bàn làm việc, bàn trong phòng họp, bàn máy vi tính, bàn ngồi uống trà…Hầu hết các sản phẩm ở trên thị trường đều có ít hoặc nhiều các chi tiết có dạng là tấm phẳng, các bàn dạng này có cấu tạo khá đơn giản và được bố trí trong các không gian nội thất khá gọn nhằm tiết kiệm diện tích đặt Thường thì các sản phẩm dạng tấm phẳng này được làm bằng các vật liệu phi

gỗ hơn là vật liệu gỗ do chúng là vật liệu nhân tạo và khả năng sản xuất hàng loạt là cao Gỗ là vật liệu cũng được sử dụng khá nhiều trong sản xuất bàn dạng tấm phẳng nhưng ở dạng này thường người ta hay sử dụng các loại ván nhân tạo hơn Bàn ghế hay các vật dụng khác sử dụng trong không gian nội thất là những sản phẩm dạng tấm phẳng thường tạo ra cho ta những không gian khá tiện nghi và hiện đại Nhưng nếu một căn phòng mà có quá nhiều vật dụng như thế sẽ tạo ra cảm giác nhàm chán vì vậy ta cần bố trí một cách hài hoà các loại hình dáng cũng như các loại đường nét, màu sắc… để tạo ra được một không gian nội thất hoàn hảo

Do vậy ở khoá luận này tôi chỉ quan tâm đến các sản phẩm bàn dạng tấm phẳng Ở đây tôi đưa ra các sản phẩm rồi đơn giản hoá sản phẩm để viết

Trang 11

thành các câu lệnh vẽ, do một số hạn chế về ngôn ngữ lập trình và thời gian nghiên cứu nên tôi không đưa ra lệnh vẽ chính xác sản phẩm đó

Khảo sát một số loại mẫu sản phẩm trên thị trường tôi lấy các sản phẩm tiêu biểu mà trên thị trường có rất nhiều để đưa tạo các lệnh có sẵn

Một số loại sản phẩm bàn dạng tấm phẳng và một số không gian nội thất

Trang 12

* Bàn ghế phòng ăn

Trang 13

* Bàn phòng họp

Trang 14

* Bàn quán cà phê

Trang 15

* Bàn làm việc

Trang 16

* Một số mẫu bàn khác

Trang 17

* Một số không gian nội thất có sử dụng bàn dạng tấm phẳng

Trang 19

2.2 TÌM HIỂU VỀ PHẦN MỀM AUTOCAD

2.2.1 ỨNG DỤNG CỦA AUTOCAD TRONG THIẾT KẾ

Thiết kế là một quá trình biến các ý tưởng sáng tạo hoặc tưởng tượng thành các sản phẩm hữu ích Trong quá trình đó con người phải truyền đạt những ý tưởng sáng tạo này cho người khác bằng một hình thức dễ hiểu, công

cụ truyền đạt được sử dụng phổ biến nhất là đồ hoạ, bao gồm: hình ảnh, mô hình, bản vẽ…

Trong thực tế đang tồn tại 4 hệ thống giao tiếp: giao tiếp bằng lời nói, giao tiếp bằng chữ viết, giao tiếp dựa trên các kí hiệu, công thức (toán, hoá…)

và giao tiếp bằng đồ hoạ Giao tiếp đồ hoạ sử dụng bản vẽ kỹ thuật và mô hình

là ngôn ngữ rõ ràng, chính xác, có vai trò vô cùng lớn mà nhà kỹ thuật cần nắm bắt nếu muốn thành công trong công việc thiết kế kỹ thuật

Trong thiết kế kỹ thuật khoảng 92% các công việc trong quá trình thiết

kế liên quan đến đồ hoạ, ví dụ trong quá trình thiết kế một sản phẩm mộc thì trong từng giai đoạn thiết kế đều dựa trên cơ sở đồ hoạ: giai đoạn đưa ra ý tưởng (phác hoạ ý tưởng trên giấy), tính toán các kích thước vẽ phác thảo các kết cấu (bản vẽ phác thảo), vẽ chính xác các kết cấu (bản vẽ lắp), từ các mô hình và bản vẽ thực hiện việc tính toán theo các chỉ tiêu thiết kế khác nhau và chọn những thông số tối ưu, cuối cùng là tài liệu thiết kế và chế tạo (bản vẽ chi tiết) Để thực hiện bản vẽ ta sử dụng từ công cụ truyền thống như: thước kẻ, compa… và ngày nay các phần mềm hỗ trợ vẽ thiết kế được sử dụng rộng rãi

Phần mềm AutoCAD cho phép ta thực hiện vẽ các bản vẽ 2D và 3D một cách nhanh chóng và chính xác Ngày nay việc sử dụng phần mềm AutoCAD

và các phần khác để hỗ trợ thiết kế nội thất và thiết kế các sản phẩm mộc ngày càng trở nên cấp thiết Chính vì vậy, ngày nay cần phải có các chương trình hỗ trợ việc vẽ nội thất, các sản phẩm mộc để cho việc thiết kế nội thất và sản phẩm mộc được đơn giản và nhanh chóng

Trang 20

2.2.2 CÚ PHÁP THỰC HIỆN MỘT SỐ LỆNH VẼ CƠ BẢN CỦA AUTOCAD ỨNG DỤNG TRONG TẠO LẬP LỆNH VẼ

Các lệnh vẽ trong phần mềm AutoCAD đều đã được tạo sẵn Các nhà thiết kế, vẽ kỹ thuật chỉ sử dụng các lệnh có sẵn này để tạo ra các bản vẽ Vì các lệnh vẽ rất linh hoạt nên với cùng một bản vẽ thì có rất nhiều cách để tạo

ra Ở đây tôi chỉ nghiên cứu một số lệnh vẽ các sản phẩm dạng tấm phẳng 2D

và 3D Một số lệnh dùng để nghiên cứu là: line, rectang, copy, box, move, zoom, ucs Do ở trong ngôn ngữ lập trình AutoLISP không phân biệt các loại đường nét trong bản vẽ nên ta dùng cách quy định màu sắc để quy định nét khuất, nét thấy

2.3 KHÁI QUÁT VỀ CƠ CHẾ VÀ PHƯƠNG THỨC HOẠT ĐỘNG CỦA AUTOLISP

2.3.1 GIỚI THIỆU CHUNG

LISP là chữ viết tắt của cụm tử tiếng Anh: LISt Processor (Xử lý danh sách) AutoLISP là một ứng dụng của ngôn ngữ LISP được sử dụng trong môi trường AutoCAD LISP là ngôn ngữ lập trình thuộc nhóm trí tuệ nhân tạo do MacCarthy soạn thảo cuối những năm 50 Với AutoLISP người dùng có thể mở rộng và tuỳ biến các chức năng của AutoCAD

Hiện nay AutoLISP đã được hãng Autodesk phát triển theo các số hiệu phát hành của AutoCAD Về căn bản những phiên bản sau vẫn sử dụng được những chương trình lập bằng phiên bản trước, ngược lại thì không được do có một số hệ thống và lệnh của AutoCAD giữa các phiên bản không giống nhau nên việc dùng chung có gặp một số trở ngại Do vậy yêu cầu người lập trình phải nắm thật vững AutoCAD để sử dụng AutoLISP một cách hiệu quả

AutoLISP là một ngôn ngữ lập trình thông dịch, nghĩa là dịch đến dòng nào thực hiện dòng đó và cho kết quả, không có trình biên dịch riêng Một tập hợp các lệnh của AutoLISP được gọi là hàm Lisp và tệp (file) chứa các hàm gọi

là tệp (file) Lisp có phần mở rộng là Lsp

Trang 21

Với AutoLISP, người dùng có thể dễ dàng truy cập đến dữ liệu của AutoCAD, có thể thay đổi, tạo mới, xoá bỏ các đối tượng, thêm các thông tin vào bản vẽ thực hiện các công việc Tự động hoá trong thiết kế

2.3.2 KHÁI QUÁT VỀ AUTOLISP

AutoLisp là một phần mềm ứng dụng trong AutoCAD, ta có thể sử dụng AutoLISP bằng cách mở phần mềm AutoCAD theo cách sau:

Tool- downmenu: Tools/Autolisp/Visualisp Editor

Hoặc command: Vlisp

Console Window để nhập các lệnh của Autolisp

Trong cửa sổ Console Window ta có thể nhập và chạy các lệnh của AutoLISP và xem kết quả

Biểu thức của Autolisp là tập hợp các con số chuỗi ký tự và chúng được đặt cách nhau

Có thể sử dụng các lệnh Autocad trong chương trình:

(command<đối số>)

Trong đó <đối số> có thể là tên lệnh của AutoCAD, là số nguyên, số thực, tên biến hoặc có thể là cả một hàm số

a Cách viết chương trình AutoLISP

Có hai cách viết chương trình AutoLISP:

- Viết trực tiếp:

Tại dòng nhắc Command của AutoCAD ta có thể gõ các câu lệnh theo cú pháp của AutoLISP Lệnh này sẽ được thực thi ngay và cho kết quả trên màn hình tại vùng dòng lệnh nhưng lệnh này không lưu trữ được

- Viết thành chương trình:

Dùng chương trình soạn thảo (dạng mã ASCII) bất kì hoặc Visual LISP, viết thành chương trình như một tệp tin có phần mở rộng *.lsp Tệp tuân thủ theo quy ước của hệ điều hành, thường không quá 8 ký tự, giữa các ký tự không có khoảng trống

Trang 22

b Tải chương trình AutoLISP

Từ VLISP: Tools\ Load Text in Editor

Từ AutoCad: Tool\ Load Application hoặc trên dòng lệnh Command: ap

Để AutoCad tự động tải ngay từ khi khởi động hoặc mở bản vẽ có 2 cách:

- Đặt tên tệp là ACAD.LSP và đặt trong thư mục Support của AutoCad

- Khi tải file lần đầu sử dụng Startup Suite\ Contents và chọn đường dẫn cho file

c Các hàm trong AutoLISP

AutoCad nhận và xử lý các lệnh trong hàm của AutoLisp theo cú pháp sau:

- Tên hàm do người dùng định nghĩa gồm các chữ cái và con số trừ các

ký tự đặc biệt: như: ? < > , * & ^ % $ # @ ! ~ \ | { } [ ] , tên hàm không nên quá dài và phải dễ quản lý

- Hàm và câu lệnh của AutoLisp phải được đặt trong cặp dấu ngoặc đơn, bắt đầu bằng “(“ và kết thúc bằng “)”

- Hàm được viết từ trái qua phải theo kiểu Ba-lan, nghĩa là phần tử đầu tiên sau dấu mở ngoặc phải là tên hàm (có sẵn hay do người lập trình tự định nghĩa) hay toán tử Các phần tử đứng sau là các tham số cần thiết để thực hiện hàm hay toán tử đó

- Phân cách giữa tên hàm (hay toán tử) với các tham số, giữa các tham số với nhau phải có ít nhất một dấu cách ( dấu Space)

- Một câu lệnh có thể viết trên nhiều dòng Các dòng chữ có thể viết thụt vào tuỳ ý theo cấu trúc đoạn lệnh cho dễ hiểu

- Không phân biệt chữ hoa và chữ thường, thường thì tên hàm nên viết bằng chữ thường, tên các lệnh và các biến hệ thống của AutoCad viết bằng chữ hoa cho dễ đọc và chương trình sáng sủa hơn

- Bất kỳ một hàm nào cũng trả về một giá trị nào đó, nếu không có giá trị trả về trị số mặc định là “nill”

Trang 23

- Lời chú thích ghi trong chương trình AutoLisp được ghi sau dấu “ ; ”

và không được thực thi trong chương trình

d Các biến trong AutoLISP

- Các biến của chương trình AutoLISP hoạt động tương tự như các biến của chương trình khác

- Tên biến gồm các chữ cái và các con số (trừ các ký tự đặc biệt như: ? <

> , @ # $ % ^ & ), nếu chữ số đứng đầu thì tiếp theo phải là các chữ cái để tránh nhầm lẫn với các hằng số Tên biến không nên quá dài

- Tên biến không phân biệt chữ hoa và chữ thường

- Có hai loại biến:

+ Biến chung: Là biến tồn tại trong suốt quá trình làm việc của AutoCAD Để kiểm tra giá trị của biến trong dòng Command của AutoCAD gõ tên biến

+ Biến riêng: Là biến chỉ tồn tại bên trong một hàm Kết thúc hàm biến này nhận giá trị “nill”

- Các biến tham gia và các biểu thức phải được gán giá trị hoặc định nghĩa nếu không ứng dụng sẽ bị lỗi

e Thiết lập bộ mã nguồn chương trình vẽ sản phẩm

Đây là nội dung chính của khoá luận, bao gồm việc vẽ hình cấu tạo thiết

kế trên AutoCAD rồi xuất sang Lisp để soạn thảo chương trình và thiết kế hộp thoại

Chương trình Lisp tạo lập trên cơ sở các lệnh tạo lệnh mới và lệnh gán giá trị cho các biến Còn các hộp thoại ( Dialog) sẽ là hộp thoại hiện ra khi ta chạy chương trình bằng cách gõ lệnh vào hàm command trong AutoCAD Ta

sẽ làm việc trực tiếp trên hộp thoại này bằng cách chỉ cần nhập các thông số cơ bản như: chiều rộng, chiều dài, chiều cao…

2.3.3 TRÌNH TỰ TẠO RA BỘ MÃ NGUỒN

Một bộ mã nguồn có thể chỉ có một file hoặc có thể gồm nhiều file kết hợp lại Để cho người vẽ có thể tiếp cận một cách dễ dàng với các lệnh vẽ thì ở

Trang 24

đây tôi đưa ra một bộ mã nguồn gồm có 3 file là: DCL, LISP và file có đuôi

SLD

File DCL có nhiệm vụ tạo ra hộp thoại của câu lệnh, trên hộp thoại có

các lựa chọn để ta có thể nhập các thông số để tạo ra các bản vẽ khác nhau

File LISP là file quan trọng nhất, file có nhiệm vụ khai báo các biến của

các thông số đầu vào, gán các biến vào các chuỗi số, tính toán các biểu thức,

thực thi các lệnh vẽ và cuối cùng là in lên màn hình các bản vẽ

File SLD cho phép ta xem được trước hình dạng của sản phẩm File này

được tạo ra trực tiếp từ trên AutoCAD khi ta vẽ thử một bản vẽ

a Giới thiệu về hộp thoại

Người sử dụng thường xuyên phải giao tiếp, trao đổi số liệu với phần

mềm AutoCAD như nhập các giá trị, các toạ độ điểm Việc giao tiếp thông qua

các hộp thoại tỏ ra dễ ràng và thuận lợi hơn so với tại dòng nhắc lệnh

Phần này sẽ gới thiệu cấu trúc của hộp thoại và các thành phần của nó

* Khái niệm về File.dcl và 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 tile acad.dcl (trong thư mục SUPPORT) Ta có thể

xem nội dung file này bằng phần mềm như Notepad, MS Word

Các thành phần của hộp thoại như nút lệnh (button) hoặc các hộp thoại

văn bản (edit box) , gọi là các tile Hình dáng, kích thước, chức năng của các

tile được xác định bởi các thuộc tính (attribute) của chúng Ngoài ra, ta có thể

sử dụng các tile để tạo ra các prototype hoặc các Subassembly để sử dụng

nhiều lần trong các tile DCL khác nhau (tượng tự như tạo các khối để sử dụng

nhiều lần trong các bản vẽ)

AutoCAD đã mô tả cấu trúc mặc định cho các tile, ví dụ như kích thước

hộp thoại và cách sắp xếp các thành phần của nó được thực hiện tự động Do

đó, ta chỉ khai báo giá trị cho những thuộc tính nào cần thiết mà thôi

* Cấu trúc cây trong mô tả cấu trúc hộp thoại

Trang 25

Trong file DCL, để mô tả cấu trúc của hộp thoại, ta liệt kê lần lượt các

tile và các thuộc tính của chúng theo thứ tự từ trên xuống, theo cấu trúc cây

Mô tả cấu trúc cây:

Mức cao nhất của cây, gọi là gốc (roof), luôn luôn là dialog

Các tile mức 1: toggle, boxed_column, row gọi là con (children) của hộp

thoại

Các tile mức 2: edit_box, edit_box là con của boxed_column

Row: là một subassembly chứa các tile: ok_button, cancel_button,

Trang 26

- Tên các tile phải viết băng chữ thường, bắt đầu bằng dấu hai chấm (:)

- Các tile được liệt kê theo thứ tự từ trên xuống như trong hộp thoại

- Các dòng chú thích bắt đầu bằng dấu //

- Các thuộc tính của một tile được đặt trong cặp dấu {} và kết thúc mỗi thuộc tính là dấu chấm phẩy (;)

- Các hộp thoại phải chứa một exit tile để đóng hộp thoại

Sau đây là chương trình AutoLISP để làm xuất hiện hộp thoại trên:

; Tên file: hopthoai.LSP

; Mục đích: Làm xuất hiện hộp thoại hopthoai trong file

; hopthoai.DCL

; File hopthoai.dcl phải được đặt trong đường dẫn của thư viện hoặc phải

bổ xung đường dẫn cho tên file trong hàm load_dialog

(set DCL_ID (load_dialog “hopthoai.DCL”))

(new_dialog “hopthoai” DCL_ID)

(start_dialog)

; Kết thúc chương trình

Trang 27

b Giới thiệu về các hàm điều khiển hộp thoại

Các hàm điều khiển hộp thoại trong AutoLISP để thực thi các nhiệm vụ như: tải các mã lệnh DCL, kiểm tra chức năng của các tile, hiển thị và cập nhật các hình ảnh, dòng chữ xuất hiện trên hộp thoại, xử lý số liệu do người sử dụng nhập vào, đóng hộp thoại…

Để làm xuất hiện các hộp thoại, chương trình AutoLISP thực hiện các bước cơ bản sau:

Tải các mã lệnh DCL

Khởi tạo hộp thoại

Khởi tạo các tile, tải các hình ảnh

Làm xuất hiện hộp thoại và bắt đầu khởi động hộp thoại làm việc

Kiểm tra các dữ liệu nhập Đóng hộp thoại Chuyển dữ liệu cho chương

trình AutoLISP

Loại bỏ các mã lệnh DCL

Trang 28

c Các bước tạo file LISP

Bước 1: Tạo ra một hàm tự tạo dùng để gán giá trị của các biến cho các biểu thức AutoLISP đồng thời tạo ra câu lệnh dùng để chạy file ảnh

Bước 2: Tạo ra hàm nhập dùng để gán và chuyển đổi một chuỗi thành một số thực nhập từ hộp thoại

Bước 3: Tạo ra hàm vẽ, hàm này có nhiệm vụ tính toán các điểm và thực hiện các lệnh vẽ

Bước 4: Tạo một hàm tự tạo dùng để gán giá trị của các biến mà ta tạo ra

ở trên cho các giá trị nhập vào

Bước 5: Tạo ra một hàm dùng để gán các biến trở lại các giá trị ban đầu Bước 6: Tạo lệnh tắt ghi trên hàm command Khai báo các biến, các tham số đã dùng và thực hiện lệnh in sản phẩm lên màn hình

Trang 29

Chương 3 KẾT QUẢ NGHIÊN CỨU 3.1 CHƯƠNG TRÌNH VẼ SẢN PHẨM BÀN 01

Trang 30

: row {

: text { label = "Diem dat ban:";}

: button { key = "b_ins"; label = "&Chon diem chen";}

: edit_box { key = "edit_x"; label = "&X";}

: edit_box { key = "edit_y"; label = "&Y";}

: edit_box { key = "edit_h"; label = "Chieu cao ban (H):";}

: edit_box { key = "edit_b"; label = "Chieu sau ban (b):";}

: edit_box { key = "edit_l"; label = "Chieu rong ban (L):";}

: edit_box { key = "edit_s1"; label = "Chieu day van nguyen lieu (s1):";}

: edit_box { key = "edit_s2"; label = "Chieu day mat ban (s2):";}

: edit_box { key = "edit_h1"; label = "Khoang cach mat ban den dinh hoi (h1):";}

: edit_box { key = "edit_h2"; label = "Khoang cach mat ban den ngan ban (h2):";}

Trang 31

(defun dia (/ dcl_id)

(setq dcl_id (load_dialog "ban1.dcl"))

(if (not (new_dialog "ban1" dcl_id)) (exit))

(set_tile "edit_x" (if (null ins) "" (rtos (car ins))) )

(set_tile "edit_y" (if (null ins) "" (rtos (cadr ins))) )

(action_tile "edit_h2" "(setq h2 $value)")

(action_tile "b_ins" "(done_dialog 2)")

(action_tile "accept" "(nhap) (done_dialog 1)")

Trang 32

(setq x (atof (get_tile "edit_x"))

y (atof (get_tile "edit_y"))

ins (list x y)

h (atof (get_tile "edit_h"))

b (atof (get_tile "edit_b"))

l (atof (get_tile "edit_l"))

s1 (atof (get_tile "edit_s1"))

s2 (atof (get_tile "edit_s2"))

h1 (atof (get_tile "edit_h1"))

h2 (atof (get_tile "edit_h2"))

)

)

(defun ve (/ p1 p2 p3 p4 p5 p6 p7 p8 p91 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26)

Ngày đăng: 22/06/2021, 10:10

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w