Chuyển đến nội dung
Diễn đàn CADViet

anhcos

Nhà quảng cáo
  • Số lượng nội dung

    281
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    16

Cộng đồng

187 (tàm tạm)

About anhcos

  • Cấp bậc
    biết lệnh mtext

Phương pháp liên hệ

  • Địa chỉ Trang web:
    http://
  • ICQ
    0

Thông tin hồ sơ

  • Giới tính
    Male

Khách truy cập Tiểu sử gần đây

11.232 chế độ xem tiểu sử
  1. anhcos

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

    Mình chuyên về code CNC các loại, ngoài ra cũng còn nhiều thứ khác như C++ cho vi xử lý của các mô hình IoT hay các cơ cấu chấp hành khác nhau. VD cánh tay này mình đã sửa lại thiết kế 3D cho gọn, viết soft giao tiếp từ pc và arduino để điều khiển, lưu trữ chuỗi hành động theo ý muốn: Hay soft này điều khiển cả kính thiên văn và máy ảnh Canon để chụp ảnh vệ tinh cần quan sát: Soft này sẽ có sử dụng máy học sau này để giúp tính toán ngon hơn.
  2. anhcos

    XIN GIÚP ĐỠ VỀ OFFSET POLYLINE DẠNG RECTANG

    Tôi có cái tool bé xíu, viết cho mấy mục đích nho nhỏ, có phần chọn offset trong/ngoài đó, bác có thể tải về dùng thử ở đây.
  3. anhcos

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

    Soft hỗ trợ xuất code gia công 2D và các tiện ích bao gồm giao diện CAD tự tiết kế riêng, có dòng lệnh, nói chung là bắt chước theo AutoCAD. Bộ thư viện thì mình viết bằng 3 ngôn ngữ là VB C# và Python:
  4. 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 ''' <summary> ''' Hàm liên kết với AutoCAD, đồng thời hiển thị thông báo lỗi (nếu có) ''' </summary> ''' <param name="acad_app">Trả về biến liên kết đại diện cho chương trình AutoCAD</param> ''' <param name="op">Tùy chọn liên kết</param> ''' <param name="Visible">Có hiển thị chương trình AutoCAD hay không</param> ''' <returns>True nếu thành công, ngược lại là false</returns> ''' <remarks>Hàm này có thêm hàm ghi đè</remarks> 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 ''' <summary> ''' 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ó) ''' </summary> ''' <param name="op">Tùy chọn liên kết</param> ''' <param name="Visible">Có hiển thị chương trình AutoCAD hay không</param> ''' <returns>True nếu thành công, ngược lại là false</returns> ''' <remarks>Hàm này có thêm hàm ghi đè</remarks> 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.fshare.vn/file/TWZSCHPKZT 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: http://www.fshare.vn/file/THA20XJFHT 2. Tạo bảng trong CAD từ dữ liệu trong Excel: http://www.fshare.vn/file/TXHY1W363T 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: http://www.fshare.vn/file/TGBGC2NFVT
×