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

đồ án kỹ thuật cơ khí Mô phỏng quá trình gia công CNC trên máy DENFORD

78 482 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 78
Dung lượng 0,92 MB

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

Nội dung

Đề tài " Mô phỏng quá trình gia công CNC trên máy DENFORD " có nhiệm vụ nghiên cứu xây dựng, khai thác cơ sở dữ liệu được chương trình gắn thêm vào các đối tượng trong bản vẽ thiết kế từ

Trang 1

LỜI NÓI ĐẦU

Ngày nay cuộc cách mạng khoa học kĩ thuật trên thế giới đang phát triển với tốc độ vũ bão không ngừng vươn tới những đỉnh cao mới đặc biệt

là những thành tựu khoa học trong lĩnh vực tự động hoá sản xuất Với sự trợ giúp của máy tính con người đã và đang nghiên cứu để ngày càng giảm tới tối đa sự tác động trực tiếp vào quá trình sản xuất, đồng thời nâng cao năng suất chất lượng của sản phẩm

Ở các nước có nền công nghiệp phát triển tiên tiến việc ứng dụng máy tính vào các nghành kinh tế, kỹ thuật trong đó có cơ khí chế tạo đã được thực hiện từ nhiều thập kỉ trước Một trong những vấn đề quyết định của tự động hoá nghành cơ khí là kỹ thuật điều khiển số và công nghệ trên các máy điều khiển số Máy công cụ điều khiển số (NC và CNC) được dùng nhiều ở các nước phát triển và ngày càng phổ biến sử dụng trên toàn thế giới Ở nước ta các trung tâm sản xuất hiện đại đã có nhiều máy điều khiển số phục

vụ công tác nghiên cứu và sản xuất

Do nhu cầu phát triển và ứng dụng nhanh các kỹ thuật mới trong khai thác và sử dụng máy công cụ điều khiển số (NC và CNC) đã có nhiều đề tài nghiên cứu về máy công cụ NC và CNC Đề tài " Mô phỏng quá trình gia công CNC trên máy DENFORD " có nhiệm vụ nghiên cứu xây dựng, khai thác cơ sở dữ liệu được chương trình gắn thêm vào các đối tượng trong bản

vẽ thiết kế từ đó tính toán các chế độ gia công và sinh mã điều khiển máy CNC Đề tài chủ yếu nghiên cứu mô phỏng gia công một dạng chi tiết là chi tiết nối trục với kích thước nhỏ phù hợp gia công trên hệ thống CIM đồng thời tạo ra một công cụ ứng dụng tốt trong các phòng thí nghiệm gia công giúp cho người sử dụng kiểm tra được chương trình một cách đơn giản hiệu quả Trong đề tài đã sử dụng hai công cụ phát triển mở rộng là ObjectARX

và OpenGL, ObjectARX hỗ trợ việc xây dựng và khai thác hiệu quả bản vẽ thiết kế bằng Autocad còn OpenGL là công cụ hỗ trợ tạo môi trường đồ hoạ,

Trang 2

cung cấp các công cụ cho quá trình mô phỏng Do khối lượng công việc là khá lớn, thời gian ngắn nên chương trình còn nhiều thiếu sót chưa thực sự

dễ sử dụng Trong thời gian tới em sẽ cố gắng hoàn thiện và nâng cấp chương trình chạy tốt dễ sử dụng

Em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy Đinh Văn Phong bộ môn CƠ HỌC ỨNG DỤNG và thầy Lưu Văn Nhang bộn môn CÔNG NGHỆ CHẾ TẠO MÁY đã giúp đỡ em trong quá trình em làm đồ

án môn học

Trang 3

I Chương I Giới thiệu về Máy công cụ CNC

1.1.Khái niệm cơ bản về điều khiển số

Khi gia công trên các máy công cụ thông thường các bước gia công

do người thợ thực hiện bằng tay như điều chỉnh số vòng quay, lượng chạy dao, kiểm tra vị trí dụng cụ cắt để đạt kích thước gia công như vậy độ chính xác gia công hay chất lượng gia công phụ thuộc quá nhiều vào trình

độ tay nghề của người thợ gia công

Ngược lại trên các máy công cụ điều khiển số quá trình gia công được thực hiện tự động Trước khi gia công người ta đưa vào hệ thống điều khiển một chuỗi các lệnh điều khiển, hệ thống điều khiển sẽ kiểm tra và thực hiện chính xác các lệnh trong chuỗi lệnh Do tính chính xác và không có sự tác động của yếu tố tâm lý sức khoẻ của công nhân gia công nên gia công bằng máy điều khiển số đạt chất lượng gia công cao Ngoài ra do khi lập trình điều khiển chương trình có thể sử dụng dể gia công lặp lại nhiều lần nên năng suất gia công cao

Các máy công cụ điều khiển theo chương trình số được gọi là các máy NC(Numerical Control) hoặc các máy CNC(Computer Numerical Control) trong đó máy CNC là loại máy hiện đại do kết nối được với máy tính nên có nhiều khả năng mở rộng điều khiển và đây cũng là đối tượng nghiên cứu của đề tài

1.2.Đặc trưng cơ bản của máy CNC

- Nh trình bày ở trên ưu điểm chính cơ bản của máy công cụ CNC là tính linh hoạt và tốc độ thay đổi nhanh các chương trình gia công với sự can thiệp tối thiểu bằng tay

- Để xác định các tương quan hình

học trong vùng làm việc của máy, trong

phạm vi chi tiết gia công một cách rõ ràng,

ta đưa vào hệ toạ độ và các điểm gốc chuẩn

- Để thống nhất hóa mối tương quan cho

Trang 4

các máy khác nhau, người ta tiêu

chuẩn hoá các hệ trục toạ độ và chiều chuyển

động của chúng

- Các chiều chuyển động của máy công

cụ điều khiển số được xác định bởi hệ toạ

độ vuông góc của bàn tay phải :

- Trục X có hướng dọc theo ngón tay

Hệ toạ độ này luôn luôn gắn trên

chi tiết Khi lập trình chi tiết được

coi là đứng yên Các chuyển động

thuộc về phần dao cô

- Các trục quay tương ứng với X, Y,

Z được kí hiệu A, B, C

Chiều quay dương ứng với chiều

quay thuận của kim đồng hồ, khi

ta nhìn dọc theo chiều dương của

trục tịnh tiến

Trục Z

- Thường nằm song song với trục

chính công tác, hoặc chính là đường tâm

Trang 5

tác (máy bào, máy gia công điện hoá … )

thì trục Z cũng là trục vuông góc với bàn kẹp chi tiết

Truc X

Trục X là trục toạ độ nằm trên mặt phẳng định vị hay song song với bề mặt kẹp chi tiết, thưòng ưu tiên theo phương nằm ngang Chiều của trục X được xác định nh sau :

1 Trên các máy có dao quay tròn

a Nếu trục Z đã nằm ngang thì chiều dương của trục X hướng về bên phải nếu ta nhìn trục chính hướng vào chi tiết

b Nếu trục Z thẳng đứng và máy có một thân máy thì chiều dương của trục

X hướng về bên phải khi ta nhìn từ trục chính hướng vào chi tiết

Nếu máy có hai thân máy thì chiêù dương của trục X hướng về bên phải nếu ta nhìn từ trục chính hướng vào thân máy bên trái

2 Trên các máy có chi tiết quay tròn

Trục X nằm theo phương hướng kính của chi tiết và đi từ trục chi tiết đến bàn kẹp dao chính

3 Trên các máy không có trục chính công tác

Trục x chạy song song theo hướng gia công chính

