Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
Sau đó ta được hộp thoại:
1
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
2
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
3
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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ô
4
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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ẽ
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.
***POP12
**[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
**image_cua
[Cac loai cua]
[mb-cua1]^C^Cinsert;mb-cua1;1.0;1.0;0.0
[mb-cua2]^C^Cinsert;mb-cua2;1.0;1.0;0.0
[mb-cua3]^C^Cinsert;mb-cua3;1.0;1.0;0.0
[md-cua1]^C^Cinsert;md-cua1;1.0;1.0;0.0
[md-cua2]^C^Cinsert;md-cua2;1.0;1.0;0.0
[md-cua3]^C^Cinsert;md-cua3;1.0;1.0;0.0
[md-cua4]^C^Cinsert;md-cua4;1.0;1.0;0.0
[md-cua5]^C^Cinsert;md-cua5;1.0;1.0;0.0
[md-cua6]^C^Cinsert;md-cua6;1.0;1.0;0.0
5
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
**image_dodung
[Do dung]
[banghemy]^C^Cinsert;banghemy;1.0;1.0;0.0
[banuong]^C^Cinsert;banuong;1.0;1.0;0.0
[banghebt]^C^Cinsert;banghebt;1.0;1.0;0.0
[bepdai]^C^Cinsert;bepdai;1.0;1.0;0.0
[bepga]^C^Cinsert;bepga;1.0;1.0;0.0
[ghesl]^C^Cinsert;ghesl;1.0;1.0;0.0
[giuong11]^C^Cinsert;giuong11;1.0;1.0;0.0
[giuongngu]^C^Cinsert;giuongngu;1.0;1.0;0.0
[pan]^C^Cinsert;pan;1.0;1.0;0.0
[giuongngu]^C^Cinsert;giuongngu;1.0;1.0;0.0
[pkanh]^C^Cinsert;pkanh;1.0;1.0;0.0
[pkhach]^C^Cinsert;pkhach;1.0;1.0;0.0
**image_vs
[Ve sinh]
[mb-vs1]^C^Cinsert;mb-vs1;1.0;1.0;0.0
[mb-vs2]^C^Cinsert;mb-vs2;1.0;1.0;0.0
[md-vs1]^C^Cinsert;md-vs1;1.0;1.0;0.0
[md-vs2]^C^Cinsert;md-vs2;1.0;1.0;0.0
[btam]^C^Cinsert;btam;1.0;1.0;0.0
[brmat]^C^Cinsert;brmat;1.0;1.0;0.0
**image_otxm
[Oto xe may]
[oto1]^C^Cinsert;oto1;1.0;1.0;0.0
[oto2]^C^Cinsert;oto2;1.0;1.0;0.0
[oto]^C^Cinsert;oto;1.0;1.0;0.0
[oto4]^C^Cinsert;oto4;1.0;1.0;0.0
[oto5]^C^Cinsert;oto5;1.0;1.0;0.0
[oto6]^C^Cinsert;oto6;1.0;1.0;0.0
[XEMAYa]^C^Cinsert;XEMAYa;1.0;1.0;0.0
**image_nn
[Nguoi]
[nn1]^C^Cinsert;nn1;1.0;1.0;0.0
[nn2]^C^Cinsert;nn2;1.0;1.0;0.0
[nn3]^C^Cinsert;nn3;1.0;1.0;0.0
[nn4]^C^Cinsert;nn4;1.0;1.0;0.0
[nn5]^C^Cinsert;nn5;1.0;1.0;0.0
**image_ct
[Con tien]
[contien1]^C^Cinsert;contien1;1.0;1.0;0.0
[contien2]^C^Cinsert;contien2;1.0;1.0;0.0
[contien3]^C^Cinsert;contien3;1.0;1.0;0.0
[contien4]^C^Cinsert;contien4;1.0;1.0;0.0
**image_cay
[Cay]
[cay1]^C^Cinsert;cay1;1.0;1.0;0.0
[cay2]^C^Cinsert;cay2;1.0;1.0;0.0
6
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
[cay3]^C^Cinsert;cay3;1.0;1.0;0.0
[cay4]^C^Cinsert;cay4;1.0;1.0;0.0
[cay5]^C^Cinsert;cay5;1.0;1.0;0.0
[cay6]^C^Cinsert;cay6;1.0;1.0;0.0
[cay7]^C^Cinsert;cay7;1.0;1.0;0.0
[cay8]^C^Cinsert;cay8;1.0;1.0;0.0
[cay9]^C^Cinsert;cay9;1.0;1.0;0.0
[cay10]^C^Cinsert;cay10;1.0;1.0;0.0
**image_bacthang
[Bac thang]
[bacthang1]^C^Cinsert;bacthang1;1.0;1.0;0.0
[bacthang2]^C^Cinsert;bacthang2;1.0;1.0;0.0
[bacthang3]^C^Cinsert;bacthang3;1.0;1.0;0.0
[bacthang4]^C^Cinsert;bacthang4;1.0;1.0;0.0
**image_btct
[Dam be tong cot thep]
[matbangcot1]^C^Cinsert;matbangcot1;1.0;1.0;0.0
[matbangcot2]^C^Cinsert;matbangcot2;1.0;1.0;0.0
[matcatdam1]^C^Cinsert;matdamcot1;1.0;1.0;0.0
[matcatdam2]^C^Cinsert;matdamcot2;1.0;1.0;0.0
[matdungcot1]^C^Cinsert;matdungcot1;1.0;1.0;0.0
[matdungcot2]^C^Cinsert;matdungcot2;1.0;1.0;0.0
[matcatbtct]^C^Cinsert;matcatbtct;1.0;1.0;0.0
**image_hoasat
[Hoa sat]
[hoasat1]^C^Cinsert;hoasat1;1.0;1.0;0.0
[hoasat2]^C^Cinsert;hoasat2;1.0;1.0;0.0
[hoasat3]^C^Cinsert;hoasat3;1.0;1.0;0.0
[hoasat4]^C^Cinsert;hoasat4;1.0;1.0;0.0
**image_MCcot
[Mat cat cot]
[cottron]^C^Cinsert;Cottron;1.0;1.0;0.0
[Cotcn]^C^Cinsert;Cotcn;1.0;1.0;0.0
**image_Seno
[Se No]
[Seno]^C^Cinsert;Seno;1.0;1.0;0.0
**image_Bancong
[Ban Cong]
[Bancong]^C^Cinsert;Bancong;1.0;1.0;0.0
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.
7
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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.
8
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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:
9
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
10
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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.
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 :
11
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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.
12
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
13
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
Chọn run để vào được menu chính :
Đây chính là giao diện menu chính:
14
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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ẽ :
15
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
Để 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.
16
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
17
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
18
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
Đâ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 '" & linetypeName
End If
Dim returnObj As AcadObject
Dim basePnt As Variant
Dim sPnt As Variant
Dim ePnt As Variant
Dim eePnt(0 To 2) As Double
Dim ssPnt(0 To 2) As Double
Dim lineObj As AcadLine
19
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
sPnt = ThisDrawing.Utility.GetPoint(, "Select first object")
ssPnt(0) = sPnt(0): ssPnt(1) = sPnt(1): ssPnt(2) = sPnt(2)
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)
lineObj.LinetypeScale = scaleLine
End Sub
Sub openform()
Linetpe.Show
End Sub
Đ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.Value
Else
If hi.Value = True Then
LineType.Linetp "HIDDEN", lscl.Value
Else
If cont.Value = True Then
LineType.Linetp "continuous", lscl.Value
Else
If Border.Value = True Then
LineType.Linetp "Border", lscl.Value
Else
If Dashed.Value = True Then
LineType.Linetp "Dashed", lscl.Value
Else
If Divide.Value = True Then
LineType.Linetp "Divide", lscl.Value
Else
If Dot.Value = True Then
LineType.Linetp "Dot", lscl.Value
End If
If Tracks.Value = True Then
LineType.Linetp "Tracks", lscl.Value
End If
End If
End If
End If
End If
End If
End If
Linetpe.Show
20