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

Xuất dữ liệu Excel qua Acad

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

Anh em trên diễn đàn cadviet!

Là người không rành về lisp, nhưng là dân XD, lại luôn tiếp xúc với những yêu cầu về truy xuất dữ liệu thông qua cad. nay e có 1 file excel sau, nhờ a xem và hỗ trợ viết lisp để xuất nó qua cad (với mỗi hàng là 1 điểm-point) với số lượng điểm không giới hạn, có thể chia số thứ tự là 1 layer; x,y,z là 1 layer; ghi chú là 1 layer. Mong a và mọi người hỗ trợ giúp. Rất mong được sự trợ giúp của a và mọi người. file excel sau: http://www.cadviet.com/upfiles/3/file_du_lieu_excel.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
Anh em trên diễn đàn cadviet!

Là người không rành về lisp, nhưng là dân XD, lại luôn tiếp xúc với những yêu cầu về truy xuất dữ liệu thông qua cad. nay e có 1 file excel sau, nhờ a xem và hỗ trợ viết lisp để xuất nó qua cad (với mỗi hàng là 1 điểm-point) với số lượng điểm không giới hạn, có thể chia số thứ tự là 1 layer; x,y,z là 1 layer; ghi chú là 1 layer. Mong a và mọi người hỗ trợ giúp. Rất mong được sự trợ giúp của a và mọi người. file excel sau: http://www.cadviet.com/upfiles/3/file_du_lieu_excel.rar

Bạn tạo 1 layer tên là Point trước rồi mở bản excel lên. Copy cột point cho vào notepad và lưu dưới dạng đuôi scr. Tương tự với cột text và lưu với đuôi scr tương tự. Vào autocad đánh lệnh scr rồi chọn đường dẫn tới file vừa lưu. mỗi lần fun điểm và fun text bạn tạo 1 layer thì nó tự nhận layer hiện thời làm layer. Chúc bạn thành công

http://www.cadviet.com/upfiles/3/file_du_lieu_excel_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 tạo 1 layer tên là Point trước rồi mở bản excel lên. Copy cột point cho vào notepad và lưu dưới dạng đuôi scr. Tương tự với cột text và lưu với đuôi scr tương tự. Vào autocad đánh lệnh scr rồi chọn đường dẫn tới file vừa lưu. mỗi lần fun điểm và fun text bạn tạo 1 layer thì nó tự nhận layer hiện thời làm layer. Chúc bạn thành công

http://www.cadviet.com/upfiles/3/file_du_lieu_excel_1.rar

Trước tiên xin cám ơn bạn nhiều. mình sẽ thử nó thế nào. nhưng ngụ ý của mình ở đây là nếu có 1 đoạn lisp thì hay hơn. cái này dạng như là phun tọa độ của các điểm lên trên cad để vẽ bình đồ (bản đồ địa hình) vậy đó. Nhưng trước hết tui sẽ thử cách của bạn xem thế nào. và đồng thời mình cũng đang tự tìm hiểu lisp. Thanks bạn nhiều. Chúc bạn sức khỏe.

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
Trước tiên xin cám ơn bạn nhiều. mình sẽ thử nó thế nào. nhưng ngụ ý của mình ở đây là nếu có 1 đoạn lisp thì hay hơn. cái này dạng như là phun tọa độ của các điểm lên trên cad để vẽ bình đồ (bản đồ địa hình) vậy đó. Nhưng trước hết tui sẽ thử cách của bạn xem thế nào. và đồng thời mình cũng đang tự tìm hiểu lisp. Thanks bạn nhiều. Chúc bạn sức khỏe.

Đây. Lisp của bạn đây

(defun c:rrr(/ data ten f h line str Code Stt X Y Z ELE Code chon Pnt)
(vl-load-com)
(defun Split(str / i kitu line lst txtPhanbiet)
 (setq i 1 txtPhanbiet (strcat(chr 9)(chr 32)(chr 44)))
 (while (< i (strlen str))
(setq kitu (substr str i 1))
(if (vl-string-search kitu  txtPhanbiet)
  (progn
(if (null Lst)
  (setq Lst (list (substr Str 1 (- i 1))))
  (setq Lst (append Lst (list (read (substr Str 1 (- i 1)))))))
(setq Str (substr Str (+ i 1)) i 1))
  (setq i (1+ i)) )   )
 (setq Lst (append Lst (list Str)))  )
 (or *h* (setq *h* 2 ))
 (initget 6)
 (setq h (getdist (strcat "\nNhap chieu cao Text <" (rtos *h*) "> :")) )
 (if h (setq *h* h) (setq h *h*))
 (if (setq ten (getfiled "Chon File txt" (getvar "dwgprefix") "txt" 8))
(progn
  (setq f (open (findfile ten) "r"))
  (while
(setq Line (read-line f))	
(if (wcmatch Line (strcat "*"(chr 9)"*,*"(chr 32)"*,*"(chr 44)"*"))
  (progn
	(setq data (split Line))
	(setq Stt (nth 0 data))
	(setq X  (nth 1 data))
	(setq Y (nth 2 data))
	(setq Z (nth 3 data))
	(setq Code (nth 4 data))
	(setq ELE (rtos Z 2 2))
	(setq Pnt (list X Y Z))
	(Command "layer" "make" "Point" "" )
	(command "Point" Pnt)
	(Command "layer" "make" "Text" "" )
	(command "Text" Pnt h 0 Code)
 ) ) ) ) )
 (command "zoom" "extents")
 (princ)
 )

  • 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

cho mình hỏi,nếu chuyển đổi như vậy có tiện ích gì so vơi mình copy tu exell sang cad bang pass special, khi mình thay đổi các phép tính trong exell thì trong cad có đổi theo không? dùng lips đấy như thế nào vây? cảm ơn cả 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
Đây. Lisp của bạn đây

(defun c:rrr(/ data ten f h line str Code Stt X Y Z ELE Code chon Pnt)
(vl-load-com)
(defun Split(str / i kitu line lst txtPhanbiet)
 (setq i 1 txtPhanbiet (strcat(chr 9)(chr 32)(chr 44)))
 (while (< i (strlen str))
(setq kitu (substr str i 1))
(if (vl-string-search kitu  txtPhanbiet)
  (progn
(if (null Lst)
  (setq Lst (list (substr Str 1 (- i 1))))
  (setq Lst (append Lst (list (read (substr Str 1 (- i 1)))))))
(setq Str (substr Str (+ i 1)) i 1))
  (setq i (1+ i)) )   )
 (setq Lst (append Lst (list Str)))  )
 (or *h* (setq *h* 2 ))
 (initget 6)
 (setq h (getdist (strcat "\nNhap chieu cao Text <" (rtos *h*) "> :")) )
 (if h (setq *h* h) (setq h *h*))
 (if (setq ten (getfiled "Chon File txt" (getvar "dwgprefix") "txt" 8))
(progn
  (setq f (open (findfile ten) "r"))
  (while
(setq Line (read-line f))	
(if (wcmatch Line (strcat "*"(chr 9)"*,*"(chr 32)"*,*"(chr 44)"*"))
  (progn
	(setq data (split Line))
	(setq Stt (nth 0 data))
	(setq X  (nth 1 data))
	(setq Y (nth 2 data))
	(setq Z (nth 3 data))
	(setq Code (nth 4 data))
	(setq ELE (rtos Z 2 2))
	(setq Pnt (list X Y Z))
	(Command "layer" "make" "Point" "" )
	(command "Point" Pnt)
	(Command "layer" "make" "Text" "" )
	(command "Text" Pnt h 0 Code)
 ) ) ) ) )
 (command "zoom" "extents")
 (princ)
 )

Trước tiên mình cám ơn bạn rất nhiều nha! mình sẽ thử, nếu có vấn đề sẽ nhờ bạn kiểm tra lại dùm. sẽ mời 1 kèo cafe nếu bạn ở SG và có thời gian nha! chúc bạn vui và 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
Trước tiên mình cám ơn bạn rất nhiều nha! mình sẽ thử, nếu có vấn đề sẽ nhờ bạn kiểm tra lại dùm. sẽ mời 1 kèo cafe nếu bạn ở SG và có thời gian nha! chúc bạn vui và thành công...

Không vấn đề gì. Vì mình cũng mới học Lisp thôi. Có gì bạn hãy tham gia nhiều nha. Biết thì cùng chia sẻ, không biết thì ta lại hỏi mà.

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  

×