Bài giảng: Autocad nâng cao và lập trình trong autocard



tải về 3.6 Mb.
trang36/40
Chuyển đổi dữ liệu26.03.2018
Kích3.6 Mb.
#36745
1   ...   32   33   34   35   36   37   38   39   40

Mã 00E : Mô tả font chữ theo phương thẳng đứng.

Ta sẽ nghiên cứu mã này trong phần sau.



  1. Tạo font chữ

Hiện nay AutoCAD cho phép ta sử dụng 3 loại font chữ. Font chữ hệ thống (system font), phong chữ sử dụng shape (shape font) và big font.

Font hệ thống :



  • Cấu tạo : Gồm các vector biên, và ở giữa được tô bằng thuật toán fill

  • Ưu điểm : system font đẹp hơn các font khác.

  • Nhược điểm : Do system font có nhưng vùng tô nên nặng hơn các font khác. Tốc độ tái sinh (render, pan, zoom) sẽ rất chậm.

Shape font :



  • Cấu tạo bởi các shape trong được mô tả trong file .SHP.

  • Ưu điểm : Vì các ký tự trong font đều là các shape nên được tải nhanh hơn, tốc độ render được cải thiện đáng kể nhất là đối với các bản vẽ lớn.

  • Nhược điểm : Không đẹp lắm.

Big font

Cấu tạo :bởi các shape. Tuy nhiên nó có thể là phần nối dài của các shape font nói trên. Shape font có chứa tối đa 255 ký tự còn big font có thể chưa đến 65535 ký tự.


    1. Tạo font chữ SHX.

Font chữ SHX được tạo ra và sử dụng trong AutoCAD. Mỗi ký tự của font là một shape được mô tả trong file shape. Trong đó shape number chính là mã ascii của ký tự đó (từ 0 đến 255).

Để phân biệt với các shape file khác, các font chữ phải có dòng mô tả đầu tiên như sau :



*0,4,font-name

above,below,modes,0
Font-name : Tên font chữ

Above : Khoảng cách giữa đường top và đường Baseline

Below : Khoảng cách giữa đường Bottom và đường Baseline.

Modes

  • 0 : Chữ viết theo phương nằm ngang.

  • 1 : Chữ viết theo phương thẳng đứng.

  • 2 : Chữ viết được theo cả hai phương nằm ngang và thẳng đứng.

(vẽ hình minh họa vào đây)


Tạo một ví dụ minh họa font chữ bao gồm chữ ABC. Có thể lấy một file font shape bất kỳ rồi minh họa.


    1. Tạo big font.

Trong thực tế, font chữ của một vài ngôn ngữ (tiếng Nhật) chứa hàng nghìn ký tự không phải là mã ACII. Để bản vẽ chứa đượcnhiều font như vật AutoCAD cung cấp một dang file gọi la big font file.

Big font file cũng được miêu tả trong file .SHP và được dịch thành file .SHX. Dòng đầu tiên của big font có dạng như sau :



*BIGFONT nchars,nranges,b1,e1,b2,e2,….

nchars : số lượng gần đúng các ký tự trong Big font này. Nếu sai số lớn hơn 10% thì tốc độ truy xuất sẽ rất chậm.

nrangs : số lượng các miềm giá trị chứa các giá trị sử dụng làm mã escape codes.

b1, e1, b2, e2, …

  • b1, e1 là giá trị bắt đầu và kết thúc của miền giá trị thứ nhất

  • b1, e1 là giá trị bắt đầu và kết thúc của miền giá trị thứ hai

Ví dụ ….



    1. Tạo big font từ file mở rộng.

Trong các file kiểu chữ tượng hình châu á, có nhiều khối được sử dụng lại nhiều lần như các dấu trong tiếng việt (dấu sẵ, huyền,…). Các khối này được mô tả trong các Subshape, có thể dùng lại để tạo các shape khác nhau.

Dòng đầu tiên của các big font file mở rộng tương tự như big font file bình thường :



*BIGFONT nchars,nranges,b1,e1,b2,e2,….