1.3.Các điểm 0 và các điểm chuẩn của máy CNC

Trong thiết kế chế tạo bản vẽ thiết kế thường chưa phù hợp về toạ độ

so với các giới hạn về toạ độ quy định trên máy CNC nên khi lập trình và

Trang 6

nhất là tự động hoá qúa trình lập trình thì việc xác định chính xác hay hiểu

rõ về các điểm 0 và các điểm chuẩn là rất quan trọng, sau đây chúng ta sẽ nghiên cứu các đặc điểm cơ bản về các các điểm 0 và các điểm chuẩn

1.3.1.Điểm 0 của máy M

Các điểm 0 của máy M là diểm

gốc của các hệ thống toạ độ máy và

do nơi chế tạo ra chiếc máy đó xác

định theo kết cấu của máy Trên các

máy phay, điểm 0 của máy thường

nằm tại điểm giới hạn dịch chuyển của

bàn máy

1.3.2.Điểm 0 của chi tiết W

Điểm 0 của chi tiết là gốc của hệ

thống toạ độ gắn lên chi tiết Vị trí của

điểm W do người lập trình lựa chọn và

xác định Song người lập trình cần xác

định sao cho các kích thước trên bản vẽ

gia công trực tiếp là các giá trị toạ độ

của hệ thống toạ độ

1.3.3.Điểm 0 của chương trình P0

Điểm 0 của chương trình là điểm mà

dụng cụ sẽ ở đó trước khi gia công Để hợp

lý điểm 0 của chương trình được chọn làm sao khi chi tiết gia công hoặc dụng cụ có thể được thay đổi một cách dễ dàng

1.3.4.Các điểm chuẩn

a Các điểm chuẩn của máy R

Trong các máy có hệ thống đo dịch chuyển, giá trị thực đo được khi bị mất nguồn điện do sự cố sẽ mất theo.Trong những trường hợp này để đưa hệ

Trang 7

tất cả các trục của máy Trong nhiều trường hợp không thực hiện được điều này vì vướng vào các chi tiết đã kẹp trên máy hay đồ gá Do vậy cần thiết xác lập một điểm chuẩn thứ hai trên các trục, đó là điểm chuẩn của máy R

b Điểm tỳ A

Điểm tú A là giao điểm của các đường trục và mặt phẳng tỳ Trên các máy tiện, mặt phẳng tỳ nằm ngay tại mâm cặp hoặc chấu cặp

c Điểm thay dao Ww

Để tránh va đập vào chi tiết gia công khi thay dao tự động dao phải chạy đến điểm thay dao

d Điểm điều chỉnh dao E

Khi sử dụng nhiều dao, các kích thước của dao phải được xác định trước trên thiết bị điều chỉnh dao để có thông tin đưa vào trong hệ thống điều khiển nhằm hiệu chỉnh tự động kích thước dao

e Điểm gá dao N

Khi dụng cụ được lắp vào giá dao điểm giá dao N và điểm điều chỉnh dao E sẽ phải trùng nhau Trên các máy phay điểm gá dao N nằm trên vành trục chính Trên các máy tiện, điểm gá dao N nằm tại các mặt phẳng của đầu rơvonve

f Điểm cắt của dao P

Điểm này là điểm đỉnh dao thực hoặc lý thuyết

g Điểm chuẩn của bàn trượt F

Tất cả các điểm trên bàn trượt đều liên quan đến điểm này

h Điểm chuẩn gá dao

Vị trí của dao(đầu dao rơvonve) được xác định nhờ điểm này Nó được dùng nh một điểm xuất phát của tất cả các kích thước trên đầu rơvonve

Trang 8

1.4.Các dạng điều khiển

Do máy CNC có khả năng gia công được các bề mặt khác nhau nh các

lỗ, mặt phẳng, các mặt định hình Vì vậy có các dạng điều khiển máy nh : điều khiển điểm - điểm, điều khiển theo đường thẳng và theo đường biên dạng (đường contour)

1.4.1.Dạng điều khiển điểm - điểm

- Điều khiển điểm - điểm (theo vị trí )

được dùng để gia công các lỗ bằng các

phương pháp khoan, khoét, doa, và cắt ren lỗ

Chi tiết gia công dược gá cố định trên bàn máy,

dung cụ cắt thực hiện chạy dao nhanh tới các

vị trí đã lập trình (hoặc chạy bàn máy) Khi đạt

tới điểm đích thì dao băt đầu cắt

- Vị trí các lỗ có thể được điều khiển đồng

thời hoặc kế tiếp theo 2 trục toạ độ

1.4.2 Dạng điều khiển theo đường thẳng

Là điều khiển mà khi gia công dụng cụ

Vị trí các điểm chuẩn và điểm 0 trên

máy tiện

W Điểm 0 của chi tiết

PO Điểm 0 của chương trình

Ww

Trang 9

cắt thực hiện lượng chạy dao theo mét

đường thẳng nào đó Trên máy tiện dụng

cụ cắt chuyển động song song hoặc vuông

góc với trục của chi tiết (trục Z) Trên máy

phay dụng cụ cắt chuyển động song song

với trục Y hoặc trục X (dụng cụ cắt chuyển

động độc lập theo từng trục)

1.4.3 Dạng điều khiển theo biên dạng (contour)

Điều khiển theo biên dạng cho phép thực hiện chạy dao trên nhiều trục

cùng lúc Các chuyển động theo các trục có sự quan hệ hàm số ràng buộc với nhau Dạng điêu khiển này được áp dụng trên máy tiện máy phay và các trung tâm gia công (Machining Center)

Có 3 dạng điều khiển: điều khiển contour 2D, 2 2 D và điều khiển 3D (D là kích thước)

- Điều khiển contour 2D: cho phép thực hiện chạy dao theo 2 trục

đồng thời trong một mặt phẳng gia công (ví dụ mặt phẳng XZ, YZ) Trục thứ 3 được điều khiển hoàn toàn độc lập với các trục kia

- Điều khiển contour 2 2 D: Cho phép ăn dao đồng thời theo 2 trục

nào đó để gia công bề mặt trong một mặt phẳng nhất định Trên máy CNC có 3 trục X, Y, Z ta sẽ điều khiển được đồng thời X

và Y, X và Z, hoặc Y và Z Trên các máy phay thì điều này có nghĩa là chiều sâu cắt có thể được thực hiện bất kỳ 1 trục nào đó trong 3 trục còn 3 trục kia để phay contour

- Điều khiển contour 3 D: Cho phép đồng thời chạy dao theo cả 3

trục X,Y, Z Điều khiển contour 3 D được áp dụng để gia công các khuôn mẫu, gia công các chi tiết có bề mặt không gian phức tạp

1.5 Các chỉ tiêu gia công của máy CNC

X

Z

Trang 10

a Thông số hình học

Thông số hình học của máy CNC hay của vùng gia công là thông số của không gian mà trong đó dụng cụ cắt mà chi tiết gia công có thể tác động qua lại ở bất kì vị trí nào Như vậy trên các máy gia công chi tiết quay thì vùng gia công là một khối lăng trụ được xác định bằng bán kính và chiều dài dịch chuyển của các toạ độ

Trên các máy gia công chi tiết hình hộp chữ nhật thì vùng gia công là khối hộp được xác định bằng các chiều dài dịch chuyển của các toạ độ (hình vẽ) các điểm giới hạn của vùng làm việc được đánh số tương tự ký hiệu số của ma trận Để thuận tiện và dễ nhớ người ta đánh thứ tự các số theo quy tắc sau: số thứ nhất của các chữ số ký hiệu các điểm theo trục thẳng đứng,

