TẠO DỰNG CÁC KHỐI BLOCK.doc.DOC

25 564 0
TẠO DỰNG CÁC KHỐI BLOCK.doc.DOC

Đ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

TẠO DỰNG CÁC KHỐI BLOCK

Trang 1

I TẠO DỰNG CÁC KHỐI BLOCK

Trong quá trình vẽ một bản vẽ kỹ thuật hay vẽ nhiêu bản vẽ thì sẽ có nhiều hình vẽ giống nhau Trong quá trình vẽ người vẽ có thể dùng các kỹ thuật sao chép như Copy/Paste, Array, Mirror… để không phải vẽ lại nhiều lần, nhưng cách đó thường mất nhiều thời gian và có thể gây sai sót, nhầm lẫn

Để khắc phục được vấn đề này, trong AutoCAD đưa ra khái niệm Block (nhóm các đối tượng liên kết thành một đối tượng) Việc Insert các Block cho phép rút ngắn đáng kể thời gian, tăng cao hiệu quả và độ chính xác khi vẽ.

Để tạo một block : đầu tiên ta vẽ block cần tạo bằng các lệnh thông thường sau đó vào Draw – block – make

Trang 2

từ hộp thoại đặt tên cho block, chọn diểm chèn và đối tượng làm block Ta được các block sau:

a.Mặt cắt dầm:

b Tạo block về mặt cắt cột BTCT

Ta tạo hai loại cột : Cột tròn và cột chữ nhật Có dạng

Trang 3

Và mặt cắt cột chữ nhật có dạng

Để đảm bảo phục vụ cho nhiều chi tiết nên không ghi kích thước trong mặt cắt

Block về con tiện

Trang 4

d Block về hoa sắt ban công

e Block về cấu tạo và kiến trúc của mặt cắt ngang ban công

f Block về kết cấu sênô

3 Từ các block in ra bản vẽ các block ứng với từng tỷ lệ trong không gian giấy vẽ

Trang 5

Từ các block trên ghi ra file dang *.dwg Để tổ chức in ra các block ta chuyển sang không gian giấy vẽ dùng khung nhìn động Floadting viewport để định dạng lại các đối tượng sau đó tiến hành in bản vẽ

4 Tổ chức các block thành một thư viện và viết mênu sử dụng

Từ các block đã có ta tiến hành các thao tác tạo lập thư viện block như sau Dùng lệnh Zoom ext để tràn hết màn hình

Dùng lệnh mslide để chụp các đối tượng là block lưu file lại dạng *.sld

Đưa các file *.dwg và *.sld vào thư mục surport của autocad và tiến hành viết mênu sử dụng lưu file dưới dạng *.mnu Ở đây ta sử dụng file acad.mnu của autocad làm file Thu_vien_block cơ bản, sau đó ta thêm phần tạo menu “ Thuvienblock” và các mêenu con tương ứng vào Dưới đây là phần chương trinh ta chèn thêm vào:

Phần tạo menu “ thuvienblock” với các menu images tương ứng.

**[Thu vien block][Cua]$I=image_cua $I=*

[Do dung]$I=image_dodung $I=*[Ve sinh]$I=image_vs $I=*[Oto,xe may]$I=image_otxm $I=*[Nguoi]$I=image_nn $I=*

[Con tien]$I=image_ct $I=*[Cay]$I=image_cay $I=*

[Bac thang]$I=image_bacthang $I=*[Mat cat dam BTCT]$I=image_btct $I=*[Hoa sat]$I=image_hoasat $I=*

[Mat Cat Cot]$I=image_MCcot $I=*[Ban Cong]$I=image_Bancong $I=*[Se No]$I=image_Seno $I=*

