CẤU HÌNH PHẦN MỀM CỦA MỘT HỆ THỐNG ĐỒ HỌA Khi sử dụng hệ thống đồ họa người dùng phải thực hiện các hoạt động sau: 1.. CÁC CHỨC NĂNG CỦA BỘ PHẦN MỀM ĐỒ HỌA FUNCTIONS OF GRAPHICS PACKAG
Trang 1CAD/CAM 60
CHƯƠNG 6
CHƯƠNG 6
PHẦN MỀM ĐỒ HỌA MÁY TÍNH
PHẦN MỀM ĐỒ HỌA MÁY TÍNH
VÀ CƠ SƠ DỮ LIỆU
VÀ CƠ SƠ DỮ LIỆU
6.1 TỔNG QUAN
6.1 TỔNG QUAN
Phần cứng CAD mà chúng ta bàn luận trong chương 5 sẽ là vô ích nếu không được hỗ trợ bởi phần mềm Trong chương này chúng ta sẽ bàn luận một số vấn đề liên quan đến phần mềm và cơ sở dữ liệu cho đồ họa máy tính tương tác và CAD
Phần mềm đồ họa là tập hợp các chương trình để người dùng thao tác trên hệ thống đồ họa máy tính Nó bao gồm các chương trình tạo ra hình ảnh trên màn hình CRT, xử lý hình ảnh và thực hiện việc tương tác khác nhau giữa người dùng và hệ thống Phụ và với phần mềm đồ họa có thể có những phần mềm cung cấp thêm những chức năng chuyên dụng liên quan đến CAD/CAM Chúng bao gồm các chương trình
phân tích thiết kế, thí dụ phân tích phần tữ hữu hạn, mô phỏng chuyển động, và các chương trình thiết kế qúa trình công nghệ Chương này chủ yếu chỉ nói về phần mềm đồ họa
Phần mềm đồ họa đối với một hệ thống đồ họa máy tính riêng biệt phụ thuộc
nhiều vào kiểu phần cứng được dùng trong hệ thống Phần mềm phải được viết riêng cho kiểu CRT và kiểu thiết bị nhập dùng trong hệ thống Các chi tiết trong phần mềm viết cho màn hình CRT vạch nét có thể khác so với màn hình CRT kiểu quét mành Sự khác nhau giữa ống ống lưu ảnh và ống nạp lại ảnh cũng ảnh hưởng đến phần mềm đồ họa Mặc dù những khác biệt này trong phần mềm người dùng không nhìn thấy được nhưng chúng rất quan trọng trong đồ họa máy tính
Các nguyên tắc cơ bản
Các nguyên tắc cơ bản
Có 6 nguyên tắc cơ bản trong trong việc thiết kế phần mềm đồ họa
• Tính đơn giản (simplicity) Phần mềm đồ họa phải dễ sử dụng
• Tính chắc chắn (consistancy) Phần mềm phải hoạt động một cách chắc chắn và có tính gợi ý cho người dùng
• Tính đầy đủ (completeness) Không được thiếu một thứ gì về các chức năng đồ họa
• Tính mềm dẻo (Robustness) Hệ thồng đồ họa phải dễ dàng bỏ qua lỗi của người dùng
• Tính thực thi (Performance) Khi có hạn chế trong phần cứng, phần mềm phải được sử dụng một cách triệt để Chương trình đồ họa phải hiệu quả và tốc độ đáp ứng phải nhanh chóng và chắc chắn
• Tính kinh tế (Economy) Chương trình đồ họa không được qúa lớn hoặc đắt giá đến mức làm cho nó không thể có người mua để dùng
Trang 2
6.2 CẤU HÌNH PHẦN MỀM CỦA MỘT HỆ THỐNG ĐỒ HỌA
6.2 CẤU HÌNH PHẦN MỀM CỦA MỘT HỆ THỐNG ĐỒ HỌA
Khi sử dụng hệ thống đồ họa người dùng phải thực hiện các hoạt động sau:
1 Tương tác với màn hình đồ họa để tạo ra và biến hóa hình ảnh trên màn hình
2 Xây dựng một model vật lý từ những hình ảnh trên màn hình Các model đôi khi được gọi là model ứng dụng
3 Đưa model vào trong bộ nhớ chính và/hoặc bộ nhớ phụ
Khi vẽ, người dùng phối hợp các lệnh với nhau chứ không phải theo một thứ tự nhất định
Việc chia các hoạt động này ra là do muốn cho chương trình thích ứng với cấu hình chung của bộ phần mềm được dùng với hệ thống đồ họa máy tính tương tác Phần mêm đồ họa có thể bao gồm 3 modul :
1 Bộ đồ họa (Graphics package, Foley và Van Dam gọi là Graphics system)
2 Chương trình ứng dụng (The Application program)
3 Cơ sở dữ liệu ứng dụng (The Application Databage)
Cấu hình phần mềm của một hệ thống CAD được vẽ trên hình 6.1
Hình 6.1 Cấu hình của phần mềm đồ họa
Module trọng tâm là các chương trình ứng dụng (Application programs) Nó điều khiển việc lưu dữ liệu vào và lấy dữ liệu ra khỏi cơ sở dữ liệu ứng dụng Chương trình ứng dụng được điều khiển bởi người dùng qua hệ thống đồ họa
Chương trình ứng dụng được người dùng sử dụng để xây dựng model trên màn hình Chương trình ứng dụng được viết riêng cho mỗi lĩnh vực riêng biệt Các lĩnh vực trong thiết kế kỹ thuật có thể bao gồm: kiến trúc, xây dựng, cơ khí, điện tử, hóa chất, hàng không Những lĩnh vực khác ngoài thiết kế bao gồm mô phỏng vật bay, cho dữ liệu ở dạng đồ hoạ, phân tính toán học, và ngay cả hội họa Trong mỗi trường hợp, chương trình ứng dụng được phân tích để tạo ra hình ảnh với những quy ước thích ứng trong lĩnh vực đó
Hệ thống hay bộ đồ họa (Graphics Package) là phần mềm hỗ trợ giữa người dùng và màn hình đồ họa Nó quản lý sự tương tác giữa người dùng và hệ thống Nó cũng dùng như là giao diện (kết nối trung gian) giữa người dùng và phần mềm ứng dụng Hệ
Cơ sở dữ liệu
ứng dụng
Các chương trình ứng dụng Bộ đồ họa
Màn hình đồ họa
Thiết bị nhập của người dùng
Design workstation
Trang 3CAD/CAM 62
thống đồ họa gồm các chương trình con nhập (input subroutines) và các chương trình con xuất (output subroutines) Các chương trình con nhập nhận các lệnh và dữ liệu từ người dùng và đưa chúng đến chương trình ứng dụng Chương trình con xuất điều khiển màn hình (hoặc các thiết bị khác) và biến đổi model ứng dụng sang hình ảnh đồ họa 2 hoặc 3 chiều
Modul thứ 3 trong phần mềm đồ họa máy tính tương tác (ICG) là cơ sở dữ liệu Cơ sở dữ liệu chứa các định nghĩa tóan học, số học, và lôgic học của model ứng dụng, thí dụ như của mạch điện tử, phần tử cơ khí Nó cũng gồm thông tin ở dạng chữ (ABC) đi với models, thí dụ như danh sách vật liệu
Nội dung của cơ sở dữ liệu có thể hiện ra nhanh chóng trên màn hình CRT hoặc in
ra giấy
Mục 6.6 sẽ bàn về cơ sở dữ liệu cho đồ họa máy tính
6.3 CÁC CHỨC NĂNG CỦA BỘ (PHẦN MỀM) ĐỒ HỌA
6.3 CÁC CHỨC NĂNG CỦA BỘ (PHẦN MỀM) ĐỒ HỌA
(FUNCTIONS OF GRAPHICS PACKAGE)
Để thực hiện vai trò của mình trong cấu trúc phần mềm của một hệ thống CAD, bộ phần mềm đồ họa hay nói ngắn gọn là bộ đồ họa phải thực hiện hàng loạt chức năng Mỗi chức năng có thể nhóm lại thành một bộ Mỗi bộ thực hiện một số công việc giữa người dùng và máy tính
Các bộ chức năng này là:
3 Chức năng điều khiển và các chức năng cửa sổ Chức năng điều khiển và các chức năng cửa sổ Chức năng điều khiển và các chức năng cửa sổ
4444 Chức năng tạo đặc tính (Attribute): nét vẽ, màu, độ dày.Chức năng tạo đặc tính (Attribute): nét vẽ, màu, độ dày.Chức năng tạo đặc tính (Attribute): nét vẽ, màu, độ dày
5
5 Chức năng chia nhỏ để chỉnh sửa đối tượng (Segmenting function.)Chức năng chia nhỏ để chỉnh sửa đối tượng (Segmenting function.)Chức năng chia nhỏ để chỉnh sửa đối tượng (Segmenting function.) 6
6 Chức năng tạo hàm nhập của người dùng (User input Function)Chức năng tạo hàm nhập của người dùng (User input Function)Chức năng tạo hàm nhập của người dùng (User input Function)
Chúng ta sẽ xem xét một số chức năng này kỹ hơn trong các mục kế tiếp ở chương này Trong mục này chúng ta chỉ mô tả sơ qua về mỗi chức năng
Chức năng tạo ra các phần tử đồ họa:
Chức năng tạo ra các phần tử đồ họa:
Một phần tử trong đồ họa máy tính là một đối tượng hình ảnh cơ sở như điểm, đường thẳng, đường tròn, Tập hợp những phần tử này trong hệ thống cũng có thể bao gồm cả chữ viết và ký hiệu đặc biệt
Nhiều khi một thành phần chuyên dụng trong phần cứng của hệ thống đồ họa đã được liên kết với việc cho hiển thị nhiều phần tử Việc này làm tăng tốc độ tạo phần tử Người dùng có thể xây dựng model ứng dụng bằng cách gom các phần tử có trên hệ thống
Tên gọi “primitives” thường được dùng để gọi các phần tử đồ họa nguyên thuỷ Chúng ta sẽ dùng lại tên gọi này khi xây dựng kết cấu 3D Thuộc “primitive” có hình cầu, hình lập phương, hình trụ,
Trong mô hình 3D kiểu khung dây và solid, các phần tử nguyên thủy được dùng để xây dựng các block tạo ra model 3D theo ý người dùng
Trang 4Chức năng biến đổi (Transformation):
Chức năng biến đổi (Transformation):
Dùng để thay đổi hình ảnh trên màn hình và di chuyển đến chỗ khác, phóng to, thu nhỏ, di chuyển (pan), xoay (rotate) Chúng ta sẽ bàn về các phép biển đổi hình ảnh 2D và 3D trong mục 6.5
Chức năng điều khiển màn hình và các chức năng cửa sổ (Display control and windowing functions):
Chức năng này đảm bảo khả năng xem ảnh:
• Từ góc độ mong muốn
• Phóng to theo ý muốn
Khi thực hiện các chức năng đó, người dùng sử dụng cửa sổ trên màn hình, lúc phóng to, lúc thu nhỏ, di chuyển từ chỗ này tới chỗ kia Thực chất là sử dụng chức năng biển đổi để hiển thị model trên màn hình theo ý muốn
Một chức năng nữa trong việc điều khiển màn hình là xóa các đường khuất Trong nhiều hệ thống đồ họa, ảnh của một vật cụ thể được thể hiện bằng những đường thẳng Việc xóa đường khuất là thủ tục mà hình ảnh được chia ra thành đường trông thấy được và không thấy được (tức đường khuất) Trong một số hệ thống CAD yếu kém, người dùng phải chỉ ra đường nào là đường khuất để xóa nó khỏi hình ảnh và làm cho vật thể dễ hiểu hơn Trong những hệ thống CAD hiện đại, thí dụ như PROENGINEER của hãng PTC (Parametric Technology Company), bộ đồ họa đủ thông minh để có thể tự động xóa các đường khuất
Tạo đặc tính ((((Attribute): chọn nét vẽ, màu, độ dày nét vẽ
Chức năng chọn và chỉnh lý các đối tượng (Segmenting function)
Đảm bảo khả năng thay thế, xóa, sửa đổi các đối tượng của bản vẽ Tên gọi
“segment” là có ý nói đến một phần riêng biệt của hình ảnh được nhận ra và sửa đổi
Segment có thể xác định một phần tử hoặc một nhóm logic các phân tử Màn hình CRT kiểu lưu ảnh ( storage type CRT) không thích hợp cho chức năng segmentation Để xóa hay chỉnh lý một phần ảnh trên CRT kiểu lưu ảnh phải xóa cả hình ảnh và vẽ lại với những thay đổi đã thực hiện Màn hình kiểu quét mành (raster scan) là lý tưởng cho chức năng segmentation vì màn hình luôn được tự động vẽ lại khoảng ≥ 30 lần trong một giây
Chức năng nha
Chức năng nhập của người dùng äp của người dùng (USER INPUT FUNCTION - UIF)
Chức năng nhập của người dùng gồm một tập các chức năng đặc thù (critical) trong hệ thống đồ họa vì nó cho phép người dùng nhập lệnh hoặc dữ liệu vào trong hệ thống Chức năng này phải được viết để bổ sung riêng cho các thiết bị nhập dùng trong hệ thống, sao cho người dùng cảm thấy tiện dụng nhất
UIF phải được viết để tăng năng suất, hiệu qủa của người thiết kế, đảm bảo đủ chức năng cho sử dụng nhưng không qúa nhiều để người dùng choáng ngợp, không nhớ nổi
Một trong những mục tiêu mà người thiết kế phần mềm cần theo đuổi là sao cho ngay cả những người không có một chút kinh nghiệm về lập trình cũng có thể sử dụng hệ thống CAD một cách dễ dàng
Trang 5CAD/CAM 64
6.4 XÂY DỰNG HÌNH HỌC
6.4 XÂY DỰNG HÌNH HỌC
6.4.1 Sử dụng các phần tử hình học
6.4.1 Sử dụng các phần tử hình học
Hệ thống đồ họa xây dựng model từ các phần tử đồ họa Các phần tử này được gọi
ra bởi người dùng trong quá trình xây dựng và lần lượt thêm vào từng cái một để tạo nên model Có nhiều khía cạnh của việc xây dựng mô hình mà chúng ta sẽ bàn đến 1/ Trước khi mỗi phần tử được gọi ra và thêm vào model người dùng phải xác định kích thước, vị trí và định hướng nó Để tạo ra model có hình dạng và tỉ lệ cần thiết, cần phải thực hiện những phép biến đổi khác nhau
2/ Phần tử đồ họa có thể được trừ đi cũng như cộng lại, nói cách khác model có thể tạo ra từ phần tử âm cũng như phần tử dương Hình 6.2 minh họa việc xây dựng phần tử
C từ 2 phân tử A và B Phần tử C được tạo ra bằng cách lấy phần tử A trừ đi phần tử B 3/ Yếu tố thứ 3 khi xây dựng mô hình là khả năng nhóm các phần tử thành các bộ mà đôi khi gọi là tế bào (cell hay block) Một tế bào, theo ý nghĩa này, là sự phối hợp các phần tử có thể được gọi ra để dùng bất cứ đâu trong model
Thí dụ: Nếu một bulong được dùng nhiều nơi trong một model lắp ráp cơ khí thì bulong cần được tạo thành một tế bào và đặt vào bất cứ chỗ nào trong model
Việc dùng tế bào đồ họa (block) là một trong những điểm mạnh của việc xây dựng model
Xác định các p
Xác định các phần tử đồ họahần tử đồ họahần tử đồ họa
Người dùng có nhiều cách để gọi ra một phần tử cụ thể và đặt vào model Bảng 6.1 liệt kê một số phương pháp xác định điểm, đường cong, đường tròn và các phần tử hình học khác nhau qua việc tương tác với hệ thống ICG Các phần tử này được lưu trong cơ sở dữ liệu ở dạng toán học và được hệ thống tọa độ 3 chiều gọi tới Thí dụ một điểm có thể được xác định bằng tọa độ X, Y, Z Một Polygon (đa giác) có thể được xác định
A-B=C
Hình 6.2 Thí dụ xây dựng mô hình 2D bằng cách lầy phần tử A trừ đi phần tử B để được phần tử C
Trang 6bằng 1 tập điểm ở các góc Một đường tròn được xác định bởi tâm và bán kính Bằng toán học 1 đường tròn có thể được xác định trong mặt phẳng XY bởi phương trình:
Điều này có nghĩa là đường tròn có bán kính r và tọa độ tâm x = m và y = n Trong mỗi trường hợp, định nghĩa toán học có thể được biến thành các cạnh và mặt tương ứng để tạo nên hồ sơ cơ sở dữ liệu và hiển thị trên màn hình CRT
Bảng 6.1 Các phương pháp xác định các phần tử trong đồ họa máy tính tương tác
Các phương pháp xác định điểm:
Các phương pháp xác định điểm:
1 Dùng chuột chỉ một điểm bất kỳ trên màn hình
2 Nhập tọa độ tuyệt đối
3 Nhập vào offset ( khoảng cách X, Y, Z) từ một điểm cho trước (tọa độ tương đối
4 Giao điểm
5 Các điểm nằm dọc theo phần tử cho trước và cách nhau một đoạn cố định (điểm chia)
…
Các phương pháp xác định đường (line)Các phương pháp xác định đường (line)Các phương pháp xác định đường (line)
1 Sử dụng 2 điểm được xác định từ trước
2 Sử dụng một điểm, chiều dài và một góc so với phương nằm ngang
3 Sử dụng một điểm và cho đường thẳng song song hoặc vuông góc với một đường cho trước
4 Tiếp xúc với hai đường cong
5 Vừa tiếp xúc mà // hoặc ⊥ với một đường cho trước
…
Các phương pháp xác định cung tròn và đường tròn: (Arc và circles)
1 Chỉ định tâm và bán kính của đường tròn
2 Chỉ định tâm và1 điểm trên đường tròn
3 Chỉ định 3 điểm
4 Tiếp xúc 3 đường thẳng
5 Chỉ định bán kính và tiếp tuyến với hai đường cho trước
…
Các phương pháp xác định đường ellipse (conics)
Các phương pháp xác định đường ellipse (conics)
Đường conics bao gồm các đường ellipses, parabolas và hyperbolas, có thể được xác định trong một mặt phẳng bởi một trong các phương pháp sau
1 Chỉ định từ 1 điểm tâm và bán kính hai trục
2 Chỉ định từ 3 điểm và 1 điều kiện tiếp tuyến
Các phương pháp xác định các đường cong
Các phương pháp xác định các đường cong
Trang 7CAD/CAM 66
Các đường splines được dùng để tạo nên đường cong qua các điểm dữ liệu cho trước Thí dụ, trong đường spline bậc 3, đường polynomial bậc ba nằm giữa mỗi cặp điểm kế nhau Các kỹ thuật khác tạo đường cong trong đồ họa máy tính bao gồm các phương pháp tạo đường cong Bezier và B – spline Cả 2 phương pháp đều dùng thủ tục blending để tạo nên hiệu qủa cong đều đặn qua các điểm dữ liệu Đường cong thu được không đi qua tất cả các điểm Trong các trường hợp này các dữ liệu điểm phải được nhập vào hệ thống đồ họa và kỹ thuật tạo đường cong phải được chỉ định để xác định đường cong
Các phương pháp xác định mặt
Các phương pháp được mô tả ở trên để tạo nên các đường sinh cũng được dùng để tạo nên các bề mặt Các nhà chế tạo ô tô dùng kỹ thuật này để thể hiện các mặt lập thể của vỏ xe hơi làm từ thép tấm Một số các phương pháp tạo bề mặt bao gồm:
1 Phương pháp tạo mặt tròn xoay: được tạo nên bằng cách quay bất cứ một cạnh hay một đường nào xung quanh một trục cụ thể
2 Phương pháp tạo mặt kẻ (ruled surfaces):Phương pháp tạo mặt kẻ (ruled surfaces): Nối hai đường cho trước bằng những đường thẳng
3 Phương pháp tạo mặt quét (swept surfaces): Cho một đường mặt cắt quét theo một quỹ đạo cho trước
4 Phương pháp tạo mặt cắt: tạo nên mặt cắt ngang của chi tiết bằng cách cắt lát tại một điểm bất kỳ bởi một mặt phẳng theo một phương cho trước
Các phương pháp chỉnh lý hình học (geometry editing):
Các phương pháp chỉnh lý hình học (geometry editing):
Hệ thống CAD đảm bảo những khả năng sửa đổi và hiệu chỉnh mô hình hình học Khi xây dựng mô hình, người dùng phải có khả năng xóa, di chuyển, sao chép và xoay các phần tử của mô hình Chúng ta đã bàn đến một số những chức năng này trong mục 6.3 khi nói về hệ thống đồ họa Thủ tục chỉnh lý gồm chọn các phần tử của mô hình và thực hiện lệnh hiệu chỉnh cần thiết
Mỗi hệ thống CAD có phương pháp riêng để chọn phần tử của mô hình Thông thường người ta dùng chuột tạo ra một hình chữ nhật (cửa sổ) bao lấy phần tử cần chọn trên màn hình CRT Một phương pháp khác khi dùng bút quang là đặt bút lên phân tử cần chọn Với bảng và bút điện tử thì phương pháp có thể là vạch một đường qua các phân tử cần chọn của mô hình
Hệ thống đồ họa phải chỉ ra cho người dùng thấy phần nào của mô hình được chọn Làm vậy là để máy tính kiểm tra phần được chọn có đúng ý người dùng không Những hệ thống ICG khác nhau dùng những kỹ thuật khác nhau để phân biệt phân tử được chọn Những phương pháp này có thể là đặt dấu lên phần tử, làm cho phân tử nỗi bật hơn, làm cho phân tử nhấp nháy,
Một số khả năng chỉnh lý thông dụng trong các hệ thống CAD thương mại được cho trong bẳng 6.2
Bảng 6.2 Một số đặc điểm chỉnh lý thông dụng trong máy tính CAD
Trang 8
1 Move: Di chuyển phân tử đến chỗ khác: đưa phân tử từ chỗ này đến chỗ kia
2 Copy: Sao chép phân tử đến chỗ khác
3 Rotate: Xoay phân tử đi một góc
4 Mirror: Lấy đối xứng
5 Delete: Xóa hẳn khỏi màn hình và cơ sở dữ liệu
6 Remove: Xóa tạm thời (không xóa khỏi cơ sở dữ liệu)
7 Trim: Cắt xén các đoạn thừa
8 Block: Xây dựng tế bào từ các phân tử được chọn Tế bào sau đó được cộng vào mô hình ở bất cứ nơi nào cần
9 Scale: Phần tử được chọn có thể được chỉ định hệ số khuyếch đại theo phương X, Y, Z Có thể khuyếch đại theo 1, 2 hoặc cả 3 phương
6.5 CÁC PHÉP BIẾN ĐỔI HÌNH HỌC 2D VÀ 3D
6.5 CÁC PHÉP BIẾN ĐỔI HÌNH HỌC 2D VÀ 3D
(TRANSFORMATIONS)
Nhiều đặc điểm chỉnh lý là biến đổi đối tượng đồ họa hoặc tế bào hoặc cả mô hình Trong mục này chúng ta sẽ bàn về phương diện toán học của những phép biến đổi này Để minh họa, trước tiên ta chọn việc biến đổi trong không gian 2 chiều (2D) Sau đó chúng ta sẽ nói đến 3 chiều (3D)
6.5.1 Biến đổi hình học trong không gian 2 chiều (2D):
6.5.1 Biến đổi hình học trong không gian 2 chiều (2D):
Để định vị một điểm trong hệ tọa độ 2 trục, phải chỉ ra tọa độ X, Y Những tọa độ này có thể coi như một ma trận 1 x 2 : (x,y)
Thí dụ: Ma trận (2,5) là một điểm có tọa độ x = 2 và y = 5 tính từ gốc toạ độ Phương pháp này có thể phát triển cho việc xác định đường như là ma trận 2x2 bằng cách cho toạ độ 2 điểm của đường thẳng Công thức có dạng:
(6.2)
Bằng cách dùng các quy tắc ma trận, một điểm hay một đường (hoặc phần tử hình học khác viết dưới dạng ma trận) có thể được biến đổi để tạo ra một phần tử mới Có nhiều phép biến đổi được dùng trong đồ họa máy tính Chúng ta sẽ bàn về 3 phép biến đổi: di chuyển, khuyếch đại và xoay
Di chuyển: Là đưa phần tử hình học từ chỗ này tới chỗ kia Trong trường hợp 1 điểm, phương trình được viết như sau:
Trong đó x’, y’ là tọa độ của điểm di chuyển tới
x,y là tọa độ ban đầu của điểm di chuyển đi,
m,n - lượng di chuyển tương ứng theo phương x,y
Viết dưới dạng ma trận:
Ký hiệu T là do chữ Transformation
1 1
y x
y x L
Trang 9CAD/CAM 68
Bất cứ một phần tử hình học nào cũng có thể được di chuyển trong không gian bằng cách áp dụng công thức trên cho mỗi điểm thuộc phần tử đó Đối với một đường thẳng,
ma trận biến đổi sẽ được áp dụng cho 2 điểm đầu và cuối
Scaling: lấy tỉ lệ
Dùng để tăng hoặc giảm kích thước của đối tượng hình học Không nhất thiết phải có tỉ lệ khuyếch đại như nhau theo cả 2 phương x,y Thí dụ một đường tròn có thể biến đổi thành ellipse bằng cách lấy tỉ lệ khuyếch đại theo phương x và y khác nhau
Các điểm của một phân tử có thể được lấy tỉ lệ khuyếch đại bằng ma trận tỉ lệ như sau:
Giả sử ta cần di chuyển L đi 2 đơn vị theo x và 3 đơn vị theo y
Việc này có nghĩa là ta phải cộng thêm 2 vào các giá trị x hiện tại và 3 vào gía trị y hiện tại của các điểm đầu và cuối của đường thẳng Nghĩa là đường thẳng mới có các điểm cuối là (3,4) và (4,7) Hiệu qủa của phép di chuyển minh họa trên hình 6.3
00
θθ
cossin
sincos
11
L
Trang 10Hình 6.3 Kết qủa di chuyển trong thí dụ 6.1
02
T
Phương trình khuyếch đại được viết
Kết qủa của đường thẳng mới được vẽ trên hình 6.4
2220
02.42
11
trong thí dụ 6.2
Hình 6.5 Kết qủa xoay trong thí dụ 6.3
Trang 1130sin30
366,1366,0866,05,0
5,0866,
Kết qủa xoay đường thẳng được vẽ trên hình 6.5
Biến đổi trong không gian 3 chiều (3D)
Biến đổi trong không gian 3 chiều (3D)
Biến đổi nhờ phương pháp ma trận có thể phát triển cho không gian 3D Chúng ta hãy xem cũng với 3 phép biến đổi như trên, xét trong không gian 3D thì sẽ như thế nào
Di
Di chuyểnchuyển: Ma trận dịch chuyển cho một điểm trong không gian 3D là:
Các tọa độ điểm của đối tượng sẽ phải cộng thêm
m đơn vị theo phương X
n đơn vị theo phương Y
p đơn vị theo phương Z
để tạo nên phần tử mới trong không gian 3D
Scaling (nhân tỉ lệ)
Scaling (nhân tỉ lệ)
Nhân tỉ lệ được cho bởi ma trận tỉ lệ
Rotation –––– xoay: xoay:
Xoay trong không gian 3D có thể được thực hiện đối với mỗi trục tọa đô
Xoay quanh trục Z một góc θ được thực hiện bởi ma trận
m S
00
00
00
0cossin
0sincos
θθ
θθ
z R
Trang 12Xoay quanh trục Y một góc θ được thực hiện bởi ma trận
θθ
cossin
0
sincos
0
00
1
x
Biến đổi phức hợp:
Biến đổi phức hợp:
Những biến đổi đơn có thể được phối hợp với nhau tạo thành một chuỗi các biến đổi Trong qui trình thiết kế, việc biến đổi phức hợp thường xảy ra Thí dụ xoay vật quanh 1 điểm rồi khuyếch đại, hay di chuyển trong không gian Việc biến đổi phức hợp phải thực hiện thứ tự chứ không đồng thời để máy tính có thể dễ dàng giải bài toán biến đổi
6.6 CẤU TRÚC DỮ LIỆU VÀ NỘI DUNG
6.6 CẤU TRÚC DỮ LIỆU VÀ NỘI DUNG
Cơ sở dữ liệu CAD là một trong 3 modul quan trọng của phần mềm CAD Hầu như toàn bộ chức năng của hệ thống CAD phụ thuộc vào cơ sở dữ liệu Nó bao gồm:
• Model ứng dụng (Application models)
• Vật thiết kế (Designs)
• Bản vẽ (Drawings)
• Bản lắp ráp (Assemblies)
• Thông tin dạng chữ như danh sách vật liệu và văn bản (Alphanumerical information as Bill of Materials and text)
Cơ sở dữ liệu cũng chứa phần mềm đồ họa tương tác như
• Các lệnh hệ thống (System commands)
• Thực đơn chức năng (Function menus)
• Các chương trình con dùng cho máy vẽ (Plotter output routines)
Cơ sở dữ liệu chứa trong bộ nhớ chính và phụ Chúng ta sẽ xem xét nội dung của data base và cách tổ chức nó
Nôi dung của data base bao gồm
1 Các phần tử hình học cơ sở (Basic graphics elements - points and other elements)
2 Hình dạng các phần tử của model và sự bố trí trong không gian (Geometry)
3 Sự liên kết của các phần tử tạo nên model
θθ
cos0sin
010
sin0cos
y R
Trang 13CAD/CAM 72
4 Dữ liệu chuyên biệt của ứng dụng như tính chất vật liệu
5 Các chương trình phân tích chuyên biệt của ứng dụng, thí dụ chương trình phân tích phần tữ hữu hạn
Việc hình thành mô hình được xây dựng từ thấp đến cao Cấu trúc của model bao gồm cả dữ liệu và cách thức lie
gồm cả dữ liệu và cách thức liên kết, mô tả và phân tích model ân kết, mô tả và phân tích model ân kết, mô tả và phân tích model
Có nhiều phương pháp tạo cấu trúc dữ liệu khác nhau tuỳ theo kiểu model ứngdụng như cơ khí, điện,… và sự ưa chuộng của người thiết kế Model có thể là hoàn chỉnh hoặc sơ bộ Môdel hoàn choàn chỉnhhỉnh thì có kích thước file lớn nhưng thời gian tính toán nhanh Model sơ bộ cho kích thước file nhỏ nhưng thời gian tính toán lại lâu Thí dụ một kiểu cấu trúc dữ liệu đơn giản chỉ chứa thông tin về tọa độ của các phần tử hình học cùng với những thông tin cần thiết cho việc xác định toàn bộ mô hình hoặc để dùng cho các chương trình ứng dụng nhất định như phân tích kỹ thuật hoặc lập trình NC để gia công Kiểu dữ liệu này có những nhược điểm nhất định Thí dụ, ta hãy xem việc xác định một cylindre Việc xách định bao gồm đường sinh song song với trục của hình trụ và góc xoay của đường sinh quanh trục để tạo nên mặt trụ Dữ liệu được ghi sẽ bao gồm tọa độ của đường sinh và của đường tâm trục Máy tính có thể tạo ra ảnh của hình trụ trên màn hình, nhưng nó lại không có tất cả các dữ liệu của hình trụ đặc trong bản ghi Vì vậy máy tính khó có thể xác định đó là một vật thể đặc Đặc tính đặc của vật thể là rất quan trọng trong việc phân tích để kiểm tra sự giao nhau của các phần tử khi lắp ráp với các phần tử đặc khác
Cấu trúc dữ liệu kiểu graph
Cấu trúc dữ liệu kiểu graph based modelbased model thì lại khác hẵn Thí dụ mô hình graph của một tứ diện vẽ trên hình 6.6 bao gồm một loạt các điểm và đường xác định quan hệ giữa các đỉnh, cạnh và mặt của phần tử hình học
Chỉ có các đỉnh là chứa dữ liệu không gian trong bản ghi Thế nhưng mối liên kết cạnh với đỉnh, mặt với cạnh, và vật thể đặc với các mặt cũng được ghi lại Rõ ràng đây là cách xác định vật thể đặc một cách đầy đủ nhất
Có ba kiểu cơ sở dữ liệu cho việc mô hình hóa theo cách tương tác: quan hệ, nhánh cây và mạng
Cơ sở dữ liệu kiểu quan hệquan hệ: dữ liệu được lưu thành bảng gọi là bảng quan hệ, trong đó lưu quan hệ giữa các đối tượng hình học với nhau Thí dụ trên hình 6.7 vật thể được mô tả banèg ba mối quan hệ: ĐỈNH, ĐƯỜNG VÀ MẶT Một trong những nhược điểm quan trọng của cơ sơ dữ liệu kiểu quan hệ là đòi hỏi phải phân loại mà kết quả là làm cho hoạt động của máy tính chậm lại trong việc đáp ứng lệnh của người dùng
Cấu trúc dữ liệu kiểu cây: Các đối tượng hình học có quan hệ với nhau theo liểu nhánh cây Cấu trúc này có thể là kiểu cây chùm (nhiều nhánh từ một gốc) hoặc kiểu nhị phân (hai nhánh từ một gốc)
Trang 14CAD/CAM 73
(a)
(b) Hình 6.6 Graph-based model (b) cho tứ diện (a)
Cấu trúc dữ liệu kiểu mạng cho phép biểu diễn quan hệ giữa các đối tượng một cách tùy ý Mỗi đối tượng là một bản ghi, có thể có quan hệ với một hay vài bản ghi khác theo kiểu mạng Thí dụ, trên hình 6.6, quan hệ giữa mặt và cạnh cũng như giữa cạnh và các đỉnh, mang cấu trúc mạng, giữa khối tứ diện và các mặt mang cấu trúc cây Các dữ liệu đồ họa có thể được lưu dưới dạng tuần tự hoặc ngẫu nhiên Nhược điểm của kiểu lưu dưới dạng tuần tự là truy xuất chậm vì phải trải qua nhiều giai đoạn Dữ liệu được lưu dưới dạng ngẫu nhiên cho phép truy xuất nhanh Những hệ thống CAD/CAM hiện nay đều có dùng cả hai phương pháp lưu dữ liệu là tuần tự và ngẫu nhiên, cho phép hệ thống chọn phương pháp tốt nhất
Các phép toán của đại số Boole có thể dùng khi xây dựng mô hình Các phép toán này là phép Union-Hội, Substract-Khử và Intersection-Giao Hình 6.7 minh họa qúa trình tạo mô hình nhờ các phép toán Boole Mô hình khối đặc của chi tiết (a) trên hình vẽ được tạo ra nhờ phép toán GIAO của phần tử trụ C với phép HỘI của hình chữ nhật A và hình tam giác B
Trang 15Viết một cách ngắn gọn, chi tiết ở hình 6.7 (a) bằng:
Phần (b) trên hình cho thấy ba phần tử A, B, C trong hình chiếu mặt cắt Hình 6.8 là một mô hình hình học phức tạp hơn được tạo ra một cách tương tự nhờ phép tóan Boole
6.7 CÁC CÔNG CỤ MÔ HÌNH HOÁ (MODELING)
6.7.1 Mô hình hóa trong không gian 2D
6.7.1 Mô hình hóa trong không gian 2D
Trong không gian hai chiều (2D) một vật thể bất kỳ có thể được biểu diễn bằng điểm, đường thẳng, đường cong thông qua các hình chiếu, mặt cắt,… Việc thực hiện các bản vẽ trong không gian 2D rất là đơn giản Với 2D phần lớn các bản vẽ thiết kế chi tiết máy và sơ đồ điện trong công nghiệp đã được tạo ra bằng tay Nhờ có máy tính và ứng dụng các phần mềm đồ họa, các bản vẽ 2D được hình thành với tốc độ nhanh hơn, chính xác hơn, rõ ràng hơn, và đặc biệt là dễ chỉnh lý, sửa chữa hơn Tuy nhiên, so với vẽ trong không gian 3D, nó có một số nhược điểm sau:
• Không thể tự tạo ra các hình chiếu phụ thông qua hình chiếu có trên màn hình
(A B)
Trang 16• Các hình ảnh như hình chiếu trụ đo, hình chiếu thẳng chỉ là giả tạo và khi vẽ thì không có liên hệ gì với nhau cả
Phần mềm vẽ 2D đơn giản hơn 3D nhiều, nhưng chúng được sử dụng rất rộng rãi, vì giá thành rất rẻ Đôi khi để thể hiện khoảng cách giữa vẽ với tính toán phân tích, người
ta đưa ra khái niệm”hệ thống vẽ và thiết kế tự động” Tuy nhiên khi nói đến thiết kế tức là có việc vẽ Do đó chúng ta thống nhất tên gọi là “thiết kế tự động”
Để xây dựng mô hình 2D người thiết kế dùng các công dụ vẽ (draw), chỉnh lý (modify) và tuỳ biến màn hình
Các công cụ vẽ: gồm việc sử dụng các lệnh và hàm để tạo nên các phần tử đơn giản như đường (LINE), đường tròn (CIRCLE), cung tròn (ARC), ellipse, spline, point Việc vẽ có thể được thực hiện theo hai cách:
• Vẽ phác - vẽ trước khi cho kích thước
• Vẽ chính xác - khi vẽ phải chỉ ra tọa độ của đối tượng cần vẽ
Vẽ phác là một công cụ vẽ nhanh chóng vì không yêu cầu độ chính xác cao Thí dụ vẽ một đường thẳng được thực hiện như sau
a)Vẽ phác:
a)Vẽ phác:
1 Dùng lệnh Line
2 Pick hai điểm điểm bất kỳ
3 Cho kích thước
b) Vẽ chính xác:
b) Vẽ chính xác:
Nhập số chỉ tọa độ của hai điểm tạo nên đường thẳng
1 Điểm đầu: X1 , Y1
2 Điểm sau: X2 , Ỳ 2
Việc vẽ chính xác ngay từ đầu có ưu điểm là có thể cho bản vẽ đúng, nhưng tốc độ chậm hơn so với vẽ phác
Các công cụ chỉnh lý hình vẽ (Modify)
Các công cụ chỉnh lý hình vẽ (Modify)
Để chỉnh lý hình ảnh, có nhiều công cụ Các công cụ thông dụng là: Erase, Offset, Copy, Move, Mirror, Array, Lengthen, Break, Chamfer, Fillet, Trim, Extend, Rotate Công cụ tu
Công cụ tuỳ biến màn hình ỳ biến màn hình: gồm các công cụ Zoom, Pan,
Thí dụ trong AutoCAD có các công cụ Zoom sau:
Zoom[All/Center/Dynamic/Extents/Previous/Scale(X/XP)/Window/<Realtime>:] Với công cụ Zoom, Pan, người dùng có thể phóng to, thu nhỏ hình ảnh theo tỉ lệ mong muốm, di cuyển hình ảnh trên màn hình đến vị trí cần thiết giống như ta đưa tờ giấy vẽ trên mặt bàn khi thực hiện bản vẽ bằng tay
Tạo lớp
Tạo lớp
Để thực hiện nhiều hình vẽ có những chức năng khác nhau trên cùng một không gian vẽ, một công cụ rất hữu ích là tạo lớp
Thí dụ:Lớp 1 Bản vẽ chi tiết không kích thước
Lớp 2 Bản vẽ phôi
Lớp 3 Kích thước
Tuỳ theo nhu cầu của người dùng lớp này hay lớp kia có thể cho hiện trên bản vẽ Thí dụ khi cần in bản vẽ có kích thước thỉ ta cho hiện hai lớp 1 và 3, còn khi cho chi tiết lắp ráp với chi tiết khác ta chi cho xuất hiện lớp 1 thôi