số thứ 2 của các chữ số ký hiệu các điểm thưo trục dọc (trục Z), còn số thứ 3 của các chữ số ký hiệu các điểm theo trục nằm ngang (trục X)

b Thông sè gia công

Là tốc độ chuyển động của các cơ cấu chấp hành và công suất động cơ Người ta dựa vào thông số hình học như kích thước bàn máy phay hay chiều cao của tâm máy tiện để chọn công suất động cơ, tốc độ quay của các trục chính và lượng chạy dao để gia công các chi tiết hình hộp chữ nhật người ta chọn các thông số gia công như sau:

5 – 10

3 - 10

Trang 11

c Năng suất gia công

Là sè chi tiết gia công trong một đơn vị thời gian Công thức tính công suất gia công tính nh sau:

1 1

t n m

To_thời gian cơ bản trung bình (ph)

m_số loạt chi tiết được sản xuất trong một năm

n_số lượng chi tiết được sản xuất trong một năm

i_số lượng nguyên công cần thiết để gia công một chi tiết

k_số lượng các nguyên công kiểm tra

tct_thời gian thay đổi chi tiết gia công

ttd_thời gian thay dao

to_thời gian cơ bản

tkt_thời gian kiểm tra

tcbkt_thời gian chuẩn bị kết thúc

Để tăng năng suất ta phải giảm tct, ttd, to, tcbkt, thời gian phụ Muốn giảm

tcbkt ta phải dùng đồ gá vệ tinh và giảm số lượng các loại chi tiết gia công trên máy (trên một máy CNC không nên gia công quá 30 – 50 loại chi tiết trong một năm) Muốn giảm ttd dùng hệ thống thay dao tự động Trên các máy thay dao bằng tay nên sử dụng cơ cấu kẹp nhanh Muốn giảm to thì tăng tốc độ cắt (tăng công suất động cơ), sử dụng dao có khả năng cắt với tốc độ cao, gia công với chế độ cắt tối ưu và gia công đồng thời bằng nhiều dao Muốn giảm thời gian phụ thì thì tăng tốc độ chạy nhanh của các cơ cấu chấp hành hoặc của dao (cố gắng tăng tốc độ chạy dao nhanh tới 10 – 15 m/ph)

Trang 12

d Độ chính xác của máy CNC

Sai sè gia công tổng cộng trên các máy CNC xuất hiện trong các hêh thống chyển động của máy, trong các hệ thống điều khiển và kiểm tra trong bản thân chi tiết gia công (hình vẽ)

Các sai sè gia công được ký hiệu và giải thích nh sau:

1

δ , δ 2, δ 3, δ4_ sai số lập trình, nội suy, hiệu chỉnh nội suy, và sai số

“lệnh trở về điểm O”

5

δ , δ6_ sai số của bước bên trong và sai số tích luỹ của đattric

δ 7_sai số của cơ cấu chuyển đổi tín hiệu

δ _sai số biến dạng nhiệt của chi tiết gia công

Sai số tổng cộng được xác định theo công thức

Trang 13

e Độ tin cậy của máy CNC

Các máy CNC có giá thành rất cao nên nó chỉ mang lại hiệu quả khi chúng làm việc liên tục 2 hoặc 3 ca và không có hỏng hóc nào khi làm việc Trong quá trình làm việc các máy CNC phải đảm bảo độ chính xác gia công

và nếu có bị hỏng hóc thì máy phải có khả năng được sửa chữa hoặc thay thế một số cơ cấu dễ dàng thuận tiện

Vậy độ tin cậy của máy CNC là tính chất thực hiện chức năng gia công giữ được các chỉ tiêu công nghệ cũng nh sửa chữa theo một thời gian quy định Độ tin cậy của máy được đặc trưng bởi tính chất sau:

- Tính làm việc không bị hỏng: Tính chất này được đặc trưng bằng sự làm việc liên tục của máy trong một thời gian nhất định (thời gian chạy rà và làm việc của máy)

- Tuổi thọ của máy: Tính chất này là sự ổn định làm việc cho tới lúc sửa chữa (1 phần tuổi thọ) và sau đó lại tiếp tục làm việc

Như vậy 2 tính chất trên đều đặc trưng cho khả năng làm việc của máy (tính chất làm việc không bị hỏng) tồn tại trong một khoảng thời gian nhất định còn tính chất tuổi thọ tồn tại trong suốt thời gian máy được sử dụng, kể cả thời gian để sửa chữa

Trang 14

- Khả năng sửa chữa: tính chất này có nghĩa là người ta có khả năng phát hiện các khuyết tật hỏng hóc của máy và có khả năng sửa chữa những khuyết tật và hỏng hóc đó.

Đối với máy CNC thì hai tính chất 1 và 3 là quan trọng nhất bởi vì các máy CNC có cấu trúc rất phức tạp và có nhiều cơ cấu có tác động qua lại lẫn nhau

II Chương II Lập trình gia công trên máy CNC

2.1.Cấu trúc của một câu chương trình

- Chương trình điều khiển máy CNC được cấu thành bởi một dãy các câu chương trình bắt đầu bằng thứ tự câu

Số vòng quay

Dụng cụ cắt

Chức năng phụ

2.2.Cấu trúc của một từ chương trình

Mỗi câu chương trình bao gồm các từ chứa đựng thông tin hình học và công nghệ hoặc thông tin kỹ thuật của chương trình Có thể viết từ nh thế

nào và viết bao nhiêu từ chương trình phụ thuộc vào nơi sản xuất và hệ

thống điều khiển của máy Người ta chia thành hai nhóm từ chương trình:

- Nhóm từ biểu thị chức năng dịch chuyển

- Nhóm từ biểu thị chức năng điều khiển máy và các chức năng phụ

Mỗi từ chương trình bao gồm một chữ cái và một dãy số có hoặc không

có dấu (dấu nằm giữa chữ cái và dãy số X-25.2) Theo quy chuẩn các chữ

cái có một ý nghĩa xác định theo chuẩn ISO hoặc chuẩn DIN 66025(tiêu

chuẩn của CHLB Đức ) Sau đây ta sẽ xét ý nghĩa của một số lệnh cơ bản

theo chuẩn DIN 66025

Trang 15

Ký hiệu ý nghĩa

A Chuyển động quay quanh trục X

B Chuyển động quay quanh trục Y

C Chuyển động quay quanh trục Z

D Bộ nhớ hiệu chỉnh dụng cụ cắt

E Lượng chạy dao thứ 2

F Lượng chạy dao

G Điều kiện chuyển động

H Có thể sử dụng tự do

I Thông số nội suy song song với trục X

J Thông số nội suy song song với trục Y

K Thông số nội suy song song với trục Z

L Có thể sử dụng tự do

M Chức năng phụ

N Số thứ tự câu lệnh

O Có thể sử dụng tự do

P Chuyển động thứ 3 song song với trục X

Q Chuyển động thứ 3 song song với trục Y

R Chuyển động nhanh theo trục Z hoặc chuyển động

thứ 3 song song với trục Z

S Số vòng quay trục chính

T Dụng cụ cắt

U Chuyển động thứ 2 song song với trục X

V Chuyển động thứ 2 song song với trục Y

W Chuyển động thứ 2 song song với trục Z

X Chuyển động theo hướng trục X

Y Chuyển động theo hướng trục Y

Z Chuyển động theo hướng trục Z

G00 Chạy dao nhanh tới toạ độ lập trình

G01 Nội suy đường thẳng

