Chuyển dữ liệu từ Excel sang AutoCad để vẽ

Liên hệ QC

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,121
Được thích
24,279
1/ Vẽ cột địa tầng(các lớp đất đá) trong Acad (số liệu lấy từ excel)
File : "SPT.xls"
Cách dùng : chọn một bảng dữ liệu trên Excel, nhấn nút mũi tên phía trên thanh menu để chạy chương trình.

2/ Chuyển bảng dữ liệu từ Excel sang Acad
File : "uti.xla"
Cách dùng :
_ Thêm uti.xla và mục Add-Ins : chọn Tools\Add-Ins\Browse chọn đường dẫn đến file uti.xla, chọn ok...
_ Tạo một nút trên thanh công cụ gán vào macro "vebangtk" : chọn Tools\Customize...\Commands ở mục "Categories" chọn Macros, trong mục "Commands" nhấn chuột trái và giữ mục "Custom Button" kéo rê lên thanh công cụ trên cùng, khi thấy xuất hiện biểu tượng thì thả chuột ra, nhấn chuột phải vào biểu tượng này chọn Assign Macro, gõ vào "vebangtk" (không có dấu ngoặc kép)
_ Chọn vùng dữ liệu trên Excel rồi nhấn nút vừa tạo để chạy chương trình.

Cả hai tiện ích trên tôi viết để dùng cho Acad2006, nếu bạn dùng Acad version khác thì sau khi mở chương trình bạn nhấn Alt-F11, chọn Tools\Preferences... bỏ đánh dấu mục "Missing... AutoCAD 2006 Type Library" rồi chọn "AutoCAD... Library" version tương ứng với Acad bạn đang dùng, thực hiện tương tự đối với version của Excel (tôi dùng Excel2003). Có thể cả hai tiện ích trên không dùng được cho Acad R14, tiện ích vẽ SPT sẽ không chạy được trên nền Acad2000 và Acad2002, nếu các bác cần tôi sẽ gửi sau, đối với Acad2007 thì tôi chưa kiểm tra.


Bài của bạn Nguyễn Văn Điệp (bên ketcau.com)
 

File đính kèm

  • Tien ich.zip
    360.7 KB · Đọc: 9,787
Lần chỉnh sửa cuối:
Vấn đề này thực ra không khó, nhưng mục đích để làm gì? Các đối tượng vẽ trong AutoCad cũng dễ dàng được quản lý theo từng lớp nên dễ dàng tạo và dễ dàng xóa (chọn đúng tên lớp để xóa thôi).
 
Upvote 0
Mình cũng có nghe nói đến tiện ích này, nhưng cũng chưa dùng bao giờ. Tiện ích này rất hay chứ bác Hướng, nó rất tiện khi làm bảng thống kê trong cad, nó tự động cập nhật dữ liệu từ cel sang cad, không phải làm động tác copy bảng cel sang cad nữa, giống như tiện ích uti.xla.
 
Upvote 0
thanhlamct82 đã viết:
Mình cũng có nghe nói đến tiện ích này, nhưng cũng chưa dùng bao giờ. Tiện ích này rất hay chứ bác Hướng, nó rất tiện khi làm bảng thống kê trong cad, nó tự động cập nhật dữ liệu từ cel sang cad, không phải làm động tác copy bảng cel sang cad nữa, giống như tiện ích uti.xla.
Nhận xét về AutoCADTable như thế này : Khi tiến hành thiết kế, lập các bảng khối lượng công trình và bảng vật tư, trong quá trình làm việc sẽ có lúc phải sửa đổi thiết kế dẫn đến khối lượng và vật tư cũng thay đổi theo. Khi đó nếu ta lập các bảng tính trên Excel thì mong muốn có tiện ích giúp bảng khối lượng tương ứng trong AutoCAD cũng thay đổi theo. Xuất phát từ mục đích đó mong anh PhanTuHuong nghiên cứu thì đỡ cho anh em khỏi xài AutoCADTable bất hợp pháp.
 
Lần chỉnh sửa cuối:
Upvote 0
PhanTuHuong đã viết:
Bạn thử tải file này về nghiên cứu xem sao.

Chạy lúc đầu (mở AutoCad) thì sẽ chậm, sau đó thì rất nhanh.

Bạn cứ thay đổi số liệu tọa độ tuyệt đối của 2 điểm thì sẽ tự động được cập nhật ngay lập tức trên bản vẽ AutoCad.
Tiện ích này sẽ rất hay nếu có thể phát triển thêm một số ý như sau:
- Nhập tất cả các tọa độ của điểm 1 và 2 xong mới xuất sang AutoCad.
- Chấp nhận tọa tọa độ tương đối trong Cad.
- Vẽ nhiều đường line trong Cad bằng cách tương tự.
- Có thể lựa chọn có xóa đường cũ hay không.
Mong các anh nghiên cứu thêm.
 
Lần chỉnh sửa cuối:
Upvote 0
Mấy vấn đề các bạn đưa ra giải quyết như sau:
- Tọa độ tuyệt đối hay tương đối thì không quan trọng lắm. Chỉ cần sử dụng một số thuật toán là ổn thôi.
- Các bạn tải file kèm theo rồi nghiên cứu nhé, các đối tượng trong 1 lớp sẽ được cập nhật (xóa đi và vẽ mới) cho dù bạn đã đóng bản vẽ. Các bạn cứ đóng góp nhé! :-=
 

File đính kèm

  • Line_Excel_AutoCad2.xls
    38 KB · Đọc: 791
