Trang 1 của 4 123 ... CuốiCuối
Kết quả 1 đến 10 của 37

Chủ đề: Làm sao lấy dữ liệu trong cad qua excel?

  1. #1
    vietkanpy Guest

    Làm sao lấy dữ liệu trong cad qua excel?


  2. #2
    clean190914 Guest
    Mình nghĩ là ko thể làm được đâu bạn ạh. Các đối tượng trong AutoCAD khi copy sang Excel thì nó trở thành Picture. Excel chỉ "làm việc" với các ký tự thôi. Ta chỉ có thể làm ngược lại, copy từ Excel vào AutoCAD -> thành đối tượng của AutoCAD.

  3. #3
    quynhvunb Guest
    Những ai phải bóc vật tư từ bản vẽ ra thì họ làm sao nhỉ??? làm thủ công thì chết. Cao thủ VBA đâu rồi giúp em với..

  4. #4
    Ngày tham gia
    Aug 2015
    Bài viết
    4
    Ý tưởng của bạn rất hay nhưng quá khó. Nếu bảng biểu trong CAD của bạn là các con số thì mình nghĩ sử dụng các Autolisp để tính toán ngay trong CAD cũng được. Tìm hiểu về phần mềm "TKXD" (trợ giúp thiết kế xây dựng) bạn sẽ rõ.

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Kính chào bác Phan Tu Huong. Em có thấy bài viết của bác bên Cadviet. em biết bác có thể giải quyết dễ dàng bài toán này nhưng ý bác em không hiểu (đúng ra là chưa đủ trình độ để hiểu) Vậy bác quá bộ giúp em (và nhiều anh em khác nữa) bằng cách giải trực tiếp lên file của em được không? Nếu được thì đa tạ bác nhiều lắm lắm.

  6. #6
    sangame Guest
    Vấn đề này thực hiện tốt bằng VBA. Đầu tiên chọn đối tượng cần chuyển (bôi đen hoặc tạo trong SelectionSets). Sau đó dùng thủ tục để duyệt qua từng đối tượng và copy sang là được thôi.

  7. #7
    minhthu1987 Guest
    Tôi giúp bạn 1 đoạn code trong VBA, đoạn này sẽ lọc toàn bộ đối tượng Text trong cửa sổ chọn, bạn nghiên cứu và chuyển sang Excel là ổn:


    Mã nguồn PHP:
    Sub CopyTextSangExcel() Dim ChuT As AcadEntity Dim asset As AcadSelectionSet Dim Diembao1P As Variant, Diembao2P As Variant Dim i As Integer 'Bo qua loi neu asset khong ton tai On Error Resume Next With ActiveDocument.SelectionSets .Item("asset").Delete 'Tao doi tuong asset Set asset = .Add("asset") End With 'Chon toan bo doi tuong trong cua so chon vao asset With ActiveDocument.Utility Diembao1P = .GetPoint(, vbLf & "Chon diem bao o phia tren, ben trai:") Diembao2P = .GetPoint(, vbLf & "Chon diem bao o phia duoi, ben phai:") End With asset.Select acSelectionSetWindow, Diembao1P, Diembao2P asset.Highlight True i = 0 'Duyet qua tung doi tuong trong asset For Each ChuT In asset 'Chi chon doi tuong la Text If ChuT.ObjectName = "AcDbText" Then i = i + 1 ChuT.Highlight False MsgBox "Gia tri cua doi tuong thu " & i & ": " & ChuT.TextString End If Next MsgBox "Vung chon co " & i & " doi tuong." asset.Highlight False Set asset = Nothing Set ChuT = Nothing End Sub  

  8. #8
    vietkanpy Guest
    Đúng là code của mình chưa xác định được vị trí đối tượng, lại phải nghiên cứu tiếp ...

  9. #9
    thangvigreenland Guest
    thankyou bác Phan Tu Huong rất nhiều. bác vất cả vì anh em quá. đọc code của bác em đã chạy thử rất tốt nhưng các đối tượng chỉ xuất hiện cho biết vậy chứ có làm gì được các em nó đâu? với lại bọn chúng xuất hiện từ dưới lên nên cũng khó kiểm soát, bác quá bội làm cho chúng xuất hiện theo thứ tự từ trái qua phải,từ trên xuống dưới và có kiểm soát(ví dụ như chạy thẳng qua Excel và put vào từng ô tương ứng thì tuyệt cú mèo) Hay bác nghiên cứu và kết hợp với đoạn code này

    Sub Ch12_Extract()
    Dim Excel As Excel.Application
    Dim ExcelSheet As Object
    Dim ExcelWorkbook As Object

    Dim RowNum As Integer
    Dim Header As Boolean
    Dim elem As AcadEntity
    Dim Array1 As Variant
    Dim Count As Integer

    ' Launch Excel.
    Set Excel = New Excel.Application

    ' Create a new workbook and find the active sheet.
    Set ExcelWorkbook = Excel.Workbooks.Add
    Set ExcelSheet = Excel.ActiveSheet
    ExcelWorkbook.SaveAs "Attribute.xls"

    RowNum = 1
    Header = False
    ' Iterate through model space finding
    ' all block references.
    For Each elem In ThisDrawing.ModelSpace
    With elem
    ' When a block reference has been found,
    ' check it for attributes
    If StrComp(.EntityName, "AcDbBlockReference", 1) _
    = 0 Then
    If .HasAttributes Then
    ' Get the attributes
    Array1 = .GetAttributes
    ' Copy the Tagstrings for the
    ' Attributes into Excel
    For Count = LBound(Array1) To UBound(Array1)
    If Header = False Then
    If StrComp(Array1(Count).EntityName, _
    "AcDbAttribute", 1) = 0 Then
    ExcelSheet.Cells(RowNum, _
    Count + 1).value = _
    Array1(Count).TagString
    End If
    End If
    Next Count
    RowNum = RowNum + 1
    For Count = LBound(Array1) To UBound(Array1)
    ExcelSheet.Cells(RowNum, Count + 1).value _
    = Array1(Count).textString
    Next Count
    Header = True
    End If
    End If
    End With
    Next elem
    Excel.Application.Quit
    End Sub


    Đoạn này em có quét được nhưng trả kết quả sang Excel toàn kí tự từ 1 đến 19 trong một cột.
    Nếu được thì cảm ơn bác nhiều lắm vì việc tách vật tư từ bản vẽ ra của bọn em rất nhiều.

  10. #10
    MinhPhuc123 Guest
    TableBuilder is designed to export AutoCAD table and the table drawn with lines and text in AutoCAD (LT)/MicroStation to Excel. Also you can convert the table drawn with lines and text to AutoCAD native table. == http://www.cadig.com == ...

    Đây là chương trình nhỏ, tớ đang tìm Crack. khi nào có sẽ Up lên, chờ nhé

Trang 1 của 4 123 ... CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •