Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
leducthovn

Xin Lsp Vẽ Đường Pline Theo Toạ Độ Có Sẵn Trong Excel

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

leducthovn    1

Nhờ các bạn giúp cho tôi xin lsp vẽ đường pline nối các điểm có sẵn toạ độ trong file text hoặc excel đã có. Tôi có tìm kiếm lsp đó trên diễn đàn mà không sử dụng được lsp nào. Có quá nhiều toạ độ để vẽ mà đánh lại thì bao giờ mới xong. Mong các bạn giúp. Xin cảm ơn trước.

Tôi có cái lsp đưa cao độ lên cad theo toạ độ cho trước bằng cách: copy phần màu vàng trong bảng excel và paste vào cad là được. Nếu có thể mình áp dụng tương tự với lsp mình nhờ thì tốt quá. Xin cảm ơn!http://www.cadviet.com/upfiles/5/42335_dua_cao_do_len_cad.rar

  • Vote giảm 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

mình mới tham gia diễn đàn.

Lisp này mình dùng cũng lâu nhờ copy, tổng hợp và chỉnh lại một vài điểm cho phù hợp với công việc của mình

Bạn xem thử dùng được không nhé

 

Để sử dụng lisp này, bạn cần tạo một file *.txt gồm 4 cột như trong file excel của bạn (bỏ phần màu vàng đi)

Sau khi dùng lệnh "drawpline" thì bạn chọn file vừa tạo ra, vậy là xong.

http://www.cadviet.com/upfiles/5/148547_drawpline.lsp

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
leducthovn    1

mình mới tham gia diễn đàn.

Lisp này mình dùng cũng lâu nhờ copy, tổng hợp và chỉnh lại một vài điểm cho phù hợp với công việc của mình

Bạn xem thử dùng được không nhé

 

Để sử dụng lisp này, bạn cần tạo một file *.txt gồm 4 cột như trong file excel của bạn (bỏ phần màu vàng đi)

Sau khi dùng lệnh "drawpline" thì bạn chọn file vừa tạo ra, vậy là xong.

http://www.cadviet.com/upfiles/5/148547_drawpline.lsp

Cảm ơn bạn đã chia sẻ cho tôi nhưng bị lỗi "Unknown command "SPLIT".  Press F1 for help." bạn ạ. Hic

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

Lệnh là drawpline. Không phải SPLIT.

Hề hề hề,

Trong lisp này có sử dụng hàm con split (chắc là để tách chuỗi đọc được thành danh sách các tọa độ). Song người post lisp đả quên không post kèm cả cái hàm con này nên khi chạy lệnh drawpline lisp mới báo lỗi như vầy 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

cám ơn bác phamthanhbinh nhắc nhở em.. chẳng là mọi thứ em đều sưu tầm từ cadviet thôi ạ..

em đã chép thêm hàm con vào (từ cadviet) và cũng đã test lại thấy nó chạy bình thường.

@ educthovn : bạn chép lại lisp này nghe. Hy vọng hữu ích... mình thấy trên diễn đàn có nhiều lisp còn hay hơn cái này, bạn chịu khó tìm thêm

 

 

(defun c:drawpline ()
  (setq osmode (getvar "OSMODE"))
  (setq coor_list '())
  (setq    tenfile
     (getfiled "Select a File txt" (getvar "dwgprefix") "txt" 8)
  )
  (setq f (open (findfile tenfile) "r"))
  (while (setq Line (read-line f))
    (if    (vl-string-search "\t" Line)
      (setq coor_list (append coor_list (list (cdr (split Line "\t")))))
    )
  )
  (setvar "osmode" 0)
  (setq i 0)
  (command ".pline")
  (while (< i (length coor_list))
    (command (nth i coor_list))
    (setq i (+ 1 i))
  )
  (command "")
  (setvar "osmode" osmode)
)


(defun Split (Str Char / Lst)
  (while (setq Local (vl-string-search Char Str))
    (if    (null Lst)
      (setq Lst    (list (substr Str 1 Local))
        Str    (substr Str (+ Local 2))
      )
      (setq Lst    (append Lst (list (read (substr Str 1 Local))))
        Str    (substr Str (+ Local 2))
      )
    )
  )
  (setq Lst (append Lst (list (read Str))))
)

  • 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
leducthovn    1

cám ơn bác phamthanhbinh nhắc nhở em.. chẳng là mọi thứ em đều sưu tầm từ cadviet thôi ạ..

em đã chép thêm hàm con vào (từ cadviet) và cũng đã test lại thấy nó chạy bình thường.

@ educthovn : bạn chép lại lisp này nghe. Hy vọng hữu ích... mình thấy trên diễn đàn có nhiều lisp còn hay hơn cái này, bạn chịu khó tìm thêm

 

 

(defun c:drawpline ()

  (setq osmode (getvar "OSMODE"))

  (setq coor_list '())

  (setq    tenfile

     (getfiled "Select a File txt" (getvar "dwgprefix") "txt" 8)

  )

  (setq f (open (findfile tenfile) "r"))

  (while (setq Line (read-line f))

    (if    (vl-string-search "\t" Line)

      (setq coor_list (append coor_list (list (cdr (split Line "\t")))))

    )

  )

  (setvar "osmode" 0)

  (setq i 0)

  (command ".pline")

  (while (< i (length coor_list))

    (command (nth i coor_list))

    (setq i (+ 1 i))

  )

  (command "")

  (setvar "osmode" osmode)

)

 

 

(defun Split (Str Char / Lst)

  (while (setq Local (vl-string-search Char Str))

    (if    (null Lst)

      (setq Lst    (list (substr Str 1 Local))

        Str    (substr Str (+ Local 2))

      )

      (setq Lst    (append Lst (list (read (substr Str 1 Local))))

        Str    (substr Str (+ Local 2))

      )

    )

  )

  (setq Lst (append Lst (list (read Str))))

)

Cảm ơn bạn rất nhiều tuy nhiên hình như vẫn chưa được. Mình đã thử rồi nhưng chưa được. Mình sưu tầm được lsp này đã ok rồi, chia sẻ với anh em nếu cần dùng.http://www.cadviet.com/upfiles/5/42335_ve_pline_tu_so_lieu_txt_09122015ver2.lsp

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


×