HÒA LẠC HÒA BÌNH-EXPRESSWAY
Chào mừng bạn đến với diễn đàn trang web Hòa Lạc - TP.Hòa Bình Expressway !


 
IndexTrợ giúpTìm kiếmNhómĐăng kýĐăng Nhập
BAN ĐIỀU HÀNH ĐƯỜNG CAO TỐC HÒA LẠC-TP.HÒA BÌNH
  • Music
In card visit nhanh, in card visit rẻ đẹp, in card visit ở Hà Nội
Chuyên photo A4-A0, photocopy giá rẻ
In nhanh poster đẹp tại Hà Nội
Nơi in tờ rơi, tờ gấp màu nhanh nhất tại Hà Nội
Thiết kế name card, độc đáo kết hợp màu sắc ấn tượng
in card công ty xây dựng Trần Đăng Ninh
In màu a4-a3, photo coppy, giá rẻ năm 2014 tại Trung Hòa
in màu a4-a3 laser siêu rẻ, siêu đẹp, đặc biệt giá cả rất hợp lý — Hà Nội
Làm kỷ yếu, in kỷ yếu số lượng ít đẹp và trang nhã, thiết kế chuyên nghiệp chất lượng cao tại Hà Nội
In kỷ yếu giá rẻ nhất Hà Nội
In kẹp file, kẹp tài liệu giá cả cạnh tranh
Đường cao tốc Chongzun
Autorun Virus Remover 3.1.0422 - Ngăn chặn mọi virus autorun từ USB
Microsoft Security Essentials 2.1.1116.0 Final - Trình diệt virus miễn phí từ Microsoft
5 Antivirus miễn phí tốt nhất của năm 2011
[Phần mềm + Hướng dẫn]Tích hợp Hiren's BootCD 14.1 Rebuild và mọi phiên bản vào menu boot vào Ổ Cứng (HDD) và RAM cho Windows 7 !!!
[Phần mềm + Hướng dẫn]Tích hợp Hiren's BootCD 14.1 Rebuild và mọi phiên bản vào menu boot vào Ổ Cứng (HDD) và RAM cho Windows 7 !!!
TuneUp Utilities 2010 9.0.2020.2 Final - Bộ công cụ tối ưu hàng đầu cho PC
Hot! Driver.Genius.Pro v10.0.0.761 Final _Crack No Virus ---Update driver mới nhất -» CHUẨN KO CẦN CHỈNH->NHANH TAY HỐT NÀO :D
Your Uninstaller! 7.4.2011.12 (Updated 08.11.2011) _ Gỡ phần mềm hàng đầu !!!
inmaugtvt
inmaugtvt
inmaugtvt
inmaugtvt
inmaugtvt
inmaugtvt
inmaugtvt
inmaugtvt
inmaugtvt
inmaugtvt
inmaugtvt
thienpht
jeegun
jeegun
jeegun
jeegun
jeegun
jeegun
jeegun
jeegun

Share | 
 

 Hướng dẫn lập trình với AutoCAD bằng VB.NET

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Admin
Admin
Admin
avatar

Tổng số bài gửi : 1754
Điểm : 6794
Ngày tham gia : 22/12/2010
Tuổi : 31
Đến từ : Hà Nội
Level: 31 Kinh nghiệm: 1754%
Sinh mệnh: 1754/100
Pháp lực: 31/100

NGƯỜI ĐIỀU HÀNH
Phù hiệu:

Bài gửiTiêu đề: Hướng dẫn lập trình với AutoCAD bằng VB.NET    Sun Mar 13, 2011 7:40 pm

Hiện tại có nhiều người muốn tìm hiểu về lập trình trên nền tảng .NET với AutoCAD.
Với một số kinh nghiệm tích lũy được về lập trình với AutoCAD, tôi mạn phép viết phần hướng dẫn này.
Hy vọng là sẽ có nhiều điều bổ ích cho mọi người.

Một số ghi chú:
Trong các phần hướng dẫn, chỉ chú trọng đến cách thức giao tiếp với CAD
mà không bàn về việc sử dụng và thao tác các chương trình lập trình.
Có thể sử dụng VB.NET hoặc C#, nhưng các hướng dẫn sau này sẽ viết bằng code VB.NET.

Chương trình tạo ra sẽ chạy độc lập với AutoCAD, không sử dụng tham
chiếu đến thư viện đối tượng của AutoCAD mà sử dụng kỹ thuật liên kết -
muộn.
So với phương pháp chèn thư viện tham chiếu thì nó có ưu điểm riêng và thuận lợi riêng.
- Ưu điểm: giao tiếp với phần lớn các phiên bản của CAD
- Nhược điểm:
Không có sẵn các lớp, hàm và các hằng số AutoCAD, người dùng phải tự định nghĩa, tự ghi nhớ lấy tên.
Một số chức năng không sử dụng tường minh được.

I. Tạo liên kết với AutoCAD
Vì AutoCAD là đối tượng chính nhắm tới và thường xuyên thao tác đến nó,
cho nên cần khai báo một biến đại diện cho chương trình AutoCAD (tương
tự như AcadApplication trong VBA) để dễ dàng thao tác như sau:

'Biến toàn cục chỉ đến chương trình AutoCAD chạy sau cùng nhất,
Public Acad As Object

