Bài giảng AutoCad nâng cao - Chương 4: Tùy biến trong CAD

ppt 59 trang huongle 3110
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng AutoCad nâng cao - Chương 4: Tùy biến trong CAD", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_autocad_nang_cao_chuong_4_tuy_bien_trong_cad.ppt

Nội dung text: Bài giảng AutoCad nâng cao - Chương 4: Tùy biến trong CAD

  1. AutoCAD Nâng cao Chương 4 : Tùy biến trong CAD I. Các đối tượng shape. 1. Khái niệm cơ bản – Khái niệm – Ưu điểm – Editor : wordPad, NotePad – Tải và gỡ khỏi bản vẽ Compile Shape Purge *.SHP *.SHX DWG Gỡ bỏ – Ứng dụng của Shape : • Dùng để tạp các font chữ. • Dùng để tao ra các dạng đường phức tạp. AutoCAD AutoCAD NÂNG CAO • Ngoài ra Shape còn được sử dụng như Block.
  2. Quy ước chung 2. Cách mô tả shape trong file .SHP • Quy ước chung : • Mỗi Shape được mô tả bởi nhiều dòng • Mỗi dòng có không quá 128 ký tự • Chú thích bắt đầu bằng dấu ; • Ký tự có thứ tự sau 128, sau dấu ; đều không đc biên dịch • Mô tả một shape *Shapenumber, defbytes, Shapename Spectbyte1,spectbyte2, .,spectbyten,0 • Shapenumber : số định danh của Shape từ 1→255 và phải là duy nhất • Defbytes =n+1. Tối đa =2000 • Shape name : bắt buộc phải là chữ hoa, AutoCAD AutoCAD NÂNG CAO • Specbyte : mã vector và mã đặc biệt
  3. Vector Length and Direction Code 2.1. Vector Length and Direction Code (mã vector). • Quy ước dùng mà thập lục. • Ký tự đầu tiên phải là số 0, do đó 2 ký tự tiếp theo biểu diễn số thập lục phân. • Ký tự thứ hai biểu diễn chiều dài vector. Giá trị từ 1 (đơn vị chiều dài) đến F (15 đơn vị chiều dài). • Ký tự thứ ba biểu diễn hướng của vector. Giá trị từ 1 (đơn vị chiều dài) đến F (15 đơn vị chiều dài). Hình sau đây minh họa hướng đã được số hóa. • Chú ý : Các vector này đều có độ dài là 1 đơn vị • Ví dụ : *230,6,DBOX 014,010,01C,018,012,0 AutoCAD AutoCAD NÂNG CAO
  4. Special Codes - 000,001,002 2.2. Special Codes (mã đặc biệt) • Các mã đặc biệt dùng để tạo các hình dạng đặc biệt – Ký tự đầu tiên phải là số không. – Ký tự thứ hai phải là số không – Ký tự ba xác định chức năng (miêu tả trong bảng liệt kê). Giá trị thập lục phân nhập vào từ 1 đến F (15). • Mã 000 : Kết thúc chuỗi mô tả. – Sau mã 000 đánh dấu kết thúc chuỗi mô tả của một shape. Chú ý sau số 0 phải ấn enter • Mã 001 và 002 : Bật tắt chế độ vẽ – 001 : bật chế độ vẽ (defaut in shape description – 002 : Tắt chế độ vẽ. – Ví dụ *232,12,DBOX21 AutoCAD AutoCAD NÂNG CAO 044,040,04C,048,002,012,001,024,020,02C,028,0
  5. Special Codes - 003,004 2.2. Special Codes (mã đặc biệt) • Mã 003 và 004 : Thay đổi tỉ lệ vẽ. – Theo sau 2 mã này là một số nguyên từ 1-255 – Mã 003 : tỷ lệ vẽ sẽ được chia cho số đứng sau nó – Mã 004 : tỷ lệ vẽ sẽ được nhân với số đứng sau nó – Ví dụ : 004,10 : Các nét vẽ tiếp sau nó sẽ có độ dài bằng độ dài mã mô tả nhân với 10. AutoCAD AutoCAD NÂNG CAO
  6. Special Codes - 005,006 2.2. Special Codes (mã đặc biệt) • Mã 005 và 006 : Lưu và phục hồi vị trí của con trỏ trong stack. – Mã 005 đẩy tọa độ con trỏ vẽ vào stack (ngăn xếp) – Mã 006 lấy tọa độ ra khỏi stack và gán nó cho tọa độ con trỏ hiện hành (nói cách khác là phục hồi vị trí con trỏ đã lưu trong stack). – Ngăn xếp tối đa chỉ lưu trư được 4 vị trí. Nếu lưu trữ quá khả năng của nó AutoCAD sẽ thông tràn stack : “Position stack overflow in shape nnn” – Nếu stack đang rỗng, ta cố tình dùng 006 để lấy tọa độ ra khỏi stack. Khi vẽ shape này AutoCAD sẽ thông báo “Position stack underflow in shape nnn AutoCAD AutoCAD NÂNG CAO
  7. Special Codes - 008,009 2.2. Special Codes (mã đặc biệt) • Mã 008,009 vẽ vector có độ dài và hướng không giới hạn, bằng cách sử dụng độ dịch chuyển X,Y (độ dịch chuyển tương đối so với điểm mà con trỏ vẽ đang đứng) • Theo sau mã 008 là 2 byte quy định độ dời X,Y với dạng sau : 008,X-displacement,Y-displacement 008,(X-displacement,Y-displacement) – Độ dời X-displacement,Y-displacement có giá trị trong khoảng - 128 đến +127. – Ví dụ : (-10,3) mô tả vector hướng về trái 10 đơn vị và hướng lên trên 3 đơn vị. • Mã 009 vẽ liên tiếp các vector. Theo sau mã 009 là các cặp byte quy định độ dời (X,Y) và kết thúc mã 009 là cặp byte (0,0). Ví dụ : 009,(3,1),(3,2),(2,-3),(0,0) vẽ liên tiếp ba vector có độ dời tương (3,1),(3,2),(2,-3). AutoCAD AutoCAD NÂNG CAO
  8. Special Codes – 00A 2.2. Special Codes (mã đặc biệt) • Mã 00A : vẽ cung tròn 45 độ – Theo sau mã 00A là 2 byte định nghĩa một cung tròn 45o (bằng 1/8 đường tròn). Các cung được đánh thứ tự từ 0 đến 7 tính theo vị trí đầu của cung. – Mã mô tả cung tròn như sau : 00A,radius,(–)0SC • Bán kính (radius) có giá trị từ 1 đến 255 • Byte thứ 2 (-)0SC mô tả • Dấu (-) quy định hướng vẽ của cung tròn (vẽ ngược chiều kim đồng hồ nếu là dương, theo chiều kim đồng hồ nếu là âm • 0 : Luôn luôn là 0, quy định các ký tự sau nó là hệ thập lục phân • C : Số lượng các cung tròn 45o. Có giá trị từ 0 đến 7. Nếu là 0 thì AutoCAD sẽ vẽ cả vòng tròn (8 cung 45o) bán kính radius AutoCAD AutoCAD NÂNG CAO
  9. Special Codes – 00B 2.2. Special Codes (mã đặc biệt) • Mã 00B cho phép vẽ một cung tròn bất kỳ, không nhất thiết phải bắt đầu bằng các vị trí định trước như mã 00A. 00B,start_offset,end_offset,high_radius,radius,(-)0SC – Start_offset: Biểu diễn độ dời của cung tròn so với điểm bắt đầu vẽ được quy định trước trong mã 00A (được đánh số từ 0-7). Giá trị của start_offset được tính bằng cách lấy giá trị của góc hợp bởi điểm bắt đầu vẽ cung theo 00B và điểm bắt đầu vẽ cung theo 00A nhân với 256 và chia cho 45. start_offset = * 256/45 – End_offset : Biểu diễn độ dời của điểm cuối cung tròn so với điểm 1/8 đường tròn tương ứng. Giá trị của end_offset cũng được tính tương tự như start_offset – Radius : bán kính của cung tròn (từ 1 đến 255 đơn vị ) – High-radius : Có giá từ 0 đến 255. Cách tính như sau : Bán kính = High-radius*256+Radius – (-)OSC : Mô tả như 00A. Dùng để xác định các giá trị AutoCAD AutoCAD NÂNG CAO start_offset và end_offset
  10. Special Codes – 00C,00D 2.2. Special Codes (mã đặc biệt) • Với các mã 00C và 00D ta có thể vẽ được các cung tròn có hình dạng bất kỳ bằng cách sử dụng hệ số độ cong của cung tròn. Mã 00C vẽ một cung tròn, mã 00D vẽ nhiều cung tròn liên tiếp nhau – Theo sau mã 00C là 3 byte mô tả cung tròn như sau : 00C,X-displacement,Y-displacement,Bulge – X-displacement,Y-displacement : Độ dời của điểm cuối của cung tròn (Tọa độ tương đối của điếm cuối so với điểm đầu) có giá trị từ -127 đến +127 – Bulge : Hệ số xác định độ cong của cung tròn. Có giá trị từ -127 đến 127. Cách tính như sau : Bulge=(2*H/D)*127 • D : Chiều dài dây cung. • H : Chiều cao của cung • Dấu (-) vẽ theo chiều kim đồng hồ. Dấu (+) hoặc không có dấu thì vẽ ngược chiều kim đồng hồ. – Nếu mã 00C chỉ vẽ một cung tròn thì mã 00D vẽ liên tiếp các cung tròn. Theo sau mã 00D là các cặp byte mô tả cung tròn được vẽ và kết thúc AutoCAD AutoCAD NÂNG CAO 00D bằng một cặp byte (0,0). – Ví dụ : 00D,(0,5,127),(0,5,0),(0,5,-127),(0,0) (0,5,0) mô tả một đường thẳng có độ dài bằng 5 đơn vị
  11. Dạng đường II. Tạo các dạng đường 1. Khái niệm và phân loại dạng đường – Dạng đường đơn giản là các dạng đường chỉ bao gồm các đoạn thẳng, khoảng trống và đấu chầm. – Dạng đường phức tạp là các dạng đường không chỉ chứa các đoạn thẳng, khoảng trống, dấu chấm mà còn chứa các đối tượng khác như phông chữ hay các đối tượng Shape. 2. Tạo các dạng đường đơn giản • Có hai cách tạo dạng đường đơn giản – Dùng creat trong lệnh -linetype – Tạo file mô tả dạng mã ACII có phần mở rộng .LIN AutoCAD AutoCAD NÂNG CAO
  12. Dạng đường đơn giản 2.1. Tạo linetype bằng cách soạn thảo trực tiếp trong .LIN • Mỗi dạng đường trong file .LIN được mô tả trong hai dòng : *linetype_name,description A,descriptor1,descriptor2, – Dấu * đặt trước tên dạng đường là bắt buộc. – Linetypename : Tên của đường, sẽ hiện lên trong linetype manager. – Description : Chuỗi mô tả có thể có hoặc không có và dài không quá 47 ký tự. – A : quy định kết thúc đối tượng vẽ bằng nét gạch liền. – Descriptor 1,2, : Byte mô tả dạng đường • Giá trị dương quy định chiều dài nét gạch liền. • Giá trị âm quy định độ dài khoảng trống. • Số 0 quy định đoạn thẳng có độ dài bằng 0 hay nốt chấm (dot). AutoCAD AutoCAD NÂNG CAO
  13. Dạng đường đơn giản • Ví dụ : – A,.5,-.25,.5,-25,0,-25 • Nét gạch dài 0.5 đơn vị bản vẽ • Khoảng trống 0.25 đơn vị bản vẽ • Nét gạch dài 0.5 đơn vị bản vẽ • Khoảng trống 0.25 đơn vị bản vẽ • Một điểm ảnh (nét gạch dài 0 đơn vị bản vẽ) • Khoảng trống 0.25 đơn vị bản vẽ 2.2. Dùng creat trong lệnh -linetype. AutoCAD AutoCAD NÂNG CAO
  14. Dạng đường đơn giản • Command: -LINETYPE • Current line type: "ByLayer"Enter an option [?/Create/Load/Set]: Ccreate • Enter name of linetype to create: name • Wait, checking if linetype already defined (Chọn tên file sẽ tạo mới hoặc mở file .LIN có sẵn để ghi đường lại đường này) • Descriptive text: Duong tam • Enter linetype pattern (on next line):Nhập vào các byte mô tả dạng đườngA,0.5,0.5,-0.25,0,-0.25 AutoCAD AutoCAD NÂNG CAO
  15. Dạng đường chứa Shape 3. Dạng đường phức chứa đối tượng shape • Cú pháp mô tả shape như sau [shapename,shxfilename] or [shapename,shxfilename,transform] – Shape name : Tên của shape. Nếu tên của đối tượng không có trong file shape, AutoCAD sẽ xem như không có phần mô tả về đối tượng shape trong dạng đường. – Shxfilename : Tên của file .shx chứa đối tượng shape cần chèn vào dạng đường. Cần phải chỉ rõ tên, đường dẫn, nếu không AutoCAD sẽ tìm trong thư mục mặc định chứa các file .SHX : \Documents and Settings\[user name]\Application Data\Autodesk\AutoCAD 2005\R16.0\enu\Support. – Transform : Là mục tùy chọn, gồm các thông số tương ứng với phép biến hình khi chèn đối tượng shape và dạng đường. Giá trị của transform được mô tả trong bảng dưới đây, mỗi thông số AutoCAD AutoCAD NÂNG CAO được cách nhau bởi dấu phẩy
  16. Dạng đường chứa Shape • R=## Relative rotation (Góc quay tương đối của shape so với đường thẳng được vẽ) • A=## Absolute rotation (Góc quay tuyệt đối so với trục OX của hệ tọa độ WCS) • S=## Scale (Hệ số tỷ lệ của shape được chèn so với shape được mô tả trong shape file) • X=## X offset (Độ dời theo phương đường thẳng) • Y=## Y offset (Độ dời theo phương vuông góc với đường thẳng. • Chú ý : X,Y có thể là số âm AutoCAD AutoCAD NÂNG CAO
  17. Dạng đường chứa Shape • Ví dụ : *BAT1LINE, [BAT1] [BAT1] [BAT1] A,38.1,-38.1,[BAT,ltypeshp.shx,S=5],-12.7 *BAT2LINE, [BAT2] [BAT2] [BAT2] A,38.1,-38.1,[BAT,ltypeshp.shx,S=5,R=0,X=-20.0],-12.7 *BAT3LiNE, [BAT3] [BAT3] [BAT3] A,38.1,-38.1,[BAT,”C:\sample\ltypeshp.shx”,S=5,y=-6.0,r=90,X=-6],-12.7 Hình dạng các linetype trên hiện theo thứ tự như sau : AutoCAD AutoCAD NÂNG CAO
  18. Dạng đường chứa Text 4. Dạng đường phức có chứa đối tượng chữ • Cú pháp mô tả đối tượng chữ trong dạng đường phức tạp như sau ["text",textstylename,scale,rotation,xoffset,yoffset] – Text : chuỗi ký tự được chèn vào. – Style : Tên kiểu chữ mà AutoCAD sẽ lấy để định dạng cho text. – Scale,rotation,xoffset,yoffset : Tương tự như trên các thông số của transform • Ví dụ : *HOT_WATER_SUPPLY1, HW HW HW HW A,.5,-.2,["HW",STANDARD,S=.1,R=0.0,X=-0.1,Y=-.05],-.2 Kết quả ta có dạng đường như sau : • Chú ý : Nếu s=0 thì text sẽ lấy theo font và có cỡ chữ (height) bằng 1. AutoCAD AutoCAD NÂNG CAO
  19. Mẫu mặt cắt III. Tạo các mẫu mặt cắt. 1. Khái niệm chung • Ta chia dạng mặt cắt thành hai loại : Mặt cắt đơn giản và dạng mặt cắt phức tạp. – Mẫu mặt cắt đơn giản là mẫu chỉ chứa một dạng đường thẳng. – Mẫu mặt cắt phức tạp là mẫu gồm nhiều họ đường thẳng hợp thành AutoCAD AutoCAD NÂNG CAO
  20. Mẫu mặt cắt đơn giản 2. Mẫu mặt cắt đơn giản • Một mẫu mặt cắt trong file .PAT được mô tả bằng nhiều dòng liền nhau. Cú pháp mô tả như sau : *pattern-name[, description] angle, x-origin,y-origin, delta-x,delta-y [, dash1, dash2, ] – Pattern – name : Tên mặt cắt sẽ mô tả, không được chứa khoảng trắng. – Description : Phần mô tả (Không bắt buộc) và không được vượt quá 80 ký tự – Angle : Góc của đường cắt. – x-origin : Hoành độ x của điểm chuẩn dùng để vẽ mẫu mặt cắt. – y-origin : Tung độ của điểm chuẩn dùng làm gốc tọa độ. – delta-x : Độ dời của đường cắt theo phương phương đường thẳng. – delta-y : Độ dời của đường cắt theo phương vuông góc với phương đường thẳng. – dash1, dash2, : Chỉ sử dụng khi các đường cắt là dạng đường không liên tục. Các giá trị này mô tả dạng đường đó (bao gồm nét gạch và AutoCAD AutoCAD NÂNG CAO khoảng trống).
  21. Mẫu mặt cắt đơn giản • Ví dụ Tạo file có tên L123.PAT nội dung như sau *L123, proposed future trailers 0,0,0,0,0.5 AutoCAD AutoCAD NÂNG CAO
  22. Mẫu mặt cắt đơn giản • Tạo file có tên L124.PAT nội dung như sau *L124, proposed future trailers 90, 0,0, 0,1 AutoCAD AutoCAD NÂNG CAO
  23. Mẫu mặt cắt đơn giản *L125, proposed future trailers 0,1,0,1,2,-3,1 AutoCAD AutoCAD NÂNG CAO
  24. Mẫu mặt cắt phức tạp 2. Mẫu mặt cắt phức tạp • Mẫu mặt cắt phức tạp được tạo từ nhiều họ đường khác nhau (line family). Các họ đường này được mô tả trên một dòng vào tạp thành một mặt cắt phức tạp. • Ví dụ : *lightning, interwoven lightning 90, 0,0, 0,.5, .5,–.25 AutoCAD AutoCAD NÂNG CAO
  25. Mẫu mặt cắt phức tạp *lightning1, interwoven lightning *lightning3, interwoven lightning 0, –.25,.5, 0,.75, .25,–.25 90, 0,0, 0,.5, .5,–.25 – *lightning2, interwoven – *lightning4, interwoven lightning lightning – 90, –.25,.5, 0,.5, .5,–.25 – 90, 0,0, 0,.5, .5,–.25 – 0, –.25,.5, 0,.75, .25,–.25 – 90, –.25,.5, 0,.5, .5,–.25 AutoCAD AutoCAD NÂNG CAO
  26. Tùy biến menu IV. Menu 1. Menu và file menu 1.1. Các loại menu Có tổng cộng có 10 loại menu • Các menu đổ (pulldown menu): là menu đổ như file, edit, • Các menu ngữ cảnh (shortcut menu): là menu hiện lên khi ta ấn phải chuột tại vị trí trên bản vẽ. • Các thanh công cụ (toolbar). • Các menu hình ảnh (Image menu) :Ví dụ Draw→Surfaces→3d surfaces. • Các menu màn hình (Screen menu) : menu này được hiện lên khi ta vào Tools option→Display→Window element→Display screen menu. • Các menu thiết bị chuột (Auxiliary menu) : menu này là các thiết bị chuột như ta bấm ctrl+chuột trái, ctrl+chuột phải. • Các thiết bị khác của hệ thống nhập (Button menu): đây là menu phục vụ cho các thiết bị khác của hệ thống nhập như bút điện tử. • Các bảng nhập số hóa (tablet) : menu dành riêng cho các bảng số hóa của cad. • Các chuỗi chú thích ở status (helpstring): Khi ta chuyển con trỏ lên các AutoCAD AutoCAD NÂNG CAO menu đổ, sẽ xuất hiện các dòng chú thích ở thanh trạng thái (status). • Các phím nóng (shortcu key). Ví dụ ctrl+o→Open, v.v
  27. Các lọai file menu 1.2. Các loại file menu Chúng ta có các loại file menu sau : • *.mnu : File menu mẫu, đây là file mã ACII mà bạn có thể hiệu chình trực tiếp trên nó. • *.mns : Đây là file menu nguồn được phát sinh bởi AutoCAD dựa trên file *.mnu. Cấu trúc file này đơn giản hơn mnu một chút nhưng về cơ bản là giống. • *.mnc : Là file biên dịch mã nhị phân của AutoCAD. AutoCAD sẽ biên dịch file mns trên thành file file mnc để máy có thể tải và sử lý nhanh hơn. • *.mnr : File nhị phân chứa các ảnh bitmap được sử dụng cho menu ảnh. • *.mnl : File acci chứa các chương trình Autolisp đi kèm với menu. Nó sẽ tự động được tải lên nếu có cùng tên với file *.mnc AutoCAD AutoCAD NÂNG CAO
  28. Quy trình tải một menu Quy trình tải một menu như sau B¾t ®Çu Quy ø¬c + : T×m thÊy : Kh«ng t×m thÊy + + T×m *.mns T×m *.mnc T¹o ra file *.mnc vµ *.mnr dùa trªn file *mns + T×m *.mnc + Biªn dÞch *.mnu T×m *.mnu thµnh *.mns vµ *.mnc T¶i *.mnc t¹o ra file *mnr B¸o lçi AutoCAD AutoCAD NÂNG CAO KÕt thóc
  29. Tải, gỡ bỏ menu 1.3. Tải, gỡ bỏ một menu • Lệnh Menuload • Lệnh Menu • Chú ý khi tải file *.mnu, các thay đổi của toolbar sẽ biến mất. Vì CAD sẽ dịch file *.mnu thành file *.mns và khi đó file *.mns cũ sẽ bị ghi đè, đồng nghĩa với điều đó là các thay đổi trong toolbar, shortcut key của bạn cũng biến mất theo • Menu chính là các menu được tải đầu tiên bằng lệnh menuload. Hay các menu được tải bằng lệnh menu trong dòng lệnh command của CAD. • Menu chính khác menu từng phần ở chỗ : Menu chính được tải toàn bộ vào CAD. Còn các menu từng phần các phần về AUX menu và Buttom menu sẽ không được tải AutoCAD AutoCAD NÂNG CAO
  30. Cấu trúc một file menu 2. Tùy biến một menu • Thông thường một file menu gồm 9 phần. • Mỗi file menu sẽ mô tả một nhóm menu và dòng đầu tiên sẽ quy định tên của nhóm đó. Cú pháp mô tả như sau : Menugroup=namegroup. Phần2 : chứa các button menu và các auxiliary menu. Các menu này dùng để điều khiển các thiết bị chuột và các thiết bị hê thống khác nếucó. Phần3 : các menu pop, là các menu đổ Phần4 : các menu toolbar, là các dòng mô tả các thanh công cụ Phần5 : chứa các dòng mô tả menu Image Phân 6 : mô tả các menu màn hình (screen menu) Phàn7 : mô tả các bảng số hóa (tablet) Phần8 : các dòng mô tả các shortcut key Phần9 : các dòng quy định các dòng trợ giúp (tatus string) AutoCAD AutoCAD NÂNG CAO Các ghi chú được bắt đầu bằng dấu //
  31. Cấu trúc một file menu • Mỗi phần gồm một hoặc nhiều section (hoặc cũng có thể không có). Mỗi section là một nhóm các menu có chức năng tương tự nhau (thông thường là thế). Mỗi section gồm có 4 phần • Phần 1 : tên của section. Tên của section được bắt đầu bằng ba dấu sao. Butonsn : Menu của các thiết bị trỏ khác. AUXn : Menu thiết bị chuột Popn : Các popup menu hoặc các menu ngữ cảnh (shortcut menu) Toolbars : Các thanh công cụ Image : Các menu hình ảnh ScreenMenu màn hình Tabletn : Các bảng số hóa HelpStrings : Các chuỗi trợ giúp trên thanh trạng thái AutoCAD AutoCAD NÂNG CAO Accelerators : Các phím nóng
  32. Cấu trúc một file menu • Phần2 : Tên của menu, Tên của menu bắt đầu bằng 2 dấu sao và yêu cầu phải là duy nhất. Tên này dùng để liên kết các mục của các menu khác, các thanh công cụ, các dòng trợ giúp và các menu hình ảnh. Tên của menu không được có nhiều hơn 12 ký tự và không được chứa khoảng trống. Nếu không chúng sẽ bị bỏ qua. • Phần 3 : nhãn và tên của nhóm menu. Cú pháp mô tả nó như sau : ID_NameLabel [dong mo ta se hien len tren man hinh] • Phần4 : các menu thành phần. Cú pháp mô tả một menu item như sau : ID_NameLabel [name]menu_macro – Trong đó : name là tên sẽ xuất hiện lên màn hình của menu item. Menu_macro là những macro được thi hành khi menu này được chọn AutoCAD AutoCAD NÂNG CAO
  33. Cấu trúc một file menu POP1 Section name FILE Nenu name ID_MnFile [&File] Menu ID và dòng mô tả của menu sẽ xuất hiện trên màn hình (như file,edit,draw, ) ID_New [&New \tCtrl+N]^C^C_new Các dòng tiếp theo mô tả ID_NewSheet [Ne&w Sheet Set ]^c^c_newsheetset các mục chọn (hay còn gọi là ID_Open [&Open \tCtrl+O]^C^C_open các menu thành phần – menu ID_OpenSheet [Op&en Sheet Set ]^c^c_opensheetset item) ID_DWG_CLOSE [&Close]^C^C_close AutoCAD AutoCAD NÂNG CAO
  34. Macro 2.2. Menu Macro • Menu macro là một chuỗi các ký tự chứa tên lệnh sẽ được gọi khi MenuItem được chọn. Thứ tự của các tham số trong menu macro giống như thứ tự xuất hiện các tham số này tại dòng nhắc lệnh command của AutoCAD • Các quy ước dùng trong menu macro. AutoCAD AutoCAD NÂNG CAO
  35. Ký tự Mô tả Space bar, dấu ; Dấu enter trong AutoCAD Space bar Là khoảng trống khi đang nhập text dấu \ Tạm dừng để user nhập số liệu, có thể là nhập một điểm bằng kich chuột hoặc nhập một giá trị Dấu + Dùng khi dòng mô tả quá dài, Muốn mô tả tiếp ở dòng kế tiếp ta đặt dấu + ở cuối dòng Dấu * Đặt ở đầu macro, sau ^C^C, sẽ lặp đi lặp lại lệnh đến khi ta ấn ESC hoặc chọn Menu Item khác ^C Hủy tất cả các lệnh đang hoạt động (Escapse) ^P Tắt tất cả các hiển thị của macro trên màn hình. (Biến hệ thống MenuEcho thành on,off). ^M Ký tự ENTER (Ctrl+M) ^B Chuyển đổi (tắt/mở) các chế độ hiển thị tọa độ con trỏ (Ctrl+B) ^E Chuyển vị trí sợi tóc con trỏ trên màn hình về một trong 3 vị trí trong mặt phẳng trục đo (Ctrl+E) ^G Chuyển đổi chế độ hiển thị lưới (Ctrl+G) ^H Tương tự như phím BackSpace., dùng để xóa ký tự trước noa của dòng lệnh command. ^O Chuyển đổi chế Vẽ vuông góc (Ortho). ^T Chuyển đổi chức năng nhập từ bảng nhập tablet (Ctrl+T) ^Z Ký tự rỗng, tự động thêm khoảng trắng vào cuối Menu Item. AutoCAD AutoCAD NÂNG CAO // Quy ước bắt đầu của chuỗi chú thích.
  36. Macro • Ví dụ 1 : ID_ArcStCeAn [S&tart, Center, Angle]^C^C_arc \_c \_a • Phân tích ví dụ: – S&tart, Center, Angle : Hiển thị trên menu : Start, Center, Angle – ^C^C : Hủy tất cả các lệnh trước nó. – _arc : Bắt đầu vẽ một cung tròn, có cho phép chuyển đổi giữa các version có ngôn ngữ khác nhau. – khoảng trống tương đương với phím enter. – \ : tạm dừng để người dùng nhập vào tọa độ một điểm trên màn hình. – _c : Chọn option center, cho phép chuyển đổi giữa các version có ngôn ngữ khác nhau. – \ : tạm dừng để người dùng nhập vào tọa độ một điểm trên màn hình. – _a : Chọn một option angle, có cho phép chuyển đổi giữa các version có ngôn ngữ khác nhau. AutoCAD AutoCAD NÂNG CAO
  37. Macro • Ví dụ 2 ID_MoveRight [Move .1 Right]^C^Cselect \move previous ;.1,0 ; • Phân tích ví dụ: – ^C^C : Thoát mọi lệnh đang sử dụng. – Select : Bắt đầu select command. – Dấu cách thể hiện enter, kết thúc lệnh select. – Sau đó sẽ dịch chuyển các object đã chọn sang Phải 0.1 đơn vị bản vẽ AutoCAD AutoCAD NÂNG CAO
  38. Macro • Ví dụ 3 • Đoạn macro sau đây sẽ chuyển đường polyline được chọn thành đường polyline có bề rộng 0.1 đơn vị. ^C^Cpedit \w .1 AutoCAD AutoCAD NÂNG CAO
  39. Macro • Ví dụ 4 • Dùng macro sau để tự động vẽ 4 đường tròn với bán kính và tâm được định sẵn, vì dòng quá dài ta phải viểt làm 2 dòng nên ta thêm dấu cộng cuối. ^C^Ccircle 2,2 1.5 circle 6,2 1.5 circle 10,2 1.5 circle + 14,2 1.5 AutoCAD AutoCAD NÂNG CAO
  40. Pull-down Menu 2.3. Pull-down Menu 2.3.1. Section của Pull-down menu • Puldown menu được khai báo từ section Pop1 đến pop499 • Mỗi section có thể có một hoặc nhiều menu đổ (thông thường là chứa 1) • Trong mỗi menu đổ có thể có tối đa 999 mục menu item • Pulldown chia làm hai loại. – Loại thứ nhất có section từ pop1 đến pop 16. Các menu này sẽ được tự động tải vào vị trí của nó trên màn hình. Nếu section này mà có nhiều hơn một menu thì chỉ menu đầu tiên mới được tải vào màn hình. – Loại thứ hai có section từ Pop17 đến pop 499. Các menu này sẽ không tự động được tải vào màn hình. Tuy nhiên ta vẫn có thể tải nó vào màn hình bằng lệnh menuload hoặc bằng chức năng menu swapping. AutoCAD AutoCAD NÂNG CAO
  41. Pull-down Menu 2.3.2. Tiêu đề của pull-down menu Ký tự Ý nghĩa • Phân tích ví dụ sau : FILE Dòng phân cách trên thanh menu đổ ID_MnFile [&File] ID_New [&New \tCtrl+N]^C^C_new ID_Open [&Open \tCtrl+O]^C^C_open -> Bắt đầu một menu cha (submenu) ID_DWG_CLOSE [&Close]^C^C_close [ ] Print] $( ) Cho phép sử dụng chuỗi DIESEL trong tiêu đề ID_Preview [/vPlot Preview]^C^C_preview mục menuItem. ID_PlotSetup [Pa&ge Setup Manager ]^C^C_pagesetup ~ Làm mờ mục chọn và không cho phép chọn ID_PlotMgr [Plotter &Manager ]^C^C_plottermanager mục này ID_Print [<-&Plot \tCtrl+P]^C^C_plot [ ] !. Làm xuất hiện dầu chọn () trước menu. ID_MRU [Drawing History] [ ] & Làm xuất hiện dấu gạch chân cho ký tự đứng ID_APP_EXIT [E&xit\tCtrl+Q]^C^C_quit sau nó (khai báo phím tắt) \t Canh lề phải cho ký tự trong tiêu đề của mục chọn. \c Khai báo phím nóng. AutoCAD AutoCAD NÂNG CAO
  42. Pull-down Menu 2.3.3. Tham chiếu đến pulldown menu • Ta có thể làm mờ hay đánh dấu chọn cho các menu Item, hoặc ta cũng có thể lấy các thông số trạng thái của từng menu Item bằng cách sử dụng tham chiếu thông qua các hàm AutoLisp. • Có hai loại tham chiếu : – Tham chiếu tương đối – Tham chiếu tuyệt đối. AutoCAD AutoCAD NÂNG CAO
  43. Tham chiếu tương đối • Tham chiếu tương đối là tham chiếu sử dụng tên nhãn của menu item. • Hàm menucmd của AutoLisp cho phép ta tham chiếu đến các mục của pulldown menu. Cú pháp : • Để gán trạng thái cho menu (menucmd “Gyyy.zzz=xxx”) • Để lấy thông số trạng thái của menu (menucmd “Gyyy.zzz=?”) hàm trả về giá trị xxx • Trong đó – yyy – tên của nhóm menu – zzz – nhãn mục chọn – xxx - trạng thái của menu : “~” (làm mờ), “!.” (được đánh đấu chọn) “” (trạng thái bình thường AutoCAD AutoCAD NÂNG CAO
  44. Tham chiếu tuyệt đối • Tham chiếu tuyệt đối là tham chiếu dựa trên việc đếm số lượng các menu trên màn hình. • Hàm menucmd của AutoLisp cho phép ta tham chiếu đến các mục của pulldown menu. Cú pháp : • Để gán trạng thái cho menu (menucmd “Pn.i=xxx”) • Để lấy thông số trang thái của menu (menucmd “Pn.i=#?”) hàm trả về giá trị xxx • Trong đó – n – số thứ tự của menu đổ tính từ trái sang phải trên màn hình. – i – số thứ tự của menu item cần tham chiếu đến (tính cả submenu và dấu ngăn cách giữa các phần trong menu đổ) – xxx – Giá trih của xxx bằng “Pn.i=”&trạng thái của menu : “~” (làm mờ), “!.” (được đánh đấu chọn) “” (trạng thái bình thường. AutoCAD AutoCAD NÂNG CAO
  45. Ví dụ ID_Swap1 [Swaping1]^C^C^P(if (= (menucmd "P1.1=#?") "P1.1=~") (menucmd "P1.1=") (menucmd "p1.1=~") ) ID_Swap2 [Swaping2]^C^C^P(if (= (menucmd "GACAD.ID_new=?") "~") (menucmd "GACAD.ID_new=") (menucmd "GACAD.ID_new=~") ) AutoCAD AutoCAD NÂNG CAO
  46. Pull-down Menu 2.3.4. Chèn và loại bỏ Pull-down menu trên menubar • Ngoài lẹnh MenuLoad, các pull-down menu của nhóm này có thể được đưa vào thanh menu bằng cú pháp sau đây : (Menucmd “Gyyy.zzz=+uuu.vvv) – Trong đó : • Gyyyzzz - sẽ xác định vị trí của- pull down menu uuu.vvv sẽ chèn vào. • yyy – Tên nhóm menu của pull-down menu xác định vị trí. • zzz – Bí danh (hay tên mục chọn) của pull-down menu xác định vị trí cho uuu.vvv chèn vào . • uuu – Tên nhóm menu của pull-down menu muốn chèn. • uvv – Tên bí danh của pull-down menu cần chèn • Ta cũng có thể loại bỏ một Pull-down menu khỏi thanh menu bằng lệnh sau : (Menucmd “Gyyy.zzz=-) – Trong đó : • yyy – Tên nhóm menu của pull-down menu muốn xóa. • zzz – Bí danh của pull-down menu muốn xóa. AutoCAD AutoCAD NÂNG CAO
  47. Ví dụ pop3 Test3 ID_MnPop3 [Pop&3] ID_ortho [$(if,$(getvar,orthomode),!.)Ortho]^O ID_Snap [$(if,$(getvar,snapmode),!.)Snap]^B ID_huybo [Xoa menu]^c^C(menucmd "Gcustom.pop3=-") ID_chenpop4 [Chen pop4]^C^C(menucmd "Gcustom.pop3=+Custom.Pop4") pop4 Test4 ID_MnPop3 [Pop&4] ID_monew1 [mo new]^C^C^P(menucmd "Gcustom.ID_New=~");^P ID_hiennew1 [hien new]^C^C^P(menucmd "Gcustom.ID_New=");^P AutoCAD AutoCAD NÂNG CAO
  48. Shortcut menu 2.4. Shortcut menu. • Shortcut menu về cơ bản giống Pull-down menu. Chỉ khác nhau ở khai báo section • Shortcut menu được khai báo từ section Pop500 đến pop999 Và Pop0. Trong mỗi menu đổ có thể có tối đa 499 mục menu item.AutoCAD sẽ bỏ qua nhưng menu item vượt quá giới hạn trên. • Menu Pop0 của AutoCAD là menu Snap, hiện các phương thức truy bắt điểm. • Các menu Pop500 đến Pop999 là các menu ngữ cảnh (context menu) AutoCAD AutoCAD NÂNG CAO
  49. Menu swaping 2.5. Menu swaping • Menu swaping dùng để trao đổi nội dung giữa các menu. Ví dụ khi ta đang thực hiện lệnh zoom, bấn phải chuổt để chuyển sang shortcut menu khác. Hay khi vào Draw→ Surfaces→ 3D surface AutoCAD chuyển sang menu image để bạn chọn các hình cần vẽ với slide đi kèm. • Cú pháp để tráo đổi như sau : $Section=MenuGroup.MenuName $Section=MenuGroup.* • Nếu 2 menu ta muốn trao đổi nằm cúng trong một group ta có thể bỏ qua MenuGroup. Nghĩa là cú pháp của ta sẽ như sau ; $Section=MenuName $Section=* • Ví dụ sau được trích trong file Acad.mnu : ID_3dsurface [&3D Surfaces ]$I=ACAD.image_3dobjects $I=ACAD.* • Ví dụ sau được trích trong file Acad.mnu : AUX2 // Shift + button $P0=SNAP $p0=* • Khi ta bấn shift + chuột phải sẽ chuyển sang section Pop0, menu Snap nằm trong Section Pop0 AutoCAD AutoCAD NÂNG CAO
  50. Chuỗi chú thích 2.6. Chuỗi chú thích ở thanh trạng thái. • Section của đoạn mô tả chuỗi chú thích. – Các dòng chú thích này được mô tả trong section HELPSTRINGS – Mô tả chuỗi chú thích. ID_menu [status tring] AutoCAD AutoCAD NÂNG CAO
  51. 2.7. Section của đoạn mô tả các phím tắt • Đoạn mô tả các phím tắt nằm trong section : ACCELERATORS. • Tạo phím tắt – Tên mục chọn + tổ hợp phím nóng Ví dụ : ID_Open [control+”O”] – Tổ hợp phím nóng+Chuỗi lệnh cần thực hiện. Ví dụ : [Control + “O”]^C^C_Open • Các tổ hợp thường dùng : Control, shift, Alt, “A”, ”Z”, "numpad0", "numpad9" AutoCAD AutoCAD NÂNG CAO
  52. • ID_grid [$(if,$(getvar,gridmode),!.)Gride]^G • ID_cmdactive [$(if,$(getvar,cmdactive),~)line]Line • ID_ortho [$(if,$(getvar,orthomode),!.)Ortho]^O AutoCAD AutoCAD NÂNG CAO
  53. ToolBar V. Toolbar 1. Cách tạo toolbars bằng cách dùng lệnh Toolbar – Tạo Toolbar – Tạo nút lệnh mới – Sửa nút lệnh – Tạo một Flyout 2. Cách tạo toolbars bằng cách soạn thảo trong file *.mnu • Các base menu và partial menu đều có thể khai báo các thanh công cụ trong section TOOLBARS. Section này chia làm nhiều đoạn XXXX tương ứng với tên thanh công cụ • Mỗi đoạn mô tả thanh công cụ băt đầu bằng tên thanh công cụ XXXX. Sau đó là các dòng như sau : • Dòng đầu tiên mô tả tổng quát về thanh công cụ. • Các dòng tiếp theo mô tả các nút lệnh trên thanh công cụ . Có 3 loại nút lệnh : Button, Flyout và Control. AutoCAD AutoCAD NÂNG CAO
  54. Toolbar 1. Dòng mô tả tổng quát thanh công cụ • Cú pháp : TAG[Toolbar (“tbarname”,orient, visible, x, y, rows)] • TAG : tên ID, không bắt buộc phải có • Tbarname : tiêu đề thanh công cụ. Đặt trong dấu nháy chuỗi • Orient : vị trí mặc định của thanh công cụ. Các giá trị có thể gán cho mục này là : Floating, Top, Bottom, Left và Right. (không phân biệt chữ hoa, chữ thường). • Visible : mặc định xuất hiện trên màn hình hay không. Các giá trị có thể gán cho mục này là show và hide.(không phân biệt chữ hoa, chữ thường) • X,y : vị trí xuất hiện mặc định trên màn hình, tính từ mép trên trái không gian vẽ. • Rows : số dòng mặc định chưua các nút lệnh – Ví dụ : • TB_Draw • ID_TbDraw [toolbar (“Draw”),_left, Show,0,0,1] AutoCAD AutoCAD NÂNG CAO
  55. Button 2. Dòng mô tả loại nút lệnh Button • Cú pháp : TAG [button (“btnname”, ID_Small, ID_Large)] macro • TAG : Ten ID của nút lệnh • Btnname : tiêu đề nút lệnh. Đặt trong dấu nháy chuỗi. Chuỗi này sẽ được dùng làm ToolTip (dòng chữ chú thích xuất hiện trên nền vàng, khi con trỏ được đưa đến nằm tại vị trí biểu tượng nút lệnh trên thanh công cụ) • ID_Small : xác định hình ảnh nút lệnh hiện trên thanh công cụ. Đây là tên của một trong các biểu tượng nhỏ (kích thước 16 x 15) tạo sẵn của AutoCAD (ví dụ : ICON_16_Line). Hoặc là tên một file bitmap tự tạo (kích thước 15x16) đặt trong các thư mục mặc định của AutoCAD. • ID_Large : xác định hình ảnh nút lệnh hiện trên thanh công cụ khi chọn mục Large buttons trên hộp thoại Toolbars. Đây là tên của một trong các biểu tượng lớn (kích thước 24 x 22) tạo sẵn của AutoCAD. Hoặc là tên một file bitmap tự tạo (kích thước 24 x 26) đặt trong các thư mục mặc định của AutoCAD. Nếu kích thước không phải là 24 x 22, AutoCAD sẽ tự điều chỉnh tỉ lệ cho bằng kích thước này. • Macro : menu macro • Ví dụ : ID_TbDraw [_Toolbar("Draw", _Left, _Show, 0, 0, 1)] AutoCAD AutoCAD NÂNG CAO ID_Line [_Button("Line", RCDATA_16_LINE, RCDATA_16_LINE)]^C^C_line
  56. Flyout 3. Dòng mô tả loại nút lệnh Flyout. • Cú pháp : TAG [flyout (“flyname”,ID_Smaill,ID_Large, Icon, alias)] macro • TAG : ID của nút lệnh • Btnname : tiêu đề nút lệnh. Đặt trong dấu nháy chuỗi. Chuỗi này sẽ được dùng làm ToolTip • ID_small và ID_large giống như mục trên. • Icon : nhận 1 trong 2 giá trị sau : – OwnIcon : Hình ảnh nút Flyout trên thanh công cụ sẽ không thay đổi – OtherIcon : Hình ảnh nút Flyout sẽ thay đổi theo hình ảnh của nút vừa được chọn • Alias : Tên bí danh của thanh công cụ gắn với nút flyout. AutoCAD AutoCAD NÂNG CAO • Macro : tương tự như nút lệnh button.
  57. Flyout Ví dụ : TB_ZOOM ID_TbZoom [_Toolbar("Zoom", _Floating, _Hide, 100, 350, 1)] ID_ZoomWindo [_Button("Zoom Window", RCDATA_16_ZOOWIN, RCDATA_16_ZOOWIN)]'_zoom _w ID_ZoomDynam [_Button("Zoom Dynamic", RCDATA_16_ZOODYN, RCDATA_16_ZOODYN)]'_zoom _d ID_ZoomScale [_Button("Zoom Scale", RCDATA_16_ZOOSCA, RCDATA_16_ZOOSCA)]'_zoom _s ID_ZoomCente [_Button("Zoom Center", RCDATA_16_ZOOCEN, RCDATA_16_ZOOCEN)]'_zoom _c ID_ZoomObjec [_Button("Zoom Object", RCDATA_16_ZOOOBJ, RCDATA_16_ZOOOBJ)]'_zoom _o TB_STANDARD ID_TbZoom [_Flyout("Zoom", RCDATA_16_ZOOM, RCDATA_16_ZOOM, _OtherIcon, ACAD.TB_ZOOM)] AutoCAD AutoCAD NÂNG CAO
  58. Control 3. Dong mô tả nút lệnh Control. • Nút lệnh Control có dạng một danh sách đổ xuống. Các danh sách này do AutoCAD tạo sẵn. • Ví dụ như danh sách màu trên thanh công cụ Object properties của AutoCAD. • Cú pháp như sau : TAG [_control (name)] • TAG : ID của nút lệnh • Name : Tên của control do autoCAD tạo sẵn. Các giá trị của tham số này như sau : – _Color – _Dimstyle – _Layer – _LineType – LineWeight – UCSManager – _View – ViewportScale AutoCAD AutoCAD NÂNG CAO
  59. Control • Ví dụ : (trích trong file acad.mnu) TB_OBJECT_PROPERTIES ID_TbObjectP [_Toolbar("Properties", _Top, _Show, 2, 1, 1)] [_Control(_Color)] [ ] [_Control(_Linetype)] [ ] [_Control(_Lineweight)] [ ] [_Control(_PlotStyle)] AutoCAD AutoCAD NÂNG CAO