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

AutoCAD với Excel

Các bài được khuyến nghị

Đại khái e có 1 bảng như trên hình và sau khi nhập điểm vào mỗi điểm sẽ có thêm 01 text tên (Điểm 1, Điểm 2,...) và 1 text cao độ

- X, Y, H chỉ là e ghi chú cho bác dễ hiểu thôi.

- Thực sự thì e đã thấy có người có chương trình này rồi nhưng k xem được.

Mong bác xem giúp, hướng của e nghĩ là như vậy còn tùy bác thấy thế nào tiện thì chỉ giáo giúp. Có thể nhập ở *.txt hoặc excel, nhập như thế nào để đơn giản khi xuất vào Cad, bác cứ cho hướng thì e theo.

 

-Đây là hình mẫu thôi bác xem thử.

http://www.cadviet.com/upfiles/box.bmp

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Thôi chết e Up lộn file đuôi bmp rồi, hơi nặng 1 tí các bác thông cảm

File mới đuôi jpg đây: :s_dead:

http://www.cadviet.com/upfiles/box.jpg

 

NÓi về mổ xẻ file thì file này là file không tối ưu, vì Excel chì cho phép tối đa 255 cột nên chắc chắn trình bày kiểu này cũng chỉ có 255 điểm, lại không tiện lợi cho in ấn.

Nhưng nếu được trình bày theo kiểu này thì với cách mà Jin đã nói ở trên là hoàn toàn có thể làm việc được.

Nếu ai thạo VBA trong CAD với hàm truy xuất dữ liệu từ EXCEL thì bài toán coi như xong.

(Jin thì chỉ có thể tạo modul để xuất dữ liệu ra từ EXCEL sang 2 file - cho 2 trường hợp nhập liệu - đặt trong ổ C, và viết Lisp để đọc 2 file đó)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
NÓi về mổ xẻ file thì file này là file không tối ưu, vì Excel chì cho phép tối đa 255 cột nên chắc chắn trình bày kiểu này cũng chỉ có 255 điểm, lại không tiện lợi cho in ấn.

 

E nhập vào Excel để tính toán dữ liệu thô trước khi nhập vào CAD, do đó nhập ngang hay dọc cũng được.

 

(Jin thì chỉ có thể tạo modul để xuất dữ liệu ra từ EXCEL sang 2 file - cho 2 trường hợp nhập liệu - đặt trong ổ C, và viết Lisp để đọc 2 file đó)

 

Theo như bác Jin thì

- Bước 1 : phải xuất dữ liệu từ Excel sang Text bằng môdul của Excel (tùy dữ liệu dạng nào mà sd modul đó)

- Bước 2 : Xuất từ text vào CAD bằng Lisp (cũng tùy dữ liệu dạng nào mà xuất ra theo kiểu tọa độ đó)

Đúng k bác???

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Theo như bác Jin thì

- Bước 1 : phải xuất dữ liệu từ Excel sang Text bằng môdul của Excel (tùy dữ liệu dạng nào mà sd modul đó)

- Bước 2 : Xuất từ text vào CAD bằng Lisp (cũng tùy dữ liệu dạng nào mà xuất ra theo kiểu tọa độ đó)

Đúng k bác???

 

Jin nghĩ là đúng như vậy, và đòi hỏi cần có ý đồ cụ thể khi thành lập file dữ liệu.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Các bác cứ dùng Excel xuất thẳng sang lệnh CAD rồi chạy cho nhanh, cần gì viết LISP.

Cách tổ chức bảng dữ liệu cơ bản là cột cho số ít, dòng cho số nhiều. Việc chuyển đổi toạ độ từ cực sang đecac thì cho excel nó làm. Nói chung bài này dễ.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Theo như bác Jin thì

- Bước 1 : phải xuất dữ liệu từ Excel sang Text bằng môdul của Excel (tùy dữ liệu dạng nào mà sd modul đó)

- Bước 2 : Xuất từ text vào CAD bằng Lisp (cũng tùy dữ liệu dạng nào mà xuất ra theo kiểu tọa độ đó)

Đúng k bác???

 

Các bạn trong forum đã phân tích rất đúng. Bạn nên tổ chức dữ liệu như hình sau:

 

http://www.cadviet.com/upfiles/tracdia.gif

 

 

Nếu bạn chấp nhận phương pháp làm theo các bước trên thì có thể dùng thử cái này:

 

http://www.cadviet.com/upfiles/Tracdia.rar

 

Bước 1: Lưu dữ liệu vào *.xls theo 4 cột.