G02 Nội suy cung tròn theo chiều kim đồng hồ

G03 Nội suy cung tròn theo chiều ngược chiều kim đồng

hồG04 Thời gian gia công

G17 Chọn mặt phẳng gia công XY

G18 Chọn mặt phẳng gia công XZ

G19 Chọn mặt phẳng gia công YZ

G33 Cắt ren có bước không đổi

G34 Cắt ren có bước tăng dần

Trang 16

G35 Cắt ren có bước giảm dần

G40 Huỷ bỏ hiệu chỉnh kích thước dụng cụ cắt

G41 Hiệu chỉnh bán kính dụng cụ cắt, dao ở bên phảI

đường viền gia côngG42 Hiệu chỉnh bán kính dụng cụ cắt, dao ở bên tráI

đường viền gia côngG43 Hiệu chỉnh kích thước dụng cụ cắt, dương

G44 Hiệu chỉnh kích thước dụng cụ cắt, âm

G53 Huỷ bỏ xê dịch điểm chuẩn đã chọn

G54 G59 Xê dịch điểm chuẩn

G62 Định vị trí nhanh

G63 Sử dông 100% lượng chạy dao

G64 Thay đổi số vòng quay và lượng chạy dao

G70 Chạy dông cụ tới vị trí ra theo trục Z

G73 Chạy dao theo lập trình

G74 Chạy dao đến điểm mốc của trục thứ 1 và thứ 2

G75 Chạy dao đến điểm mốc của trục thứ 2 và thứ 4

G80 Hủy bá chu trình đã chọn

G81…G89 Các chu trình khoan

G90 Lập trình theo các kích thước tuyệt đối

G91 Lập trình theo kích thước tương đối

G92 Đặt bé nhớ

G94 Chạy dao theo mm/phút

G95 Chạy dao theo mm/vòng quay

Các thông tin chi tiết về quy ước theo các chuẩn đã có rất nhiều tài liệu đầy đủ có thể tham khảo trong cuốn: ("Điều khiển số và công nghệ trên máy điều khiển số" của tác giả Nguyễn Đắc Lộc và Tăng Huy)

Toàn bộ thông tin cần thiết để thực hiện một bước gia công tạo thành một câu chương trình và một chương trình gia công bao gồm một dấu hiệu bắt đầu chương trình(%) và dãy các câu lệnh Người lập trình có thể lập các chu trình riêng theo yêu cầu đặc biệt của mình và cài đặt chúng vào bộ nhớ của hệ điều khiển Để giảm chi phí cho việc lập trình và tăng sự thuận tiện khi lập trình nhiều điều kiện dịch chuyển được nhóm lại thành một chu trình

Trang 17

§iÓm b¾t ®Çu

Pa Xa/Ya

§iÓm kÕt thóc Pe Xe/Ye

Bộ nội suy của hệ điều khiển dùng để tính toán các điểm trung gian

trên quỹ đạo gia công, nó là cụm phần mềm để cộng liên tục các giá trị tọa

độ của điểm xuất phát

Một đường thẳng trong

mặt phẳng X/Y giữa các điểm

đÇu Pa(Xa/Ya) và điểm cuối

Pe(Xe/Ye) được chia thành n

đoạn đường thành phần tương

ứng là n-1 điểm trung gian, nên

ta có chiều dài dịch chuyển

dX=Xe - Xa và dY=Ye - Ya

Các giá trị toạ độ của các điểm

trung gian trên quỹ đạo được tính Hình 1 : Nội suy đường thẳngbằng cách cộng liên tục với số gia

dX/n và số gia dY/n Trong điều khiển theo đường viền các giá trị số gia không nhỏ hơn đơn vị đo của hệ thống do đó không nhỏ hơn bước dịch

chuyển (0.01mm hoặc 0.001 mm) Sè chia n là bội số của bước dịch chuyển 0.01mm hoặc 0.001 mm Phép chia cho sè n sẽ đơn giản nếu bộ nội suy làm việc trong hệ thống thập phân

+ Dạng nội suy đường thẳng có hai lệnh theo chuẩn DIN 66025 là

G00: Dịch chuyển nhanh của dụng cụ cắt từ điểm hiện tại của nó tới điểm tiếp theo đã được lập trình với một tốc độ chạy tối đa(chạy dao không gia công)

G01: Dụng cụ cắt dịch chuển từ điểm hiện tại của nó tới một điểm tiếp theo đã được lập trình trên một đường thẳng với lượng chạy dao gia công đã được lập trình

+Dạng nội suy đường tròn có lệnh G02 hoặc G03 làm cho đỉnh dao

dịch chuyển theo mét cung tròn

Trang 18

M -J

+I Ka(Xa/Ya)

tương đối của tâm vòng tròn so

với điểm bắt đầu của vòng tròn

Những toạ độ vòng tròn so với

điểm bắt đầu cung tròn gọi là

các thông số nội suy I, J, k xác

định vị trí của tâm vòng tròn theo

2.4.Xê dịch các điểm chuẩn

Vì các chỉ dẫn toạ độ trong chương trình đều gắn lên điểm 0 của chi tiết

W nên hệ thống toạ độ cần phải xê dịch đến điểm này Người ta chia xê dịch điểm chuẩn thành : Xê dịch điểm chuẩn điều chỉnh và xê dịch điểm chuẩn lập trình

Thông qua các

chỉ dẫn G54 và

Trang 19

N10 G54.

.N40 G59 X52 Y120

N70 G59 X124 Y40

với xê dịch điểm chuẩn

điều chỉnh các giá trị xê dịch

điểm chuẩn lập trình không được

cài đặt trong bénhớ hiệu chỉnh

Việc sử dụng nhiều làn xê dịch

điểm chuẩn lập trình cho phép ta

lập lại chương trình gia công

ở vị trí bất kỳ trên chi tiết gia công

Hình 3 : Xê dịch điểm chuẩn lập trình

III Chương III Giới thiệu về ObjectARX

Đề tài sử dụng công cụ phát triển ObjectARX để khai thác tối đa dữ liệu của bản vẽ thiết kế đồng thời xây dựng thêm một bộ phận dữ liệu mở rộng (ExtensionDictionary ) để bổ xung vào cơ sở dữ liệu cho bản vẽ thiết

kế Khi đó bản vẽ thiết kế ngoài phần dữ liệu cơ bản mà AutoCAD lưu trữ

sẽ mang theo phần dữ liệu mở rộng mà chương trình đã đeo vào cho các đối

Trang 20

tượng Sau đây ta sẽ nghiên cứu các điểm cơ bản của chương trình Autocad

và lập trình ObjectARX

ObjectARX : Mở rộng hướng đối tượng của thư viện ARX (xuất hiện cùng AutoCAD R14) Thay vì cung cấp một thư viện các hàm nh trong ARX, giờ đây một thư viện các lớp đối tượng tương ứng với các đối tượng (object) trong bản vẽAutoCAD cho phép thao tác dễ dàng hơn rất nhiều Do

đó các chương ứng dụng có thể dễ quản lý và chạy ổn định hơn

3.1 ObjectARX là gì?

ObjectARX là một thư viện lập trình ứng dụng hướng đối tượng cho môi trường AutoCAD ObjectARX được triển khai bằng ngôn ngữ C++ với hàng trăm lớp đối tượng (khoảng 200 với ObjectARX cho AutoCAD R14), phục vụ các hầu hết các nhu cầu cần thiết để phát triển AutoCAD :

Truy cập tới cơ sở dữ liệu bản vẽ

Tương tác với AutoCAD editor

Tạo giao diện người dùng (user interface) sử dụng Microsoft