Chương trình tạo các menu images :(chèn vào phần “ ***images” của file nguồn

Trang 7

Sau đó vào chương trình AutoCAD, tại Menu Tools  Customize  Menus… Hộp thoại sau sẽ xuất hiện, tại đây ta load vào file Block.mnu vừa tạo.

Trang 8

Hộp thoại menu bar cho ta biết các thanh menu có trong thanh menu

Do ta tận dụng file acad.mnu nên ta có đầy đủ các menu bar của cad ngoai ra ta còn tạo thêm cho mình một menu bar mới đó là menu “ Thuvienblock” với menu này giúp ta rất tiên lợi cho việc chèn block.

Trang 9

Sau khi load se cho ta hộp thoại:

Nếu chọn yes ta sẽ có thanh menu mới còn no thì ta vẫn ở thanh menu cũ.

Menu mới có dạng:

Trang 10

Các Menu con thành phần như sau:

PHẦN II: LẬP TRÌNH TRONG AUTOCAD

Tuỳ biến bản vẽ giúp người hoạ viên tăng hiệu quả, hiệu suất và tốc độ khi vẽ trong môi trường AutoCAD Nhưng như vậy vẫn chưa đủ, một hoạ viên chuyên nghiệp cần nắm rõ cả các ngôn ngữ lập trình được hỗ trợ trong AutoCAD để có thể rút ngắn các thao tác làm việc, nhất là khi công việc đòi hỏi một khối lượng vẽ lớn Thay vì phải vẽ từng tý một, người hoạ viên chỉ cần gõ lệnh là có thể hoàn thành bản vẽ một cách chính xác, nhanh chóng.

Trang 11

Một trong những ngôn ngữ lập trình thông dụng được hỗ trợ trong AutoCAD đó là ngôn ngữ VBA, với cấu trúc, cú pháp, câu lệnh dễ hiểu, ngôn ngữ VBA thực sự mạnh và phù hợp cho những hoạ viên mới bắ đầu làm quen với việc lập trình trong môi trường AutoCAD

Trong khuôn khổ bài làm em chỉ xin giới thiệu về phương thức sử dụng ngôn ngữ VBA trong một số các thao tác đối với Layer.

Để sử dụng một chương trình viết bằng VBA ta thao tác như sau:

Tại không gian Model space ta phải Load chương trình đó vào trong AutoCad Có nhiều cách làm

Ta có thể làm như sau :Từ menu polldown \ Tools\ Load Aplication Sau đó ta sẽ được giao diện như sau :

Trang 12

Sau bước này ta vào thư mục có chứa File chương trình , để Load và trong autoCad Chọn file cần thiết sau ddos kích vào Load.

Trang 13

Chọn run để vào được menu chính :

Đây chính là giao diện menu chính:

Trang 14

Tại cửa sổ giao diện này ta có thể kích hoạt để sử dụng cho công việc vẽ được rồi Ở trên là một ví dụ : Ta muốn vẽ đường Hidden tỉ lệ Scale là 20.

Kích hoạt nút “Kich vao day de bat dau” , Sau đó dung chuột để chọn các giá trị điểm đầu cuối ta đã có một đường thằng cần vẽ :

Trang 15

Để tạo và sửa chữa chương trình ta vào mã nguồn bằng phím tắt : Alt + F11 Hoặc Từ menu pollDown / Tools/ Macro /Visual Basic Editor.

Trang 18

Đây là mã nguồn để Load một dạng đường thẳng trong File Acad.lin Các đường này đã được ta tạo sẵn và lưu vào trong File Acad.lin :

Sub Linetp(linetypeName As String, scaleLine As Double)On Error Resume Next

ThisDrawing.Linetypes.Load linetypeName, "acad.lin"

ThisDrawing.ActiveLinetype = ThisDrawing.Linetypes.Item("HIDDEN")If Err.Description = "Duplicate record name" Then

MsgBox "A line type named '" & linetypeNameEnd If

Dim returnObj As AcadObjectDim basePnt As VariantDim sPnt As VariantDim ePnt As Variant

Dim eePnt(0 To 2) As DoubleDim ssPnt(0 To 2) As DoubleDim lineObj As AcadLine

sPnt = ThisDrawing.Utility.GetPoint(, "Select first object")ssPnt(0) = sPnt(0): ssPnt(1) = sPnt(1): ssPnt(2) = sPnt(2)

Trang 19

ePnt = ThisDrawing.Utility.GetPoint(, "Select second object")eePnt(0) = ePnt(0): eePnt(1) = ePnt(1): eePnt(2) = ePnt(2)Set lineObj = ThisDrawing.ModelSpace.AddLine(ssPnt, eePnt)

Đoạn chương trình này được gắn vào một From để ta dễ dàng sử dụng Dưới đây là mã nguồn để tạo ra một From.

Private Sub ct_Click()End Sub

Private Sub Drwl_Click()Linetpe.Hide

If ct.Value = True Then

LineType.Linetp "CENTER", lscl.ValueElse

If hi.Value = True Then

LineType.Linetp "HIDDEN", lscl.ValueElse

If cont.Value = True Then

LineType.Linetp "continuous", lscl.ValueElse

If Border.Value = True Then

LineType.Linetp "Border", lscl.ValueElse

If Dashed.Value = True Then

LineType.Linetp "Dashed", lscl.ValueElse

If Divide.Value = True Then

LineType.Linetp "Divide", lscl.ValueElse

If Dot.Value = True Then

LineType.Linetp "Dot", lscl.ValueEnd If

If Tracks.Value = True Then

LineType.Linetp "Tracks", lscl.Value

Trang 20

Các lệnh kích hoạt VBA tại Command line của AutoCAD

VBALOAD

Load một file VBA Project vào trong phiên làm việc hiện tại của AutoCAD

VBARUN

Chạy một đoạn macro của VBA từ hộp thoại Macros dialog hay từ dòng Command line của AutoCAD

VBAUNLOAD

Loại bỏ một file VBA project từ phiên làm việc hiện thời của AutoCAD

Nếu file VBA project đã được sửa đổi mà chưa được lưu thì người dùng sẽ nhận được yêu cầu lưu.

VBAMAN

Trang 21

Hiển thị chương trinh quản lý VBA cho phép người dùng xem, tao, nhập, đóng, gắn vào, trích ra các projects.

Kết luận

Phần trên ta đã tóm tắt sơ lược quá trình tạo và sử dụng một trình ứng dụng viết bằng ngôn ngữ lập trình VBA for AutoCad

Do thời gian nghiên cứu ngắn ,Tầm hiểu biết có hạn cho nên chương trình này còn rất mhiều hạn chế Chưa đủ để đáp ứng nhu cầu đề ra rất mong sự góp ý của thầy giáo để sau này em có những chương trình hay phù hợp để có thể áp dụng vào trong thực tế.

III LẬP TRÌNH TẠO MỘT KHUNG TÊN

Vẽ khung tên bản vẽ

Tạo khung tên bản vẽ bằng lập trình VBA

Sử dụng VBA để vẽ khung tên bản vẽ Tạo một giao diện như sau

Trang 22

Vơi đoạn mã viết trong VBA như sau:

Private Sub CommandButton1_Click()UserForm1.hide

'Viet chu trong ban veDim textObj As AcadMTextDim dc(0 To 2) As DoubleDim i As Integer

Dim mt(0 To 6) As String

mt(6) = "TRUONG " & UCase(CStr(truong)): mt(5) = "LOP: " & CStr(lop): mt(4) = "NGUOI VE: " & CStr(nguoive): mt(3) = "MA SV: " & CStr(masv): mt(2) = CStr(ngayve)

mt(1) = "SO HIEU: " & CStr(sohieu): mt(0) = CStr(ngayht):

Trang 23

Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width, mt(4))

Trang 24

'Ve khung ten

Dim lineObj As AcadLine

Set lineObj = ThisDrawing.ModelSpace.AddLine(d, c)'Ve khung ten

Trang 25

ZoomAllUnload MeEnd Sub

Ta khai báo các hộp textbox là tên các nhãn

Nhập trường , lớp , sinh viên thực hiện, mã sinh viên, ngày vẽ ,ngày hoàn thành, số hiệu bản vẽ sau đó nhấn vào vẽ khung tên ta được như hình vẽ sau

Ngày đăng: 10/09/2012, 09:26

Hình ảnh liên quan

Trong quá trình vẽ một bản vẽ kỹ thuật hay vẽ nhiêu bản vẽ thì sẽ có nhiều hình vẽ giống nhau - TẠO DỰNG CÁC KHỐI BLOCK.doc.DOC

rong.

quá trình vẽ một bản vẽ kỹ thuật hay vẽ nhiêu bản vẽ thì sẽ có nhiều hình vẽ giống nhau Xem tại trang 1 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan