phung_gtvt 0 Báo cáo bài đăng Đã đăng Tháng 10 1, 2012 Cái này viết thêm cho bạn nè (defun c:dscoc(/ ss i Tue-dxf Tue-ss-list) (defun Tue-dxf (dxf ename)(cdr(assoc dxf (entget ename)))) (defun Tue-ss-list (L-ss-vlaobj / n L Lst ssg vlaobj) (mapcar 'set '(ssg vlaobj) L-ss-vlaobj) (setq L (sslength ssg)) (Repeat L (setq ename (ssname ssg (setq L (1- L)))) (setq Lst (cons (if vlaobj (vlax-ename->vla-object ename) ename) Lst)) ) ) (setq i 0) (princ "\n Chon cac coc nho can danh so : ") (if (setq ss (ssget '((0 . "CIRCLE") (40 . 0.25)))) (foreach x (reverse (Tue-ss-list (list ss))) (entmake (list (cons 0 "TEXT") (cons 1 (itoa (setq i (1+ i)))) (cons 40 0.30) (cons 10 (mapcar '+ (Tue-dxf 10 x) '(0.0 0.5 0.0))) (cons 11 (mapcar '+ (Tue-dxf 10 x) '(0.0 0.5 0.0))) )) ) ) ) -> Lisp lọc chọn các cọc nhỏ và đánh số thứ tự như file kèm theo Cám ơn sự giúp đỡ của anh em. Lisp "dscoc" đánh số rất hay nhưng vẫn chưa thỏa mãn với câu hỏi của mình. Ví dụ, mình nhận được bản vẽ thiết kế với 200 cọc (bản vẽ pdf hoặc bản vẽ giấy), sau đó mình vẽ lại bản vẽ đó, tính được tọa độ các cọc lưu thành file excel rồi, nếu lấy lisp "dscoc" áp dụng vào thì tên cọc không theo thứ tự với bản vẽ thiết kế (không khớp với thứ tự cọc theo list tọa độ). Anh em nào có lisp mà gắn được mối liên quan giữa tọa độ vào tên cọc, sau đó vẽ luôn ra bản vẽ cọc kèm theo tên cọc luôn. Mình không biết về lập trình hay viết lisp gì cả nên nhờ anh em giúp. Mình gửi anh em file excel tọa độ làm ví dụ http://www.cadviet.com/upfiles/3/113288_file_toa_do.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
phamthanhbinh 3.146 Báo cáo bài đăng Đã đăng Tháng 10 4, 2012 Cám ơn sự giúp đỡ của anh em. Lisp "dscoc" đánh số rất hay nhưng vẫn chưa thỏa mãn với câu hỏi của mình. Ví dụ, mình nhận được bản vẽ thiết kế với 200 cọc (bản vẽ pdf hoặc bản vẽ giấy), sau đó mình vẽ lại bản vẽ đó, tính được tọa độ các cọc lưu thành file excel rồi, nếu lấy lisp "dscoc" áp dụng vào thì tên cọc không theo thứ tự với bản vẽ thiết kế (không khớp với thứ tự cọc theo list tọa độ). Anh em nào có lisp mà gắn được mối liên quan giữa tọa độ vào tên cọc, sau đó vẽ luôn ra bản vẽ cọc kèm theo tên cọc luôn. Mình không biết về lập trình hay viết lisp gì cả nên nhờ anh em giúp. Mình gửi anh em file excel tọa độ làm ví dụ http://www.cadviet.c...file_toa_do.rar Hề hề hề, Theo thiển ý cá nhân, vấn đề bạn đặt ra không quá khó. Nếu bạn đồng ý phương án sau đây thì mình tin rằng sẽ làm được. 1/- Bạn hãy tạo các block cọc và đánh số các block này. (Nhất là khi bạn thường xuyên phải sử dụng tới việc vẽ cọc có cấu trúc tương tự nhau) 2/- Dựa vào file excel để insert các block này với tên tuổi và tọa độ của cọc vào bản vẽ. Nếu bạn đồng ý thì hãy gửi ví dụ một vài bản vẽ các block cọc của bạn, mình sẽ giúp viết phần lisp insert các bolock này vào bản vẽ. Hề hề hề,... PS: Trên diễn đàn đang có lớp học online về kỹ thuật lập trình bằng Autolisp. nếu bạn quan tâm và muốn học có thể tham gia vào đó. Điều này sẽ có lợi cho công việc của bạn nhiều hơn nhất là khi bạn phải làm việc nhiều với lisp. 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