Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
thonggtcc

[Yêu cầu] Nhờ giúp 1 lisp chèn Block từ Excel

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

Do công việc phải làm lặp đi lặp lại nhiều lần với các Block trong bản vẽ. Nên mình xin các cao thủ của diễn đàn Cadviet.com giúp đỡ 1 lisp điền các Block bằng phương pháp lấy số liệu từ Excel như file đính kèm: http://www.cadviet.com/upfiles/3/105390_vi_du_3.rar

Xin chân thành cảm ơ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à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

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à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.

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ào bạn.

-Theo mình bạn nên tách cái lý trình cần tính ra hai cột: X,Y

-Dữ liệu nữa là cột Z:Tên Block

-Sau khi có đủ dữ liệu thì bạn chèn sẽ dễ dàng hơn rất nhiều.

Nếu bạn làm được như vậy tôi giúp theo như Video sau

  • 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

OK.Mình viết bằng VBA. Đợi mình sang tuần mình úp cho? Code để trên máy cty roài

Thân!

 

Ok. Minh sửa nội dung theo Video của bạn, tuy nhiên có bổ sung 1 số yêu cầu (theo file Excel).

Nhờ bạn giúp hộ mình với.

Thanks.http://www.cadviet.com/upfiles/3/105390_vi_du_2_1.rar

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

Bận quá.Gửi lại bạn File yêu cầu

Mình chỉ xử lý chèn Block trái và phải tuyến.

HD: tải file Xuat BLK => giải nén => Mở cad => Lệnh AP: load 2 file IBLK.vlx, IBLK.dvb => Lệnh chèn là: IBLK => Làm theo huong dan

(Chú ý: File dữ liệu nằm cùng Folder với Bản vẽ cần chèn)

Thân!

http://www.cadviet.c..._xuat_blk_1.rar

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

Bạn chú ý, có thể lỗi đó là do trong bản vẽ của bạn chưa có sẵn các Block có tên như trong cột ở bảng Excel (Quan trọng)

Thân!

Có gì bạn cứ pm.Mấy cái yêu cầu khác cần có timer,nếu bạn muốn email riêng:nguyenngocson@live.com

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

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.

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

Đôi lời góp ý. Cái tọa độ (0,0) của bạn thì do bạn đưa ra như thế thôi. Còn nếu chính xác phải chọn 1 đối tượng nào đó làm chuẩn.

- Bên trái tuyến = Phải tuyến có thể code lại để khác nhau vẫn ok:)

- Để 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 :)

- 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

Thâ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

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.

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

Like this đi :)

Xong cho bạn đấy

1.Không cần thiết số km bên trái, phải bằng nhau

2. Nhập chiều cao chữ ký hiệu.

3.File dữ liệu mấu như file

Hãy thử xem !

Thân !http://www.cadviet.com/upfiles/3/48467_xuat_blk_2.rar

  • 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

Like this đi :)

Xong cho bạn đấy

1.Không cần thiết số km bên trái, phải bằng nhau

2. Nhập chiều cao chữ ký hiệu.

3.File dữ liệu mấu như file

Hãy thử xem !

Thân !http://www.cadviet.com/upfiles/3/48467_xuat_blk_2.rar

Link die hết rồi, bạn nào gửi lại cho mình xin lisp này với, đang cần gấp

Thanks!

 

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
Đăng nhập để thực hiện theo  

×