Để làm việc với biến này, cần tạo ra sự liên kết chương trình AutoCAD đến nó.
Tại thời điểm chạy, các dữ liệu của chương trình AutoCAd sẽ được ép sang
biến Acad, với biến này ta có thể truy xuất đến các thuộc tính và hàm
của nó, phương pháp này gọi là pp liên kết muộn.

Trước hết định nghĩa cách thức liên kết như sau:
Enum acAcadLink As Integer
'Chỉ liên kết đến chương trình AutoCAD đang chạy
Link = 1

'Tạo một phiên chạy mới của chương trình AutoCAD
NewSession = 2

'Liên kết đến chương trình AutoCAD, nếu không được thì chạy một bản mới
LinkNewSession = 3
End Enum

và đây là hàm dùng để liên kết với một biến bất kỳ chứa đựng thông tin của chương trình AutoCAD

file: cadvietlisp.lsp
'''
''' Hàm liên kết với AutoCAD, đồng thời hiển thị thông báo lỗi (nếu có)
'''

''' "acad_app"
>Trả về biến liên kết đại diện cho chương trình AutoCAD
''' "op">Tùy chọn liên kết
''' "Visible">Có hiển thị chương trình AutoCAD hay không
''' True nếu thành công, ngược lại là false
''' Hàm này có thêm hàm ghi đè
Public Function ACADLink(ByRef acad_app As Object, Optional ByVal op As acAcadLink = acAcadLink.Link, Optional ByVal Visible As Boolean = True) As Boolean
Select Case op
Case acAcadLink.Link
Try
acad_app = GetObject(, "AutoCAD.Application")
Catch
If MsgBox("AutoCAD chưa chạy, khởi động nó ?", MsgBoxStyle.YesNo, "Chú ý") = MsgBoxResult.Yes Then
Try
acad_app = CreateObject("AutoCAD.Application")
Catch
MsgBox("Có lỗi khi khởi động AutoCAD!", MsgBoxStyle.Information, "Chú ý")
Return False
End Try
Else
Return False
End If
End Try

Case acAcadLink.LinkNewSession
Try
acad_app = GetObject(, "AutoCAD.Application")
Catch
Try
acad_app = CreateObject("AutoCAD.Application")
Catch
MsgBox("Có lỗi khi khởi động AutoCAD!", MsgBoxStyle.Information, "Chú ý")
Return False
End Try
End Try

Case acAcadLink.NewSession
Try
acad_app = CreateObject("AutoCAD.Application")
Catch
MsgBox("Có lỗi khi khởi động AutoCAD!", MsgBoxStyle.Information, "Chú ý")
Return False
End Try
End Select

Try
Dim acAcadState = acad_app.GetAcadState
If Not acAcadState.IsQuiescent Then
MsgBox("AutoCAD chưa sẵn sàng. Hãy đóng hộp thoại đang mở hoặc thoát khỏi lệnh đang thực hiện", MsgBoxStyle.Critical, "Chú ý")
Else
acad_app.Visible = Visible
Return True
End If
Catch
Return False
End Try
End Function




Trong trường hợp muốn liên kết với biến Acad đã khai báo ở trên, ta dùng hàm sau

file: cadvietlisp.lsp
'''
''' Hàm liên kết với AutoCAD và gán vào biến Acad, đồng thời hiển thị thông báo lỗi (nếu có)
'''

''' "op"
>Tùy chọn liên kết
''' "Visible">Có hiển thị chương trình AutoCAD hay không
''' True nếu thành công, ngược lại là false
''' Hàm này có thêm hàm ghi đè
Public Function ACADLink(Optional ByVal op As acAcadLink = acAcadLink.Link, Optional ByVal Visible As Boolean = True) As Boolean
Return ACADLink(Acad, op, Visible)
End Function




VD:
Để liên kết biến Acad với chương trình AutoCAD đang chạy, ta dùng như sau:
if ACADLink() then
'Nếu AutoCAD chưa chạy thì câu lệnh if sẽ kết thúc
'Làm cái gì đó ở đây
end if

Để liên kết biến Acad với chương trình AutoCAD đang chạy, or chưa chạy thì chạy nó, ta dùng như sau:
if ACADLink(acAcadLink.LinkNewSession) then
'Làm cái gì đó ở đây
end if

Để liên kết biến MyAcad với một phiên mới AutoCAD đồng thời ẩn nó để xử lý chạy nền
Dim MyAcad as Object
if ACADLink(MyAcad, acAcadLink.NewSession, False) then
'Làm cái gì đó ở đây
end if

Tải về ch trình mẫu VD về thao tác với AutoCAD


Phần 2: Thao tác với các đối tượng AutoCAD


Phần 3: Lập trình với bản vẽ
Source chương trình mẫu: http://www.mediafire.com/file/99auvrs75mgi...WorkWithDwg.rar

Phần 4: Lập trình với các đối tượng trong bản vẽ
Source chương trình mẫu:
1. Thao tác với các đối tượng
2. Tạo bảng trong CAD từ dữ liệu trong Excel
3. Break các Polyline thành các Polyline con tại các giao điểm giữa chúng với nhau.
Về Đầu Trang Go down
http://duonghoalac-hoabinh.forumvi.com
 

Hướng dẫn lập trình với AutoCAD bằng VB.NET

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
HÒA LẠC HÒA BÌNH-EXPRESSWAY :: DIỄN ĐÀN BAN ĐIỀU HÀNH :: CHIA SẺ KINH NGHIỆM-
Chuyển đến