Chú ý:

- File dữ liệu chỉ chứa dữ liệu, không được ghi thêm bất cứ cái gì khác (nếu bạn muốn ghi chú thêm thì phải sửa lại file tracdia.lsp)

- Không được dùng tiếng Việt (các chữ Diem1, Diem2...)

Bước 2: Save as *.csv

Bước 3: Chạy trình tracdia.lsp, lệnh CTD

Nếu cách ghi tọa độ và chữ chưa đúng ý bạn thì chỉnh sửa lại file lisp một chút là OK.

Các file tracdia.xls, tracdia.csv, tracdia.dwg là ví dụ mình đã chạy thử. Không thấy lỗi gì!

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Các bạn trong forum đã phân tích rất đúng. Bạn nên tổ chức dữ liệu như hình sau:

 

http://www.cadviet.com/upfiles/tracdia.gif

Nếu bạn chấp nhận phương pháp làm theo các bước trên thì có thể dùng thử cái này:

 

http://www.cadviet.com/upfiles/Tracdia.rar

 

Bước 1: Lưu dữ liệu vào *.xls theo 4 cột.

Chú ý:

- File dữ liệu chỉ chứa dữ liệu, không được ghi thêm bất cứ cái gì khác (nếu bạn muốn ghi chú thêm thì phải sửa lại file tracdia.lsp)

- Không được dùng tiếng Việt (các chữ Diem1, Diem2...)

Bước 2: Save as *.csv

Bước 3: Chạy trình tracdia.lsp, lệnh CTD

Nếu cách ghi tọa độ và chữ chưa đúng ý bạn thì chỉnh sửa lại file lisp một chút là OK.

Các file tracdia.xls, tracdia.csv, tracdia.dwg là ví dụ mình đã chạy thử. Không thấy lỗi gì!

 

cảm ơn anh ssg đã share với anh em ngành trắc địa, cho phép tôi xin góp thêm một vài ý :

- thêm đối tượng point trước text cao độ (điểm point này là điểm mia ngoài thực địa có tọa độ chính là tọa độ ghi trong file .xls )

- dấu + trước text cao độ không cần thiết

- phần ghi chú (= diem . . .) nên tách ra thành đối tượng riêng biệt có text height = 1/2 text cao độ (mục đích sẽ hide khi biên tập xong)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
cảm ơn anh ssg đã share với anh em ngành trắc địa, cho phép tôi xin góp thêm một vài ý :

- thêm đối tượng point trước text cao độ (điểm point này là điểm mia ngoài thực địa có tọa độ chính là tọa độ ghi trong file .xls )

- dấu + trước text cao độ không cần thiết

- phần ghi chú (= diem . . .) nên tách ra thành đối tượng riêng biệt có text height = 1/2 text cao độ (mục đích sẽ hide khi biên tập xong)

 

Rất rất cảm ơn bác SSG đã giúp.

Tôi đồng ý với bác vbao và cũng có ý này:

-Nếu mỗi đối tượng là 1 layer càng tuyệt cú mèo (text tên diem 1 layer, point 1 layer, text cao độ 1 layer).

Có bác nào giúp với. :s_dead:

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Rất rất cảm ơn bác SSG đã giúp.

Tôi đồng ý với bác vbao và cũng có ý này:

-Nếu mỗi đối tượng là 1 layer càng tuyệt cú mèo (text tên diem 1 layer, point 1 layer, text cao độ 1 layer).

Có bác nào giúp với. :s_dead:

 

Các yêu cầu trên rất đơn giản, nhưng mình không biết gì về trắc địa! Các bạn nói rõ hơn các ý sau:

1) Có 3 thành phần: point, point name, height text. Lấy vị trí của point làm chuẩn, vị trí ghi 2 thành phần kia ở đâu?

2) Yêu cầu chương trình chọn trong số các layer có sẵn trên bản vẽ hay tạo 3 layer mới? Nếu tạo mới, đặt tên thế nào?

3) Tốt nhất, các bạn upload lên 1 file *.xls và 1 file *dwg ví dụ (chỉ cần một đoạn ngắn thôi)

Khi đã rõ yêu cầu, sẽ có ngay chương trình hoàn chỉnh đúng ý các bạn.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Các yêu cầu trên rất đơn giản, nhưng mình không biết gì về trắc địa! Các bạn nói rõ hơn các ý sau:

1) Có 3 thành phần: point, point name, height text. Lấy vị trí của point làm chuẩn, vị trí ghi 2 thành phần kia ở đâu?