Upvote 0
Anh Hướng ơi! Cảm ơn anh nhiều.
Cho em hỏi thêm: Trường hợp em muốn vẽ thêm số đường line (chẳng hạn 100 đường hoặc nhiều hơn) thì làm thế nào?
(Các đối tượng trong 1 lớp sẽ được cập nhật (xóa đi và vẽ mới) cho dù bạn đã đóng bản vẽ): Có thể thêm tùy chọn là xóa hoặc không xóa đường cũ?
Làm phiền anh nhiều!
Anh ơi, nhờ anh góp ý thêm cho em. Tại sao không xóa line thừa. (Đường thứ 20)
 
Lần chỉnh sửa cuối:
Upvote 0
duongsatdn đã viết:
Anh Hướng ơi! Cảm ơn anh nhiều.
Cho em hỏi thêm: Trường hợp em muốn vẽ thêm số đường line (chẳng hạn 100 đường hoặc nhiều hơn) thì làm thế nào?
(Các đối tượng trong 1 lớp sẽ được cập nhật (xóa đi và vẽ mới) cho dù bạn đã đóng bản vẽ): Có thể thêm tùy chọn là xóa hoặc không xóa đường cũ?
Làm phiền anh nhiều!
Anh ơi, nhờ anh góp ý thêm cho em. Tại sao không xóa line thừa. (Đường thứ 20)

- Muốn vẽ nhiều đường thêm thì khai báo mảng lớn hơn (thay 20 bằng 100 hay 10000 là tùy bạn).

- Thích xóa hay không xóa đường cũ cũng được, dùng hàm If.

- Bạn khai báo vùng nhưng không chú ý đến ô trống nên không xóa đường line 20 cuối cùng. Để tùy biến bạn có thể khai báo kiểu vòng lặp Do Loop để tự động tìm vùng có dữ liệu, hết dữ liệu thì tự thoát.
 
Upvote 0
nhập liệu theo hàng dọc

Trước hết xin cám ơn sự chia sẽ của anh PhanTuHuong. Tôi thấy phần vẽ các đường thẳng trên CAD bằng cách nhập liệu trên Excel là rất hay. Nhưng việc nhập liệu theo hàng là bất tiện. Vây anh có thể chỉnh lại cách nhập liêu theo hàng dọc không? như thế tôi thây hoàn chỉnh hơn. Chúc anh khỏe để có nhiều sự đóng góp cho diễn đàn.
 
Upvote 0
Tốt nhất là bạn nghiên cứu để tự sửa đi.
 
Upvote 0
Em dùng Excel 2003 và CAD2008 Thấy kết nối khó quá. Có bác nào làm trên hai công cụ này rồi xin hướng dẫn cụ thể
 
Lần chỉnh sửa cuối:
Upvote 0
@$@!^% Tôi đã sử dung đựoc tiện ích này với Cad2004. Cảm ơn PhamTuHuong rat nhiều-=.,,
 
Upvote 0
Cảm ơn anh Huong rất nhiều. Em đã sử dụng được tiện ích này. Nó giúp ích rất nhiều. Nhưng còn 1 vấn đề nhỏ. Anh co thể sửa lại để cho khi convert từ Exel sang CAD thi chữ nằm đứng vẫn giữ nguyên. Và các đổi tượng draw cũng có thể convert được sang CAD.
 
Upvote 0
tbinhvnkd đã viết:
Cảm ơn anh Huong rất nhiều. Em đã sử dụng được tiện ích này. Nó giúp ích rất nhiều. Nhưng còn 1 vấn đề nhỏ. Anh co thể sửa lại để cho khi convert từ Exel sang CAD thi chữ nằm đứng vẫn giữ nguyên. Và các đổi tượng draw cũng có thể convert được sang CAD.

Chưa hiểu rõ ý bạn, nếu đơn giản thì bạn tự sửa code lại.
 
Upvote 0
Khi tôi chạy tiện ích "uti.xla" của thầy Hướng thì bị báo lỗi bị thiễu thư viện: can't find project and libraly. (VD: các hàm trim, mid, chr....) Tôi phải làm cách nào để giải quyết. Thanks!
 
Upvote 0
luongtuananh83 đã viết:
Khi tôi chạy tiện ích "uti.xla" của thầy Hướng thì bị báo lỗi bị thiễu thư viện: can't find project and libraly. (VD: các hàm trim, mid, chr....) Tôi phải làm cách nào để giải quyết. Thanks!

Bạn vào cửa sổ Microsoft Visual Basic, chọn Tools/ References và chọn AutoCad XXXX (version của bạn) nào đó thì mới được.

Tôi cũng đang ứng dụng chức năng Automaiton của VBA trong Excel và cả AutoCad trong việc trao đổi dữ liệu giữa hai môi trường trên. Mã nguồn mở :-=
 
Upvote 0
Thật là hay.... Mình đang muốn học cái này đây... Nếu có gì chưa hiểu, mong các Bác giúp đỡ... hi...hi...
 
Upvote 0
Thật tuyệt vời khi mà dùng chuyển cơ sở dữ liệu từ ex sang cad bơi
thank !
 
Upvote 0
tại sao mình không không thể giải nén được no báo không có file
 
Upvote 0
Hay quá

MÌnh thấy chương trình đó rất hay. mình là dân thiết kế mà.
Nhưng mình rất tiếc tại sao mình ko dows được?
có thể dùng trên cad 2004 được không? Vì máy mình ko cài được cad2006.
nhanh bạn có câu trả lời .
cảm ơn
 
Upvote 0
Các bạn nói rõ file nào không download hay không mở được?
 
Upvote 0
Web KT
Back
Top Bottom