3.2 Cấu trúc thư viện ObjectARX

+ Chương trình cài đặt của ObjectARX tạo trong thư mục ObjectARX các thư mục con có các nội dung :

\INC : Các tệp tin header C++ của thư viện

\LIB : Các thư viện ở dạng nhị phân (được link vào chương trình ARX)

Trang 21

\CLASSMAP : Sơ đồ cấu trúc thư viện ObjectARX dưới dạng bản vẽ AutoCAD

\DOCS : Tài liệu lập trình ObjectARX (online help)

\DOCSAMPS : Các ví dụ được nêu ra trong tài liệu

\SAMPLES : Các ví dụ

\UTILS : Các tiện Ých và thư viện kèm theo

\REDISTRIB : Các tệp tin nhị phân cần phân phối (redistribute) cùng ứng dụng ARX

\ARXLABS : Hướng dẫn lập trình ObjectARX qua từng bước (step

Trang 22

Các bước sau đây được thực hiện trên Visual C++ 5.0 để tạo ra ứng dụng ObjectARX chạy trên AutoCAD R14 Với các phiên bản khác của Visual C++ và ObjectARX quá trình thực hiện hoàn toàn tương tự.

Khi đó một workspace mới được tạo ra cùng với một project link library thích hợp cho một ứng dụng ARX Tiếp đến là các bước đặt setting cho project

dynamic-Bước 3 :

Từ menu Project của Visual C++ chọn Settings Trong listbox

“Settings for:" chọn Win32 Debug nếu muốn thay đổi setting cho cấu hình Debug, và chọn Win32 Release cho cấu hình Release

Bước 4 :

Nhấn vào tab C/C++ để thay đổi thông số của chương trình biên dịch (compiler settings) như dưới đây Các setting không nêu ra ở đây để mặc định :

Category: Code Generation

Use run-time library : Multithreaded DLL (hay Debug Multithreaded DLL cho cấu hình Debug)

Category: Preprocessor

Trang 23

Preprocessor Definitions : thêm các chỉ thị biên dịch ACRXAPP, RADPACK vào edit box

Additional Include Directories : thêm vào đường dẫn tới thư mục chứa các header của thư viện ObjectARX và các thư mục khác nếu cần Ví dụ : thêm vào "C:\Program Files\ObjectARX\Inc; C:\GeoLib"

Bước 5 :

Đặt setting cho chương trình liên kết (linker settings) Bấm vào tab Link Thay đổi các giá trị nh dưới đây, các setting không nêu ra nên để mặc định :

Category: General

Output File Name - Nhập vào tên file ứng dụng sau khi dịch Mặc định tên file này có phần mở rộng là DLL, nhưng với ứng dụng ObjectARX tốt nhất để cho phần mở rộng là ARX

Category: Input

Object/library modules : đưa vào tên các thư viện cần thiết cho ứng dụng Ví dụ : “rxapi.lib acad.lib acedapi.lib”

Category: Output

Base Address - gõ vào 0x1c000000

Entry-Point Symbol - DllEntryPoint@12

Nhấn OK để chấp nhận và đóng hộp thoại Các setting cần thiết đã được đặt để có thể phát triển ứng dụng ObjectARX

Lập trình viên có thể bắt đầu soạn thảo chương trình, add vào project vừa tạo và biên dịch thành ứng dụng ObjectARX sẵn sàng chạy trong AutoCAD

AcEd : Dùng khi đăng ký các lệnh, xử lý các message của AutoCAD ,

xử lý transaction

Trang 24

ADS : Thư viện các hàm C dùng trong các thao tác liên quan đến select đối tượng, nhập số liệu

3.4.Cơ sở dữ liệu và đối tượng AcDbDatabase

Bản vẽ AutoCAD là một cơ sở dữ liệu (CSDL) chứa các đối tượng tạo nên bản vẽ Các đối tượng trong bản vẽ thuộc một trong hai loại sau :

+ Entity (thực thể) : các đối tượng có thể hiện hình học, như các đối tượng LINE, CIRCLE, POLYLINE Người dùng AutoCAD có thể nhìn thấy và trực tiếp thao tác trên các thực thể bằng các lệnh hiệu chỉnh

+ Nonentity (phi thực thể) : các đối tượng còn lại, như đối tượng kiểu đường (linetype), kiểu chữ (text style) hay líp (layer) Các đối tượng này thường phục vụ việc tổ chức bản vẽ, phục vụ quá trình thiết kế, hay đơn giản chỉ là nơi chứa dữ liệu (ví dụ như dictionary) cho AutoCAD và các chương trình ứng dụng chạy trên AutoCAD.

Đối tượng AcDbDatabase

Trong ObjectARX , cơ sở dữ liệu bản vẽ được biểu diễn bằng đối tượng thuộc lớp AcDbDatabase (tệp tin header DBMAIN.H) Líp AcDbDatabase có các phương thức để đọc, ghi bản vẽ, truy cập các biến trạng thái, các bảng ký hiệu, các từ điển và thực hiện các thao tác khác liên quan đến cơ sở dữ liệu

Để truy cập một bản vẽ AutoCAD , khai báo một biến kiểu con trỏ tới đối tượng AcDbDatabase, cấp phát bộ nhớ và gọi hàm readDwgFile() truyền vào tên file bản vẽ để đọc cơ sở dữ liệu bản vẽ :

AcDbDatabase * pDatabase = new AcDbDatabase;

pDatabase->readDwgFile(“thu.dwg”);

// truy cập cơ sở dữ liệu

Trang 25

delete pDatabase;

Hay có thể dùng hàm acdbCurDwg() để lấy con trỏ tới bản vẽ hiện thời đang được mở trong AutoCAD :

AcDbDatabase * pDatabase = acdbCurDwg();

Để ghi lại những thay đổi trong cơ sở dữ liệu bản vẽ , có thể dùng phương thức :

Acad::ErrorStatus save() ;

hay

Acad::ErrorStatus saveAs(const char* fileName) ;

để ghi lại dưới một tên khác

Container và iterator

Trong cơ sở dữ liệu AutoCAD các bảng, trừ bảng biến trạng thái, được biểu diễn bằng các đối tượng container (thùng chứa,) Ngoài ra một số đối tượng phức hợp (complex entity) cũng có thể được coi là các container Để truy cập tới các phần tử của container, thư viện ObjectARX sử dụng các iterator

Mét iterator I của container C, là một đối tượng chứa một tham chiếu

pC tới đối tượng container C và chứa một tham chiếu pE tới phần tử nhất định của container Ban đầu iterator pE trỏ tới phần tử đầu tiên của C, sau

đó sử dụng các phương thức của lớp iterator (ví dụ step(), seek() ) , pE có thể lần lượt trỏ tới các phần tử khác của C Đồng thời có thể sử dụng số lượng tuỳ ý các iterator trên một container, nên việc truy xuất các phần tử

Trang 26

của container trở nên dễ dàng và nhất quán, mà không cần quan tâm tới cấu trúc thực tế của container (là linked list, array hay hash table )

Khái niệm container và iterator là những khái niệm tương đối mới trong C++ nhưng đã được sử dụng rộng rãi trong thư viện C++ chuẩn (STL : Standard Template Library) và các thư viện C++ xuất hiện trong những năm gần đây

3.5.Cơ sở dữ liệu bổ sung

Các ứng dụng ObjectARX có thể gắn các dữ liệu của chúng vào các đối tượng của cơ sở dữ liệu bản vẽ AutoCAD bằng nhiều cách khác nhau Hai phương pháp phổ biến nhất là dùng extended data (xdata) và extension dictionary Đồ án gắn dữ liệu mở rộng vào đối tượng bằng phương pháp dùng extension dictionary, dữ liệu bao gồm các kích thước cơ bản của phôi, của chi tiết trong bản vẽ

Dữ liệu mở rộng được gắn vào các đối tượng AcDbPolyLine tượng trưng cho nút nhấn trong bản vẽ Nót nhÊn

Trang 27

3.5.1 Extended data (xdata)

Xdata là một danh sách móc nối thuộc kiểu resbuf do các ứng dụng AutoCAD gắn vào các đối tượng của bản vẽ AutoCAD hỗ trợ việc bảo trì (maintain) nhưng không sử dụng các thông tin trong danh sách

Để tạo xdata cho một đối tượng cần qua các bước:

1 Đăng ký ứng dụng sử dụng xdata bằng hàm ads_regapp()

2 Tạo ra danh sách resbuf theo yêu cầu

3 Gắn danh sách này vào đối tượng sử dụng phương thức AcDbObject::setXData()

Muốn truy cập danh sách xdata của đối tượng sử dụng phương thức AcDbObject::xData(), sau đó duyệt trong danh sách móc nối resbuf

Để gắn dữ liệu , thực hiện :

1 Tạo extension dictionary cho đối tượng

2 Mở extension dictionary và chèn vào một đối tượng xrecord

3 Tạo danh sách DXF theo yêu cầu và set vào cho đối tượng xrecord

Đoạn chương trình sau là hàm thực hiện việc add thêm dữ liệu mở rộng vào các đối tượng cho từng bước gia công :

int CDocData::_addXtnData(const AcDbObjectId& ObjectId,

struct resbuf* head) {

int resurl=0,len=0;

CDocData data;

Trang 28

void CDocData::_printXdata(const AcDbObjectId m_ObjectId,CStruct

Trang 29

struct resbuf* head;

struct resbuf* ptemp;

AcDbXrecord* pXrecord ;

AcDbObjectId dictObId,xrecObjId;

// end variable//

if(acdbOpenObject(pObject,m_ObjectId,AcDb::kForRead)==Acad::eOk) {

dictObId = pObject->extensionDictionary();

if(acdbOpenObject(pDictionary,dictObId,AcDb::kForRead)==Acad::eOk){ pDictionary->getAt("MILK_CAT_COW",

Trang 30

ads_printf("\n%s","No object selected !");

} }

Do nội dung của đề tài chủ yếu nghiên cứu ứng dụng cơ sở dũ liệu nên trên đây là một số khái niệm cơ bản hướng về cách tạo lập ứng dụng khai thác cơ sở dữ liệu của một bản vẽ CAD với sự hỗ trợ của công cụ phát triển mở rộng ObjectARX Sau đây chúng ta sẽ nghiên cứu công cụ đồ hoạ OPenGL và các ứng dụng của nó

Trang 31

Chương IV - Giới thiệu về OPenGL

4.1.Lịch sử ra đời và phát triển của OPenGL

OpenGL là một thư viện đồ hoạ tốc độ cao, độc lập với các hệ thống giao diện của hệ điều hành Ban đầu do hãng Silicon Graphics Inc phát triển cho các workstation đồ hoạ tốc độ cao với tên IRIS GL từ năm 1982 Đến nay OpenGL đã trở thành một chuẩn công nghiệp được các hãng nổi tiếng trong nghành công nghệ thông tin phát triển tích hợp vào bộ xử lý đồ hoạ cho sản phẩm của mình như: Hệ điều hành Windows XP, Me,

Advanced Server 2003 tích hợp sẵn thư viện đồ hoạ động OpenGL32.dll vào hệ thồng nên khi mang các chương trình đồ hoạ lập trình với OpenGL sang chạy ở các hệ điều hành này ta không phải lo mang theo tập tin dll như các hệ điều hành cũ khác

OpenGL đã được triển khai trên nhiều hệ thống phần cứng nổi tiếng khác nhau nh: trong con chíp đồ hoạ của card đồ hoạ của hầu hết các hãng lớn (NVIADIA, TNT64, INTEL )hay chính trong CPU của INTEL thế hệ mới cũng đã tích hợp hệ thống xử lý đồ hoạ OPenGL

Ta có thể phát triển các ứng dụng đồ hoạ với OpenGL sử dụng những ngôn ngữ lập trình khác nhau Hiện đã có các triển khai của OpenGL cho các ngôn ngữ nh C/C++, Fortran, Java, Ada

Trong đồ án OpenGL được khởi tạo trong một đối tượng mới, độc lập hoàn toàn với các môi trường sử dụng đối tượng nh MFC hay trong AutoCAD Đây là đối tượng phái sinh từ lớp CWnd là lớp cha của tất cả các lớp cửa sổ nên nó mang đầy đủ các tính năng thao tác trên cửa sổ nh thao tác chuột, bàn phím Việc khởi tạo môi trường OPENGL cho đối tượng không khác so với việc khởi tạo trên các CDialog hay trên CView Tuy nhiên đối tượng được nạp chồng hàm Create() của lớp CWnd nên việc khởi tạo đối tượng ở vị trí bất kỳ trên Dialog hay trên FormView rất dễ dàng Sau đây chúng ta sẽ nghiên cứu kỹ về công cụ OPENGL, tiếp đó nghiên cứu

Trang 32

công cụ class OpenGLInit : public CWnd được tạo ra và sử dụng trong chương trình.

4.2 Khả năng thư viện OpenGL

Về cơ bản OpenGL là một thư viện của một tập hợp gồm khoảng 150 hàm hỗ trợ các thao tác Tên các hàm này có tiền tố là GL, thư viện OPenGL utility có tiền tố là GLU, thư viện OPenGL auxliary có tiền tố là AUX, Bộ hàm WGL có tiền tố WGL, ngoài ra còn có các hàm WIN32 API không có tiền tố đặc biệt

Bộ hàm hạt nhân (Có tiền tố GL) cho phép thiết kế các hình dạng khác nhau, tạo nên hiệu ứng chiếu sáng, hiệu ứng quan sát , thực hiện biến đổi ma trận

Bộ hàm OPenGL utility gồm các hàm cao cấp, các hàm này đơn giản hoá cấu trúc thực hiện biến đổi toạ độ ở mức cao Biểu diễn các đối tượng

có cơ sở đa giác nh hình cầu, hình trụ, hình đĩa

Bộ hàm của thư viện OPenGL auxiliary gồm các hàm đặc biệt dùng đơn giản hoá các ví dụ lập trình

Bộ hàm WGL có tác dụng kết nối OPenGL với WINNT cho phép người lập trình xây dựng và chọn lựa các ngữ cảnh biểu diễn, tạo các bitmap font các hàm này chỉ dùng trên WINNT

Bộ hàm WIN32 API được dùng để định dạng điểm và ảnh tạo bộ đệm đôi

4.3 Khởi tạo MFC cho OPenGL

Trong phần này chúng ta sẽ nghiên cứu việc khởi tạo ứng dụng OPenGL và liên kết nối OPenGL vào chương trình MFC

4.3.1 Ngữ cảnh biểu diễn

Mọi chương trình trên Windows đều phải sử dụng ngữ cảnh dụng cụ (DC Device context), Đây là cấu trúc dữ liệu chứa thông tin về cách mà dữ liệu đồ hoạ dược hiển thị trên cửa sổ Ngữ cảnh dụng cụ xác định màu sắc

Trang 33

bút vẽ kiểu màu, nội dung bảng màu, kiểu mapping (kiểu thể hiện các phần

tử của không gian tọa độ nguồn nên không gian tọa độ đích), và các thuộc tính khác mà Windows cần biết để thể hiện thông tin đồ họa

OPenGL còn yêu cầu phải sử dụng ngữ cảnh biểu diễn (RC Rendering context) Toàn bộ lệnh OpenGL đều phải qua ngữ cảnh biểu diễn, mọi tiến trình gọi tới OpenGL đều phải có một ngữ cảnh biểu diễn hiện hành Ứng dụng sẽ xác định ngữ cảnh thiết bị phù hợp khi nó tạo ngữ cảnh biểu diễn Đặc biệt ngữ cảnh biểu diễn có cùng định dạng điểm vẽ (pixel format) nh ngữ cảnh dụng cụ Một lời gọi GDI phải xác định rõ ràng

nh một ngữ cảnh dụng cụ Và một lời gọi Open GL phải xác định rõ ràng một ngữ cảnh biểu diễn Các hàm WGL quản lý ngữ cảnh biểu diễn :

Bảng 4.1 Các hàm WGL quản lý ngữ cảnh biểu diễn

WglCreateContext () Tạo một ngữ cảnh biểu diễn mới

WglDeleteContext () Xóa ngữ cảnh biểu diễn

WglGetCurrentContext () Trả handle về ngữ cảnh biểu diễn hiện hànhWglGetCurrentDC () Lấy handle của ngữ cảnh dụng cụ liên kết

với ngữ cảnh biểu diễn hiện hànhWglMakeCurrent () Thiết lập ngữ cảnh biểu diễn hiện hành

Trước khi tạo một ngữ cảnh tô vẽ cần phải thiết lập định dạng điểm ảnh của thiết bị Nó lưu giữ các thuộc tính về bề mặt vẽ của thiết bị Những thuộc tính đó bao gồm: bề mặt vẽ sử dụng chế độ màu RGBA hay index color, vùng đệm điểm ảnh được sử dụng là đơn hay kép, số lượng bít màu,

số lượng bít được sử dụng cho vùng đệm sâu và vùng đệm stencil và các thông tin đồ hoạ khác của OpenGL Các hàm xử lý về định dạng điểm ảnh :+ ChoosePixelFormat() trả về định dạng điểm ảnh phù hợp nhất so với yêu cầu

+ DescribePixelFormat() lưu giữ các thông tin về định dạng điểm ảnh được đa đến

Trang 34

+ GetPixelFormat() lấy định dạng điểm ảnh của ngữ cảnh thiết bị đưa đến.

+ SetPixelFormat() đặt định dạng điểm ảnh của ngữ cảnh thiết bị đưa đến

Tuỳ theo yêu cầu chương trình có hai kỹ thuật để quản lý ngữ cảnh tô vẽ:

(1) Tạo ngữ cảnh tô vẽ và cho nó hiện hành bằng thông điệp

WM_CREATE, xoá ngữ cảnh tô vẽ đồng thời bỏ hiện hành bằng thông điệp

WM_DESTROY.

(2) Tạo ngữ cảnh tô vẽ bẳng thông điệp WM_CREATE, nhưng chỉ cho hiện hành khi cần vẽ bằng OpenGL và bỏ hiện hành ngay sau khi vẽ xong Xoá ngữ cảnh tô vẽ bằng thông điệp WM_DESTROY.

Ưu điểm của phương pháp thứ nhất là chỉ cần cho ngữ cảnh tô vẽ hiện hành một lần bởi vì cho hiện hành ngữ cảnh tô vẽ phải mất khá nhiều thời gian để xử lý nã cho phép chương trình đáp ứng thông điệp WM_PAINT

nhanh hơn một chút.Nhưng nhược điểm của phương pháp này là phải luôn giữ một DC trong toàn bộ thời gian chạy chương trình Nói chung các chương trình Visual C++ tạo bởi AppWizart không thích hợp với phương pháp này

Với phương pháp thứ hai chương trình tạo ra và giải phóng DC của window mỗi lần muốn vẽ lên cửa sổ Vì thế chương trình không cần phải giữ DC trong suốt quá trình chạy Tuy nhiên mỗi lần tạo một DC, chương trình phải cho hiện hành ngữ cảnh tô vẽ

4.3.2 Cấu trúc PIXELFORMATDESCRIPTER

Mỗi một thiết bị thể hiện của OpenGL hỗ trợ một số hữu hạn các định dạng điểm ảnh Tất nhiên tính sẵn có của định dạng điểm ảnh phụ thuộc và khả năng của thiết bị thể hiện Các thuộc tính của một định dạng điểm ảnh

cụ thể được biểu diễn thông qua cấu trúc PIXELFORMATDESCRIPTER. Cấu trúc này lưu trữ 26 trường thông tin

Trang 35

typedef struct tagPIXELFORMATDESCRIPTOR { WORD nSize;

Trang 36

Bảng 4.2 Các thành phần của cấu trúc PIXELFORMATDESCRIPTOR

Nsize Kích thước tính bằng byte của cấu trúc Có thể thiết

lập bằng sizeof (PIXELFORMATDESCRIPTOR).Nversion Số phiên bản (version( của cấu trúc, hiện bằng 1.DwFlags Các cờ đặc tính cho định dạng điểm ảnh (bảng 4.3)IpixelType

Mô tả dữ liệu màu của điểm vẽ:

- PFD_TYPE_RGBA đối với chế độ màu RGBA

- PFD_TYPE_INDEX đối với chế độ màu chỉ mục

cColorBits

Số bít thể hiện một màu Nó quyết định số màu thể hiện chế độ màu RGBA, thì không tính đến alpha bitplance Đối với chế độ màu chỉ mục, cColorBits xác định kích thước độ đệm màu

cRedBits Sè bit đỏ trong bộ đệm màu RGBA

cRedShift Tổng độ dời các bitplane đỏ trong bộ đệm màu

RGBAcGreenBits Sè bit xanh lá trong bộ đệm màu RGBA

cGreenShift Tổng độ dời các bitplane xanh lá trong bộ đệm màu

RGBAcBlueBits Sè bit xanh dương trong bộ đệm màu RGBA

cBlueShift Tổng độ dời các bitplane xanh dương trong bộ đệm

màu RGBAcAlphaBits Sè bitplane trong bộ đệm màu RGBA Không dùng

trên microsoft Windows cAlphaShift Tổng độ dời các bitplane alpha trong độ đệm màu

RGBA không dùng trên microsoft WindowscAccumBits Sè bitplane trong độ đệm tích lũy

cAccumRedBits Sè bit đỏ trên một pixel trong độ đệm tích lũy

cAccumGreenBits Sè bit xanh lá trên một pixel trong độ đệm tích lũy cAccumBlueBits Sè bit xanh dương trên một pixel trong độ đệm tích

lũycAccumAlphaBits Sè bit alpha trên một pixel trong độ đệm tích lũycDepthBits Sè bitplane trong độ đệm chiều sâu

cStencilBits Sè bitplane trong độ đệm stencil

cAuxBuffer Số bộ đệm phụ không dùng trên microsoft

Trang 37

Windows

iLayerType

Xác định kiểu lớp trên Microsoft Windows làPFD_MAIN_PLANE Ngoài ra các kiểu lớp khác là

FPD_OVERLAY_PLANE và PFD_UNDERLAY_PLANEbServered Dùng dự trữ, thường bằng 0

dwLayerMask Hai trường hợp này đi đôi với nhau để xác định

một lớp che một lớpdwVisibleMask

dwDamageMask

Dùng khi nhiều hơn một định dạng điểm vẽ sử dụng chung bộ đệm khung Nếu bitwise AND của các thành viên dwDamageMask của hai khung định dạng điểm vẽ khác 0, thì chúng sử dụng chung một

độ đệm khung

Trang 38

Bảng 4.3 Các cờ đặc tính cho định dạng điểm ảnh

PFD_DRAW_TO_BITMAP Bộ đệm được dùng vẽ vào bitmap

bộ nhớPFD_DRAW_TO_WINDOW

Bộ đệm được dùng vẽ vào cửa sổ trên màn hình hay thiết bị khác như máy in

PFD_DOUBLEBUFFER

Thiết lập khi dùng bộ đệm đôi Không dùng cùng với cờ PFD_SUPPORT_GDI

PFD_GENERIC_FORMAT

Thiết lập khi chọn định dạng điểm vẽ tổng quát, là định dạng điểm ảnh được hỗ trợ bởi phần cứng hay trình điều khiển thiết bịPFD_NEED_PALETTE Thiết bị khi dùng bảng màu logic

PFD_NEED_SYSTEM_PALETTE

Thiết lập khi hệ thống sử dụng phần cứng Open GL chỉ được hỗ trợ bởi một bảng màu phần cứng duy nhất (Bảng màu phần cứng mapping một _ một với bảng màu logic)

PFD_STEREO

Thiết lập khi chọn bộ đệm lập thể Không dùng trên Microsoft Windows

PFD_SUPPORT_GDI

Bộ đệm hỗ trợ các hàm đồ họa GDI

Không dùng cùng với cờPFD_DOUBLEBUFFERPFD_ SUPPORT_OPENGL Bộ đệm hỗ trợ các hàm đồ họa

Open GL

Trang 39

E

Định dạng có thể dùng bộ đệm đơn hay đôi, không ưu tiên cho riêng loại nào

PFD_STEREO_DONTCARE Cảnh lập thể hoặc không lập thể,

không ưu tiên cho riêng loại nàoKhi thiết lập định dạng điểm ảnh của ngữ cảnh dụng cụ thì cấu trúc

PIXELFORMATDESCRIPTOR được điền đầy và địa chỉ của nó được dùng làm đối số cho hàm SetPixelFormat().

Với kỹ thuật quản lý ngữ cảnh tô vẽ thứ hai nh đã giới thiệu ở trên ta cần qua 5 bước cơ bản để khởi tạo môi trường đồ hoạ cho OpenGL:

Bước 1: Sử dụng AppWizard tạo một ứng dụng ban đầu

Bước 2: Sử dụng ClassWizard tạo các hàm

nCreate(),OnDestroy(),PreCreateWindow(),OnSize(),OnEraseBackGround() tương ứng với các thông điệp WM_CREATE , WM_DESTROY,WM_SISE, WM_ERASEBKGND, PreCreateWindow.

Bước 3 : Thay đổi lần lượt các hàm nh sau:

sizeof(PIXELFORMATDESCRIPTOR), // Structure size.

1, // Structure version number.

PFD_DRAW_TO_WINDOW | // Property flags.

PFD_SUPPORT_OPENGL |

PFD_DOUBLEBUFFER, PFD_TYPE_RGBA,

Ngày đăng: 17/05/2015, 05:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Đắc Lộc, Tăng Huy: Điều khiển số và công nghệ trên máy điều khiển số CNC2 . Phạm Công Ngô : Tự học lập trình visual C++6.0 từ cơ bản đến nâng cao Sách, tạp chí
Tiêu đề: Điều khiển số và công nghệ trên máy điều khiển số CNC"2 . Phạm Công Ngô
3. Phan Mạnh Dần, Phạm Thị Hơng, Đỗ Đăng Khoa, Hoàng Sỹ Tuấn, Đặng Anh Việt : Báo cáo nghiên cứu khao học Opengl và ứng dụng đồ họa động Sách, tạp chí
Tiêu đề: PhanMạnh Dần, Phạm Thị Hơng, Đỗ Đăng Khoa, Hoàng Sỹ Tuấn, Đặng Anh Việt
7. Mark J.Kilgard : OpenGl programming for the X windows system 8. Micheal J.Laszlo(Nova shoutheastern University): Computational Geometry And Computer Graphics in C++ Sách, tạp chí
Tiêu đề: OpenGl programming for the X windows system"8. Micheal J.Laszlo(Nova shoutheastern University)
4. Nguyễn Cao Luân : Đồ án tốt nghiệp đề tài tự động lập trình cho máy CNC Khác
5. Bùi trọng Trường : Đồ án tốt nghiệp Thư Viện Cơ Cấu Máy Khác
6. Mts teachWare Student's Book - MTS GmbH 1999 : CNC Basics - Excerpt Khác
12. Mason Woo, Jackie Neider, Tom Davis : OpenGl Programming Guide Second Edition Khác
2. API (Application Programming Interface) Chương trình ứng dụng giao tiếp với người sử dụng nhờ các lớp cơ sở để biểu diễn cửa sổ, menu… Khác
3. MFC (Microsoft Foundation Class) Cung cấp các lớp cơ sở cho việc giao tiếp giữa người và máy qua các giao diện dễ sử dụng Khác
4. CAD (Computer Aided Design) Trình thiết kế kỹ thuật có sự trợ giúp của máy tính Khác
5. CAM (Computer Aided Manufacturing) Điều khiển và vận hành sản xuất có sự trợ giúp của máy tính Khác
6. CAP (Computer Aided Planning) Bộ phận lập kế hoach trong hệ thống có sự trợ giúp của máy tính Khác
7. CIM (Computer Intergraded Manufacturing) Hệ thống sản xuất tích hợp, có sự liên kết giữa CAD và CAM vào một hệ thống được điều hành bằg máy tính Khác
8. CNC (Computer numerical control) Hệ thống máy công cụ được điều khiển bằng chương trình số có sự trợ giúp quản lý của máy tính Khác
9. NC (Numerical Control) Phương pháp hay hệ thống gia công được điều khiển bằng chương trình số nhưng thông tin điều khiển được lưu trữ trên các băng đục lỗ Khác
10. CLDATA (Computer Location Data) Dữ liệu định vị của dụng cụ cắt Khác
11. CAE (Computer Aided Engineering) Sử dụng máy tính vào việc mô hình hóa tự động Khác

HÌNH ẢNH LIÊN QUAN

Bảng 4.2. Các thành phần của cấu trúc PIXELFORMATDESCRIPTOR - đồ án kỹ thuật cơ khí  Mô phỏng quá trình gia công CNC trên máy DENFORD
Bảng 4.2. Các thành phần của cấu trúc PIXELFORMATDESCRIPTOR (Trang 36)
Bảng 4.3. Các cờ đặc tính cho định dạng điểm ảnh - đồ án kỹ thuật cơ khí  Mô phỏng quá trình gia công CNC trên máy DENFORD
Bảng 4.3. Các cờ đặc tính cho định dạng điểm ảnh (Trang 38)
Bảng 4.4. Hằng số tính chất cho hàm glight() - đồ án kỹ thuật cơ khí  Mô phỏng quá trình gia công CNC trên máy DENFORD
Bảng 4.4. Hằng số tính chất cho hàm glight() (Trang 53)
Hình ảnh chi tiết nối trục trong chương trình mô phỏng 3D - đồ án kỹ thuật cơ khí  Mô phỏng quá trình gia công CNC trên máy DENFORD
nh ảnh chi tiết nối trục trong chương trình mô phỏng 3D (Trang 66)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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