2) Yêu cầu chương trình chọn trong số các layer có sẵn trên bản vẽ hay tạo 3 layer mới? Nếu tạo mới, đặt tên thế nào?

3) Tốt nhất, các bạn upload lên 1 file *.xls và 1 file *dwg ví dụ (chỉ cần một đoạn ngắn thôi)

Khi đã rõ yêu cầu, sẽ có ngay chương trình hoàn chỉnh đúng ý các bạn.

 

Tôi nghỉ bài toán trên chỉ là ví dụ thôi còn cụ thể thì gnười dùng nên trên cái sườn mà bác ssg đã viết mà thêm vào.

Vấn đề trắc địa không đơn giàn như vậy đâu, theo tôi biết (có đi thực dịa với anh em trắc địa vài lần) thì như thế này:

Trước tiên phải có các điểm chuẩn mang tên maytoanđac1,2,3,4 vv tọa độ điểm máy sau là tọa độ tương đối so với điểm máy trước.

Tôi thấy khu đất khoảng 2 Ha thì đã dùng đến 4 điểm máy. Thường các điểm máy này chạy vòng tròn quanh khu đất với khoảng cách tương đối. Các điểm máy này thì chèn 1 bock và tên máy

Từ các điểm máy này mời nhập tọa độ các điểm mà vị trí các điểm này x,y,z là tọa độ tương đối so với điểm máy trên.

Các điểm thì lại có vấn đề như sau. Tên điểm không phải là để hiển thị lên như vậy mà có tác dụng như sau:

Ví dụ: NUT thì vẽ 1 diểm tại x,y, và text có giá trị là z thường cái điểm được vẽ tại vị trí dấu "," của text.

CAY thì chèn 1 block hình cây tại điểm x,y và tẽ có giá trị là z

nói chung là rất lắm chuyện. Nếu giải quyết cây hỏi của bác SSG thì như sau:

Các layer thì chương trình tự tạo:

Point : diemmia

text : textcaodomia

Mà chương trình của bác không tắt phần bắt điểm nên nó viết ra 1 chổ cả mớ text luôn.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Các yêu cầu trên rất đơn giản, nhưng mình không biết gì về trắc địa! Các bạn nói rõ hơn các ý sau:

1) Có 3 thành phần: point, point name, height text. Lấy vị trí của point làm chuẩn, vị trí ghi 2 thành phần kia ở đâu?

2) Yêu cầu chương trình chọn trong số các layer có sẵn trên bản vẽ hay tạo 3 layer mới? Nếu tạo mới, đặt tên thế nào?

3) Tốt nhất, các bạn upload lên 1 file *.xls và 1 file *dwg ví dụ (chỉ cần một đoạn ngắn thôi)

Khi đã rõ yêu cầu, sẽ có ngay chương trình hoàn chỉnh đúng ý các bạn.

 

Đồng ý là trong chuyện đo đạc bình đồ rất là phức tạp, nhưng có nhiều vấn đề phải xử lý thêm trên Excel và CAD, vì đây chỉ là dữ liệu thô, còn xào nấu nêm nếm như thế nào là tùy theo cách làm và công việc mỗi người bác Duy àh.

 

Xin giải thích với bác SSG :

E xin nói rõ như sau, sau khi load file xong Cad sẽ tạo ra 3 layer mới : "DIEMDO" có màu 'green', "CAODODO" có màu 'cyan', "TENDIEMDO" có màu 'yellow'.

- Các point nằm trong layer "DIEMDO"

- Text cao độ nằm trong layer "CAODODO", vị trí đặt bên phải point.

- Text tên điểm nằm trong layer "TENDIEMDO", vị trí đặt trên point.

Một lần nữa cảm ơn bác SSG, e cũng ở SG, bác share cho e số phone hôm nào bác rảnh e mời bác 1 chầu giao lưu. :s_dead:

Nếu k thích làm 1 chầu thì giao lưu công việc cũng được.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Đồng ý là trong chuyện đo đạc bình đồ rất là phức tạp, nhưng có nhiều vấn đề phải xử lý thêm trên Excel và CAD, vì đây chỉ là dữ liệu thô, còn xào nấu nêm nếm như thế nào là tùy theo cách làm và công việc mỗi người bác Duy àh.

 

Xin giải thích với bác SSG :

E xin nói rõ như sau, sau khi load file xong Cad sẽ tạo ra 3 layer mới : "DIEMDO" có màu 'green', "CAODODO" có màu 'cyan', "TENDIEMDO" có màu 'yellow'.

- Các point nằm trong layer "DIEMDO"

- Text cao độ nằm trong layer "CAODODO", vị trí đặt bên phải point.

- Text tên điểm nằm trong layer "TENDIEMDO", vị trí đặt trên point.

Một lần nữa cảm ơn bác SSG, e cũng ở SG, bác share cho e số phone hôm nào bác rảnh e mời bác 1 chầu giao lưu. :s_dead:

Nếu k thích làm 1 chầu thì giao lưu công việc cũng được.

 

Mình hiểu rồi, té ra cũng khá lôi thôi. Tốt hơn là dùng một Options Dialog, bạn tự tạo các layer và chọn theo ý thích, cả TextSize nữa. Bạn chưa nói rõ khoảng cách từ point đến các thành phần khác là bao nhiêu. Tạm thời mình lấy trị số TS = TextSize làm chuẩn, text cao độ cách point 1.5TS về bên phải, text ghi chú cách point 1.5TS về phía trên. Nếu không phù hợp, bạn chỉ việc sửa 2 dòng gán tọa độ p1 và p2 là OK.

Đây là link mới (gồm tracdia.lsp và tracdia.dcl):

 

http://www.cadviet.com/upfiles/Tracdia2.rar

 

Để sử dụng, đơn giản nhất là bạn unzip rồi copy cả 2 vào thư mục gốc của Acad. Lệnh vẫn là CTD.

Nếu không muốn đưa vào thư mục gốc Acad cũng được, nhưng có thể chương trình không chạy được vì không tìm thấy đường dẫn của tracdia.dcl. Cái này bạn tự tìm hiểu nhé?

Cám ơn bạn về chầu giao lưu. Có duyên ắt sẽ gặp!

My email: ngomai@khatoco.com

 

@duy782006: Cám ơn bạn đã nhắc nhở về Osmode. Mình đang quan tâm đến *.xls và *.csv nên quên mất!

  • Vote tăng 3

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình hiểu rồi, té ra cũng khá lôi thôi. Tốt hơn là dùng một Options Dialog, bạn tự tạo các layer và chọn theo ý thích, cả TextSize nữa. Bạn chưa nói rõ khoảng cách từ point đến các thành phần khác là bao nhiêu. Tạm thời mình lấy trị số TS = TextSize làm chuẩn, text cao độ cách point 1.5TS về bên phải, text ghi chú cách point 1.5TS về phía trên. Nếu không phù hợp, bạn chỉ việc sửa 2 dòng gán tọa độ p1 và p2 là OK.

Đây là link mới (gồm tracdia.lsp và tracdia.dcl):

 

http://www.cadviet.com/upfiles/Tracdia2.rar

 

Để sử dụng, đơn giản nhất là bạn unzip rồi copy cả 2 vào thư mục gốc của Acad. Lệnh vẫn là CTD.

Nếu không muốn đưa vào thư mục gốc Acad cũng được, nhưng có thể chương trình không chạy được vì không tìm thấy đường dẫn của tracdia.dcl. Cái này bạn tự tìm hiểu nhé?

Cám ơn bạn về chầu giao lưu. Có duyên ắt sẽ gặp!

My email: ngomai@khatoco.com

 

@duy782006: Cám ơn bạn đã nhắc nhở về Osmode. Mình đang quan tâm đến *.xls và *.csv nên quên mất!

 

thanks ssg, chương trình chạy rất tuyệt

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cám ơn bạn về chầu giao lưu. Có duyên ắt sẽ gặp!

My email: ngomai@khatoco.com

 

Cảm ơn bác SSG nhiều, chương trình chạy tuyệt vời, đúng theo ý tưởng của e. Hy vọng sớm có duyên.

E sẽ mail địa chỉ mail và phone của e cho bác.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Anh ssq ơi sau khi load xong rồi mở five *.CSV rồi thì xuất hiện 1 tuỳ chọn. Nhưng ko sử dụng được tuỳ chọn này bác ạ. Làm như thế nào vậy bác mong bác chỉ giáo. Cám ơn bác nhiều.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Anh ssq ơi sau khi load xong rồi mở five *.CSV rồi thì xuất hiện 1 tuỳ chọn. Nhưng ko sử dụng được tuỳ chọn này bác ạ. Làm như thế nào vậy bác mong bác chỉ giáo. Cám ơn bác nhiều.

Bạn đã cho hiện Options Dialog là ổn rồi, không có vấn đề gì nữa. Trong dialog chỉ là 4 options:

- 3 cái trên dạng popuplist, bạn bấm vào hình tam giác đen bên phải nó sẽ liệt kê đầy đủ các layer hiện có trong bản vẽ, bạn muốn chọn cái nào thì tùy bạn!

- 1 cái dưới cùng để chọn độ cao chữ (text size cho con số chỉ cao độ), theo mặc định nó sẽ lấy thông tin textsize hiện hành. Nếu muốn thay đổi thì gõ số vào.

Xong option chỉ việc bấm OK, toàn bộ dữ liệu trong file *.csv sẽ chuyển vào bản vẽ như đã mô tả ở các bài trên. Nếu bạn không chọn gì cả, cũng cứ bấm OK, tất cả các thành phần sẽ được vẽ ở layer 0.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Lại không thấy tên điểm đâu cả. Chỉ thấy mỗi Point thôi bác ạ

Có lẽ file *.csv của bạn không đúng theo quy cách của chương trình. Bạn download lại cái này và đọc readme:

 

http://www.cadviet.com/upfiles/Tracdia10.zip

 

Nhớ xóa toàn bộ những file trước kia đi!

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Việc chuyển dữ liệu qua lại giữa Excel và Acad có thể thực hiện tương đối dễ dàng bằng ngôn ngữ VBA, các bác có thể tham khảo thêm tại đây :

http://www.giaiphapexcel.com/forum/showthread.php?t=418 : excel --> acad

http://www.giaiphapexcel.com/forum/showthread.php?t=1735 : acad --> excel

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Dạ e đi đo mặt bằng, nhập điểm lập bình đồ. Nếu đo bằng máy kinh vĩ thì chỉ có khoảng cách và góc quay so với mốc chuẩn thôi bác ạ. Còn nếu đo bằng máy toàn đạc có tọa độ X,Y,Z thì họ cũng đổ vào excel khi giao cho e. Ngồi nhập từng điểm 1 thì lâu quá. Mong bác chỉ cho.

hãy tải chương trình chitietwin của tác giả Trung Anh (trường ĐH mỏ) về dùng (miễn phí), đáp ứng đầy đủ yêu cầu của bạn.Chúc thành công

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Các Bác có thể giúp mình một lisp xuất từ Excel sang Acad (trong excel có 03 hàng theo thứ tự : STT - toạ độ Y - toạ độ X) mình muốn xuất ra Acad rồi về đường line nối các điểm đó lại với nhau theo thư tự của các điểm. (mục đích muốn vẽ biểu đồ áp lực sau khi đã tính toán từ excel)

Cam ơn các Bác nhiều.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Việc giao lưu dữ liệu từ ACAD và EXcel quả thật nhiều lúc rất hiệu quả. Có những tác vụ mình tính toán bên Excel rồi ứng dụng Lisp để xuất qua Cad sẽ giúp chúng ta rất nhiều. Nhưng từ Excel qua Cad còn một cách nữa mà không phải dùng đến Lisp đó là ngôn ngữ Scrip. Nếu các bạn gặp một bài toán và chỉ cần dùng 1 lần dữ liệu tính toán bên Excel thì tôi nghĩ dùng Scrip sẽ đơn giản hơn.

 

Ví dụ nhé: vẽ đồ thị bên Cad. Các bạn có thể tính toán toạ độ các điểm = excel, sau đó dùng lệnh excel để tạo ra các lệnh của scrip. Mở Notepad , copy các lệnh này vào notepad, lưu file, mặc định pad lưu file là txt nhưng trong ô filename bạn nhập như sau "scrip.scr" (có cả dấu nháy "). Vào Cad menu Tools\Run Scrip chọn file scr thế là Cad vẽ cho ta.

 

Cách làm này khá phù hợp với những ai chưa biết nhiều về Lisp.

 

File đính kèm ví dụ.

Sao ko gửi được file đính kèm nhỉ

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chương trình xuất dữ liệu từ Excel sang Cad cuả Bác Ssg thật tuyệt, dân trắc địa gặp phải cái này thì ưng ý lắm, xin đề xuất thêm vơí Bác Ssg là trong dữ liệu cuả Excel, ngoaì pointname, X,Y,Z, còn có thêm cột "code" nữa, khi xuất qua Cad, dùng lệnh JD cuả Bác Hoành viết cho tnmtpc để nôí điểm theo code thì trên cả tuyệt vơì Bác ạ! Bác viết thêm một chút nữa nhé! Bà con trắc địa đang chờ đấy

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×