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

thonggtcc

Thành viên
  • Số lượng nội dung

    18
  • Đã tham gia

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

Bài đăng được đăng bởi thonggtcc


  1. gia_bach

    Với 1 table có khoảng vài chục dòng dữ liệu thì th/gian có thể không đáng kể, nhưng với 1 file cad thực tế thì dữ liệu trong table phải lên đến vài chục ngàn dòng chứ ? 

    Liệu nó có khả thi hay không nếu như thời gian cập nhật quá lâu (5-10 phút hay vài ba tiếng ..)

     

    NguyenNgocSon

    Gửi vào Hôm qua, 12:52 PM

    Vấn đề này hoàn toàn giải quyết được. Việc sử lý nhanh hay chậm tùy thuọc vào dữ liệu và cấu hình máy

     

    Rất cảm ơn anh Gia_bach và bạn NguyenNgocSon.

    1./ Vấn đề đặt ra theo anh Gia_bach không khả thi vì thời gian?: Không vấn đề gì, vì mình nghĩ khi giải quyết được vấn đề thì sẽ có cách giải quyết được thuật toán tối ưu.

    2./ Mình rất đồng tình về ý kiến của bạn NguyenNgocSon: Cấu hình máy giờ không đến nỗi tệ, thậm chí dư để xử lý.

    Vậy các anh có thể giúp mình hoặc đưa ra ý tưởng để mình xử lý cũng được.

    , bạn Son trước đây đã giúp mình 1 CT đưa số liệu từ Excel vào Cad rồi. Chắc việc này trong khả năng của bạn phải không?

    Vậy cho mình cảm ơn trước.


  2. Rất cảm ơn anh Gia_bach đã quan tâm.

    Xin lỗi, vì bài toán của mình đưa ra có nhiều thông tin cụ thể để có thể lập trình được. Xin hỏi, với dữ liệu đã cho như thế thì việc vẽ 1 điểm (node với tên ở cột Z chẳng hạn) có thực hiện tự động được không anh? Vì dữ liệu mình có thể thay đổi và update từ file nguồn Excel thì việc vẽ tự động như thế thì rất cần thiết.


  3. Xin chào các bạn, mình có 1 cách làm như sau, xin trình bày các bước như thế này:

    1. Đầu tiên mình tạo 1 file Excel có đầy đủ tọa độ, tên block: File: http://www.cadviet.com/upfiles/3/105390_mau_so_lieu.rar

    2. Mở autocad, lệnh datalink, đặt tên vidu, chọn file ở trên và Ok.

    3. Lệnh table, mục "From a data link"  chọn vidu, ok.

    4. Kết quả: Chèn được bảng Excel vào Cad dạng bảng Table và ta có thể cộng trừ nhân chia trực tiếp trên Cad với 1 số hàm quen thuộc của Excel. File kết quả: http://www.cadviet.com/upfiles/3/105390_vidu.dwg

     

    Ok. Sau đây là câu hỏi của mình:

    1/ Với dữ liệu như trên thì có cách gì để vẽ được đường thẳng hay đơn giản là chèn 1 block vào vị trí có tọa độ (x,y) vào bản vẽ không?

    2/ Hoặc code VBA, LISP để xử lý trường hợp này như thế nào ạ?

    3/ Nếu mình update số liệu thừ liệu có phát sinh tự động vẽ thêm.

    Xin các cao thủ cadviet trả lời giúp.

     


  4. Một số ý kiến của bạn mình đã thực hiện theo file đính kèm http://www.cadviet.com/upfiles/3/105390_cadviet.rar

    Còn các vấn đề khác:

    - Bên trái tuyến = Phải tuyến có thể code lại để khác nhau vẫn ok:): Cái này bạn tiện thể giải quyết thêm giùm.

     

    - Để làm được cột ghi chú bạn chèn thêm 1 cột nữa vào sau cột tên Block cả trái và phải tuyến.Hãy cho biêt tọa độ của nó so với tọa độ Block chèn hoặc với điểm gốc => OK : Mình đã thực hiện trong file Excel đính kèm ở trên.

     

    - Bạn post 1 file cad đơn giản cái yêu cầu và miêu tả rõ nó trong file luôn : Trong file bản vẽ mình đã có ghi chú thêm.

     

    Rất cám ơn sự giúp đỡ của bạn.

    Thanks.


  5. Ok. Mình đã thử được rồi.

    Lý do lỗi: Đúng như bạn nói. Trong cad phải đặt các tên block trùng với tên block cột Z của Excel.

    Mặt khác: Phải đưa về tọa độ 0,0. Dữ liệu trong cột Trái tuyến - phải bằng phải tuyến.

     

     

    Chương trình của bạn chạy rất tốt, đúng với ý đồ của mình.

    Tuy nhiên còn 1 vấn đề nữa mình nhờ bạn giúp nốt:

    Đó là cột Ghi chú chưa được điền vào vị trí tương ứng. Dữ liệu trong cột Ghi chú rất nhiều (tương ứng với số lượng Block).

    Thanks.


  6. Cài này chưa rõ lắm nội dung.

    Block bạn ghi trong bản vẽ lại không phải là Block.Mà lấy VD đơn giản bằng 1/10 cái đoạn bạn cần thôi

    Nhưng viết thì có vẻ lâu đây ? :D

     

    Đúng rồi đó bạn. Block chỉ là tên thôi. mình đã Explode ra và dùng ký hiệu cho tiện thôi (trước đó mình dùng Block thuộc tính nên yêu cầu trên sẽ khó hơn thôi --> vì block thông thường lập trình dễ dàng hơn đó mà).

    Vì mình chỉ đưa ra 1 số trường hợp để các bạn dễ hình dung, dễ dàng trong lập trình thôi.

    Chung qui lại : Số liệu trong cột Lý trình (Excel) phải dùng hàm tách chuỗi (Km[số cần tách:=1000m] + ...[số cần tách]) ví dụ: Km1+250 tách thành: 1250m chính là tọa độ theo phương x.

    Tính tọa độ y: là bề rộng mặt đường/2 + 1 khoảng 0,5m lề = y.

    Tùy theo vị trí phải hoặc trái tuyến mà y nhận giá trị + hoặc - (trên hoặc dưới trục 0x).

    Thêm vị trí (SN : Ghi chú) cho vị trí Block trên. Ghi chú này phải nằm trên hàng Địa danh - địa chỉ (cách trục 0x 1 khoảng Y (hoặc -Y) ứng với vị trí Block theo phương x.

    Số lượng Block tương đối nhiều, do đó bạn có thể hướng dẫn mình cách lấy số liệu từ mỗi Cell (Excel: đọc hết số liệu theo cột chỉ định: vì các cột trong excel có thể insert thêm nhiều tùy theo yêu cầu) như thế nào? Ứng với mỗi Mã hiệu (Block cần gán trong Excel) thì xử lý Block trong cad như thế nào? và insert đúng với mỗi vị trí đã định.

    Thanks.


  7. "Không có file đính kèm bạn ạ. Bài toán xuôi thì có vẻ hơi khó nhưng mình nghĩ sao bạn không đặt vấn đề ngược lại nhỉ? dễ giải quyết hơn nhiều: Viết 1 lisp để chèn 1 block vào bản vẽ với giá trị tọa độ nhập vào (có thể là từ hộp thoại hoặc đơn giản hơn là nhập ngay tại dòng lệnh) "

     

    Vì công việc mình chỉ có đến thế thôi nên mình chưa nghĩ đến. Nếu được bạn có thể phát triển bài toán theo cả 2 hướng giúp mình. Thanks

    Đây là file đính kèm:http://www.cadviet.com/upfiles/3/105390_toado_block.dwg


  8. Nhân đọc bài ánh xạ giá trị nguồn, giá trị đích thay đổi theo. Mình có bài toán thế này mong mọi người giúp đở:

    Mình tạo 1 block thuộc tính. Khi đặt Block đó tại 1 vị trí cố định (nguồn). Nhập thủ công giá trị tọa độ hoặc khoảng cách mới thì Block tự động dịch chuyển (hoặc copy) sang tọa độ mới vừa đưa vào. (Xem file đính kèm).

    Thanks.


  9. Vì mình không rành về lisp và lập trình nên mình mới mạo muội đưa bài toán của mình lên đây để các anh em tham khảo và có ý kiến đóng góp giúp. Có thể vấn đề mình đặt ra không phải là bài toán đơn giải quyết 1, 2 vấn đề mà bao gồm rất nhiều vấn đề phức tạp khác mà mình không biết (do không biết tí gì về lập trình mà).

    Nếu quá phức tạp thì các cao thủ CadViet có thể chia ra nhiều vấn đề nhỏ và tìm lời giải cho từng cái một thì có thể khả thi hơn.

    Xin lỗi vì mình quên Save as về Cad 2004 & Office 2003.

    Link mới: http://www.cadviet.com/upfiles/3/105390_vi_du_1.rar


  10. Bản vẽ mình đưa lên là minh hoạ cho bình đồ duỗi thẳng của 1 tuyến đường.

    Trong đó bao gồm các dữ liệu sau: Chiều dài của tuyến, các giao cắt, kết cấu vỉa hè trên từng đoạn, biển báo giao thông, sơn kẻ vạch, hệ thống thoát nước, cây xanh, trụ điện, điện chiếu sáng, ....

    Mình phải xây dựng cho từng đoạn 100m, 200 và tối đa là 500m cho mỗi tờ A3, mục đích để cập nhật dữ liệu trên bằng tay trên giấy A3 (vì trong quá trình quản lý các dữ liệu trên sẽ liên tục thay đổi). Sau đó mới vẽ lại trên bản vẽ Cad gốc sau mỗi 6 tháng 1 lần.

    Với số liệu rất nhiều (vì quản lý rất nhiều tuyến) do đó việc cập nhật thủ công vào Cad rất mất thời gian và công sức.

    Đồng thời các dữ liệu này còn phục vụ cho việc trích xuất để thống kê, báo cáo khi cần thiết.

    Do đó mình nhờ các anh có phương pháp nào cập nhật các số liệu như: cây xanh, trụ điện, biển báo, hệ thống thoát nước ... từ bảng thống kê trên Excel qua Cad nhanh hơn không? Nếu được thì các bạn hướng dẫn phương pháp trích xuất số liệu ngược lại?

    Thanks

    File ví dụ: http://www.cadviet.com/upfiles/3/105390_vi_du.rar


  11. Hiện mình có 1 bài toán như sau nhưng chưa biết cách giải quyết, mong các cao thủ CadViet giúp đỡ:

    Bản vẽ mình có các block. Mỗi block quy định một kiểu dữ liệu đầu vào. Các dữ liệu này được thông kê bằng tay và lập từ bảng excel sau đó cập nhật vào bản vẽ theo lý trình, số hiệu ....

    Vấn đề khó khăn ở chỗ: Việc thống kê các số liệu này rất nhiều, nếu nhập thủ công vào bản vẽ sẽ mất rất nhiều thời gian.

    Vậy nhờ các cao thủ hướng dẫn cách tự động lấy số liệu trong Excel và vẽ theo mẫu đã định sẵn.

    Bản vẽ đính kèm: http://www.cadviet.com/upfiles/3/105390_hoang_dieu.dwg

×