Dòng thứ hai sẽ giúp nhận biết là big font mở rộng :



*0,5,font-name

character-height,0,modes,character-width,0
Font name : Tên của big font

Character-height, character-width : Chiều cao và chiều rộng hình chữ nhật cở sở để mô tả ký tự.

Modes

  • 0 : Chữ viết theo phương nằm ngang.

  • 1 : Chữ viết theo phương thẳng đứng.

  • 2 : Chữ viết được theo cả hai phương nằm ngang và thẳng đứng.

Chú ý : mã 00E (14) chỉ có tác dụng khi giá trị modes bằng 2.


Các dòng tiếp tho mô tả các shape và dùng mã 007 để chèn các subshape. Các subshape cũng phải được mô tả như cá shape thông thường khác.

*Shapenumber,defbytes,shapename

specbyte,…,007,0,primitive#,basepoint-x,basepoint-y,width,height,spectbyte,…,0
Shapenumber : số nguyên 2 byte, ở dạng thập lục phân, và do đó, phải có thêm số 0 ở phía trước.

Defbytes : số lượng các bye mô tả (specbyte) cần thiết để mô tả shape (kể cả số 0 sau cùng). Giá trị shapenumber của subshape (theo sau mã 007) được tính là 2 byte.

Shapename : Tên ký tự

Specbyte : byte mô tả

007,0 : 2 byte bắt đầu đoạn chèn subshape

Primitive# : giá trị shapenumber của shape.

basepoint-x,basepoint-y : thành phần tọa độ x,y của điểm chèn subshape.

Width, height : chiều rộng, chiều cao của subshape. Trước khi được chèn, kích thước subshape sẽ được thu nhỏ bằng 1 ô vuông đơn vị, sau đó nó được phóng to tương ứng với giá trị Width, height.

Spectbyte : các byte mô tả của subshape.

  1. Tạo các dạng đường (file linetype)

    1. Khái niệm và phân loại dạng đường.

AutoCAD cung cấp rất nhiều dạng đường có sẵn. Các dạng đường này có thể là nét đứt, nét liền, hay các đường tâm,… Các dạng đường này được cung cấp trong file .LIN. Ta cũng có thể tự tạo ra các file này và lưu lại dưới định dạng Text và có đuôi là .LIN.

AutoCAD cung cấp các dạng đường có sẵn trong file CAD.LIN, ACADISO.LIN .

Các dạng đường đơn giản được cấu tạo từ các điểm(dot), đoạn thẳng(dash) và khoảng trống được vẽ đi vẽ lại nhiều lần.

Ví dụ :



  • 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ẽ

Ta phân dạng đường làm hai loại : dạng đường đơn giản và dạng đường phức tạp.

  • 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.

    1. 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.




      1. Dùng creat trong lệnh -linetype.




Command: -LINETYPE




Current line type: "ByLayer"




Enter an option [?/Create/Load/Set]: C

Create

Enter name of linetype to create: name

Duong co ten la name

Wait, checking if linetype already defined...

(Hộp thoại Creat and Append linetype file hiện lên ở bên dưới).



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

Tên đường sẽ hiện trong hộp linetype manager

Enter linetype pattern (on next line):

Nhập vào các byte mô tả dạng đường

A,0.5,0.5,-0.25,0,-0.25







Quy ước mô tả dạng đường trong linetype.

  • Dạng đường được bắt đầu bằng chữ A. Chữ A này quy định kết thúc đối tượng bằng gạch liền.

  • 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).

Như vậy dạng đường được mô tả trong file sample1.lin trên có dạng sau :

Chú ý : Mã A (alignment) quy định cách vẽ các dạng đường tại các điểm cuối của các đối tượng vẽ. Mã Alignment là tự động đưa vào trong định nghĩa file .LIN.

Dạng bình thường.

Dạng thu ngắn lại.

Dài kéo dài ra.

Dạng quá ngắn (biến đối tượng thành nét liền).





      1. tải về 3.6 Mb.

        Chia sẻ với bạn bè của bạn:
1   ...   32   33   34   35   36   37   38   39   40




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương