Đến nội dung


Hình ảnh
- - - - -

chuyển số liệu text từ cad sang excell


  • Please log in to reply
57 replies to this topic

#21 VUVUZELA

VUVUZELA

    biết lệnh chamfer

  • Members
  • PipPipPipPip
  • 210 Bài viết
Điểm đánh giá: 97 (tàm tạm)

Đã gửi 12 October 2010 - 10:06 AM

Bạn chạy thử Code này nhé :


(defun c:CTE(/ ss ent sht dtich cthua gchu lst i fname)
;copyright by Tue_NV
(IF (ACET-UTIL-VER)
(PROGN
(iF (setq ss (ssget '((0 . "*POLYLINE") (70 . 1))))
(pROGN (setq i -1 lst '())
(while (setq ent (ssname ss (setq i (1+ i))))
(setq L (acet-geom-vertex-list ent))
(if (and (setq sht (ssget "CP" L '((0 . "*TEXT") (8 . "Sothua") (1 . "~*[~0-9]*"))))
(setq dtich (ssget "CP" L '((0 . "*TEXT") (8 . "Dientich") (1 . "*#.#*,*#,#*"))))
(setq cthua (ssget "CP" L '((0 . "*TEXT") (8 . "Text") (1 . "*@*"))))
(setq gchu (ssget "CP" L '((0 . "*TEXT") (8 . "Dientich") (1 . "@@@"))))
)
(setq lst (vl-sort
(append lst
(list
(mapcar '(lambda(x)
(acet-dxf 1 (entget x))
)
(apply 'append
(mapcar 'acet-ss-to-list
(list sht sht cthua dtich gchu)
)
)
)
)
);append
'(lambda (x1 x2) (< (atoi (car x1)) (atoi (car x2))))
);vl-sort
)
)
);while
;;;;;;;;;;;;;;
(if (setq fName (getfiled "Ten file xuat " (getvar "dwgprefix") "xls" 1))
(progn
(setq fName (open fName "w"))
(write-line "STT\tSO HIEU THUA\tCHU THUA\tDIEN TICH\tGHI CHU" fname)
(foreach pt lst
(write-line (strcat (nth 0 pt) "\t" (nth 1 pt) "\t" (nth 2 pt) "\t"
(nth 3 pt) "\t" (nth 4 pt)) fName)
)
(close fName)
)
)
))));PROGN_IF
(setvar "modemacro" "Chuc ban lam viec hieu qua - tue_nvcc@yahoo.com")
(princ)
)


Bác Tue_NV ơi
Mấy cái ký hiệu * # @ gì gì đó có nghĩa là gì vậy
Bác có thể giải thích được không ?
  • 0

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong


#22 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 12 October 2010 - 10:15 AM

Bác Tue_NV ơi
Mấy cái ký hiệu * # @ gì gì đó có nghĩa là gì vậy
Bác có thể giải thích được không ?

to VUVUZELA, hơi bị ngạc nhiên đấy :cheers:
Xem help của hàm WCMATCH
Hình đã gửi
  • 0

#23 thanhvienmoi1981

thanhvienmoi1981

    biết pan

  • Members
  • Pip
  • 5 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 02 November 2010 - 08:15 PM

Bạn Tue_NV xem lại dùm sao file này không xuất sang excel được. Sao khi apload lisp lên gõ lệnh CTE và chọn đối tượng thì chương trình báo Specify opposite corner: 0 found. Mình có cần phải tạo tâm thửa trước không, tạo bằng cách nào bạn chỉ dùm mình với. Bạn xem file và làm dùm mình nhé:
http://www.cadviet.c...iles/3/vd_9.rar
Cám ơn bạn nhiều
  • 0

#24 pdhuyxn2

pdhuyxn2

    biết vẽ circle

  • Members
  • PipPip
  • 37 Bài viết
Điểm đánh giá: -4 (bình thường)

Đã gửi 25 November 2010 - 09:56 AM

Vấn đề là trong thửa đất của em có 3 hộ hặc nhiều hơn nữa Vậy khi xuất xang excel các hộ trong 1 thửa phải cùng trong 1 cột, ngăn cách bằng dấy "," hặc dấu ";" như trong ví dụ em up lên .Nhờ các bác bổ xung lisp này em với xin trân thành cảm ơn các bác.
http://www.cadviet.c...es/3/vidu_3.rar
  • 0

#25 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 25 November 2010 - 11:22 AM

Vấn đề là trong thửa đất của em có 3 hộ hặc nhiều hơn nữa Vậy khi xuất xang excel các hộ trong 1 thửa phải cùng trong 1 cột, ngăn cách bằng dấy "," hặc dấu ";" như trong ví dụ em up lên .Nhờ các bác bổ xung lisp này em với xin trân thành cảm ơn các bác.
http://www.cadviet.c...es/3/vidu_3.rar

Bạn thử cái này nhé :

(defun c:CTE(/ ss ent sht dtich cthua gchu i fname lst chuoi)
;copyright by Tue_NV
(IF (ACET-UTIL-VER)
(PROGN
(iF (setq ss (ssget '((0 . "*POLYLINE") (70 . 1))))
(pROGN (setq i -1 lst '())
(while (setq ent (ssname ss (setq i (1+ i))))
(setq L (acet-geom-vertex-list ent))
(if (and (setq sht (ssget "CP" L '((0 . "*TEXT") (8 . "Sothua") (1 . "~*[~0-9]*"))))
(setq dtich (ssget "CP" L '((0 . "*TEXT") (8 . "Dientich") (1 . "*#.#*,*#,#*"))))
(setq cthua (ssget "CP" L '((0 . "*TEXT") (8 . "Text") (1 . "*@*"))))
(setq gchu (ssget "CP" L '((0 . "*TEXT") (8 . "Dientich") (1 . "@@@"))))
)
(setq lst (vl-sort
(append lst
(list
(mapcar '(lambda(x)
(acet-dxf 1 (entget x))
)
(apply 'append
(mapcar 'acet-ss-to-list
(list sht sht cthua dtich gchu)
)
)
)
)
);append
'(lambda (x1 x2) (< (atoi (car x1)) (atoi (car x2))))
);vl-sort
)
)
);while
;;;;;;;;;;;;;;
(if (setq fName (getfiled "Ten file xuat " (getvar "dwgprefix") "xls" 1))
(progn
(setq fName (open fName "w") )
(write-line "STT\tSO HIEU THUA\tCHU THUA\tDIEN TICH\tGHI CHU" fname)
(foreach pt lst
(if (>= (setq lenpt (length pt)) 5)
(progn
(setq i 1 chuoi "")
(write-line (strcat (nth 0 pt) "\t" (nth 1 pt) "\t"
(Repeat (- lenpt 4)
(setq i (1+ i))
(if (= lenpt 5)
(setq chuoi (nth i pt))
(setq chuoi (strcat chuoi (nth i pt) " ;"))
)
)
"\t" (nth (- lenpt 2) pt) "\t" (nth (- lenpt 1) pt)) fName)
)
)
)
(close fName)
)
)
))));PROGN_IF
(setvar "modemacro" "Chuc ban lam viec hieu qua - tue_nvcc@yahoo.com")
(princ)
)

  • 0

#26 pdhuyxn2

pdhuyxn2

    biết vẽ circle

  • Members
  • PipPip
  • 37 Bài viết
Điểm đánh giá: -4 (bình thường)

Đã gửi 25 November 2010 - 01:55 PM

Cám ơn Bác Tue_NV đã giúp em .Em đã sửa lại lisp để xuất sang excel chỉ cần lấy số thửa và tên hộ trong thửa mà mãi không được Nhờ Bác giúp em.Cám ơn Bác.
  • 0

#27 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 25 November 2010 - 02:36 PM

Cám ơn Bác Tue_NV đã giúp em .Em đã sửa lại lisp để xuất sang excel chỉ cần lấy số thửa và tên hộ trong thửa mà mãi không được Nhờ Bác giúp em.Cám ơn Bác.

Không hiểu ý của bạn.
Lisp trên viết không đúng yêu cầu của bạn hay sao?

Vấn đề là trong thửa đất của em có 3 hộ hặc nhiều hơn nữa Vậy khi xuất xang excel các hộ trong 1 thửa phải cùng trong 1 cột, ngăn cách bằng dấy "," hặc dấu ";" như trong ví dụ em up lên .Nhờ các bác bổ xung lisp này em với xin trân thành cảm ơn các bác.
http://www.cadviet.c...es/3/vidu_3.rar

Ý của bạn như thế nào?
Upload file và nói rõ nhé.
  • 0

#28 pdhuyxn2

pdhuyxn2

    biết vẽ circle

  • Members
  • PipPip
  • 37 Bài viết
Điểm đánh giá: -4 (bình thường)

Đã gửi 25 November 2010 - 03:29 PM

Không hiểu ý của bạn.
Lisp trên viết không đúng yêu cầu của bạn hay sao?

Ý của bạn như thế nào?
Upload file và nói rõ nhé.


Chào Bác Tue_NV Lisp của bác rất chuẩn rồi . Xong phần bản đồ địa chính của em chỉ có 2 cột đó là số thửa và tên số các hộ trong thửa đất. Vậy mong bác giúp đỡ.
  • 0

#29 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 25 November 2010 - 03:56 PM

Chào Bác Tue_NV Lisp của bác rất chuẩn rồi . Xong phần bản đồ địa chính của em chỉ có 2 cột đó là số thửa và tên số các hộ trong thửa đất. Vậy mong bác giúp đỡ.

Bạn có thể mở file Excel lên và delete các cột không cần thiết đi cơ mà :leluoi:
  • 0

#30 pdhuyxn2

pdhuyxn2

    biết vẽ circle

  • Members
  • PipPip
  • 37 Bài viết
Điểm đánh giá: -4 (bình thường)

Đã gửi 25 November 2010 - 05:13 PM

Bản đồ địa chính của em chỉ có 2 cột đó là số thửa và tên số các hộ trong thửa đất như ví dụ file em sẽ up lên . Vậy mong bác giúp đỡ.

http://www.cadviet.c...iles/3/vd_4.dwg
  • 0

#31 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 25 November 2010 - 05:24 PM

Bản đồ địa chính của em chỉ có 2 cột đó là số thửa và tên số các hộ trong thửa đất như ví dụ file em sẽ up lên . Vậy mong bác giúp đỡ.

http://www.cadviet.c...iles/3/vd_4.dwg

Sao bạn không upload file sớm để khỏi mất thời gian không?
Của bạn đây :


;; free lisp from cadviet.com

(defun c:CTE(/ ss ent sht dtich cthua gchu i fname lst chuoi)
;copyright by Tue_NV
(IF (ACET-UTIL-VER)
(PROGN
(iF (setq ss (ssget '((0 . "*POLYLINE") (70 . 1))))
(pROGN (setq i -1 lst '())
(while (setq ent (ssname ss (setq i (1+ i))))
(setq L (acet-geom-vertex-list ent))
(if (and (setq sht (ssget "CP" L '((0 . "*TEXT") (8 . "Sothua") (1 . "~*[~0-9]*"))))
(setq cthua (ssget "CP" L '((0 . "*TEXT") (8 . "Text") (1 . "*@*"))))
)
(setq lst (vl-sort
(append lst
(list
(mapcar '(lambda(x)
(acet-dxf 1 (entget x))
)
(apply 'append
(mapcar 'acet-ss-to-list
(list sht sht cthua)
)
)
)
)
);append
'(lambda (x1 x2) (< (atoi (car x1)) (atoi (car x2))))
);vl-sort
)
)
);while
;;;;;;;;;;;;;;
(if (setq fName (getfiled "Ten file xuat " (getvar "dwgprefix") "xls" 1))
(progn
(setq fName (open fName "w") )
(write-line "STT\tSO HIEU THUA\tCHU THUA" fname)
(foreach pt lst
(if (>= (setq lenpt (length pt)) 3)
(progn
(setq i 1 chuoi "")
(write-line (strcat (nth 0 pt) "\t" (nth 1 pt) "\t"
(Repeat (- lenpt 2)
(setq i (1+ i))
(if (= lenpt 3)
(setq chuoi (nth i pt))
(setq chuoi (strcat chuoi (nth i pt) " ;"))
)
)
) fName)
)
)
)
(close fName)
)
)
))));PROGN_IF
(setvar "modemacro" "Chuc ban lam viec hieu qua - tue_nvcc@yahoo.com")
(princ)
)

Có lẽ nên viết 1 dialog cho user có thêm lựa chọn
Tue_Nv với thời gian bận rộn bây giờ có muốn viết nhưng cũng không được
Chúc bạn vui.
  • 2

#32 pdhuyxn2

pdhuyxn2

    biết vẽ circle

  • Members
  • PipPip
  • 37 Bài viết
Điểm đánh giá: -4 (bình thường)

Đã gửi 25 November 2010 - 06:53 PM

Cái này đúng như em cần. Em cám ơn Bác Tue_NV nhiều nhiều. Chúc bác và gia đình luôn mạnh khoẻ và hạnh phúc.
  • 0

#33 hoangtan_vn

hoangtan_vn

    biết zoom

  • Members
  • Pip
  • 11 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 30 December 2010 - 11:13 PM

Chào bác Tue_NV, sau một thời gian sử dụng Lisp của bác em thấy đã mang lại hiệu quả phần nào trong công tác thống kê các đối tượng là TEXT ,
Em có ý tưởng này rất mong bác và các bạn có thể giúp đỡ
Nếu ý tưởng này của em thành công thì việc thống kê các đối tượng dạng TEXT sẽ dễ dàng hơn rất nhiều
Ý tưởng của em là " Chuyển các đối tượng TEXT trong một vùng kín từ CAD sang Excell dựa vào màu sắc của TEXT"

- Các TEXT có cùng một màu được thống kê trên một cột Excell
- Không quan tâm đến việc đặt tên Layer
- Thống kê được nhiều đối tượng TEXT hơn
- Thống kê các đối tượng TEXT theo quy tắc từ TRÁI sang PHẢI, từ TRÊN xuống Dưới

Đây là bản vẽ của em với 5 loại màu đặc trưng của TEXT

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

Em rất mong được các bác trên diễn đàn giúp đỡ
Em xin cảm ơn !
  • 0

#34 thanhphothang5

thanhphothang5

    biết zoom

  • Members
  • Pip
  • 11 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 21 November 2011 - 03:10 PM

khi coppy từ excell sang cad không muôn mang cả nền trắng sang cad thì làm thế nào .ai biết chỉ giúp với xin trân trọng cảm ơn
  • 0

#35 tientracdia

tientracdia

    biết lệnh scale

  • Members
  • PipPipPip
  • 147 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 11 December 2012 - 04:48 PM

Cám ơn Bạn nha. Lisp của bạn xuất thuộc tính trong thửa ra excel rất hay.
Mình thường làm công tác san nền muốn xuất các ô khối lượng trong vòng tròn ra file excel theo từng nội dung lớp theo hàng ngang.
Rất mong được bạn giúp.
http://www.cadviet.c...at_ra_excel.rar
  • 0

#36 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 14 December 2012 - 11:13 AM

Cám ơn Bạn nha. Lisp của bạn xuất thuộc tính trong thửa ra excel rất hay.
Mình thường làm công tác san nền muốn xuất các ô khối lượng trong vòng tròn ra file excel theo từng nội dung lớp theo hàng ngang.
Rất mong được bạn giúp.
http://www.cadviet.c...at_ra_excel.rar

Hề hề hề,
Bạn cần nói rõ hơn việc xuất số liệu theo từng ô là xuất thế nào. Theo từng vòng tròn hay theo từng ô vuông?? Các vòng trò nằm trên biên ô vuông có xuất hay không??? Có cần theo trật tự của các số hiệu trên mỗi vòng tròn hay không???
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#37 tientracdia

tientracdia

    biết lệnh scale

  • Members
  • PipPipPip
  • 147 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 14 December 2012 - 01:25 PM

Mình muốn xuất số liệu từ Cad sang excel của bản vẽ san nền ra file excel với thứ tự như sau:
1. Cao độ tự nhiên tại các mắt ô lưới lớp CDTN.
2. Xuất các nội dung trong vòng tròn ghi kết quả tính khối lượng gồm : STT, CCTC, Dtich và khối lượng ( đào , đấp ) theo lớp đã thể hiện trên bản vẽ.
việc xuất theo thứ tự của số liệu ô lưới, nhỏ trước, lớn sau.
Rất cám ơn được bạn giúp.
  • 0

#38 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 14 December 2012 - 02:58 PM

Mình muốn xuất số liệu từ Cad sang excel của bản vẽ san nền ra file excel với thứ tự như sau:
1. Cao độ tự nhiên tại các mắt ô lưới lớp CDTN.
2. Xuất các nội dung trong vòng tròn ghi kết quả tính khối lượng gồm : STT, CCTC, Dtich và khối lượng ( đào , đấp ) theo lớp đã thể hiện trên bản vẽ.
việc xuất theo thứ tự của số liệu ô lưới, nhỏ trước, lớn sau.
Rất cám ơn được bạn giúp.

Hề hề hề,
1/- Mình không phải là dân chuyên ngành của bạn nên những điều bạn nói mình rất khó hình dung.
2/- Bạn hãy gửi 1 file thể hiện kết quả lên để mình tiện so sánh.
3/- trên bản vẽ và file csv bạn đã gửi mình thấy có những mâu thuẫn mà chưa giải thích được. Tỷ như trên file csv thì có tới hai cột Main_V_Dao trong khi trên bản vẽ không có lớp nào tên như vậy. Nhưng trong vòng tròn thì lại có tới hai text thuộc lớp Main_V_Dap. vậy có thống kê không và ghi nó vào đâu. Hai text này thì lấy cái nào trước cái nào sau???
4/- Trật tự các cột trong file csv không giống với trật tự các text trong vòng tròn, Vậy xuất kết quả theo trật tự nào???
5/- Trong các text cần xuất có sử dụng ký tự "," như vậy khi xuất sang csv nó sẽ bị nhảy cột tại vị trí của ký tự này. Có thể thay ký tự này bằng ký tự khác đước không??? Tỷ như (16,53) thay bằng (16-53) chẳng hạn.
6/- Thự tự thống kế theo bạn nói là theo số liệu ô lưới. Số liệu này lấy ở đâu trong các text trong vòng tròn??? Các số (16,53) và (16,53-1) thì sắp xếp thế nào???
Bạn cần có file kết quả mẫu thì may ra mình mới mò mẫm để hiểu được.
Hề hề hề.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#39 tientracdia

tientracdia

    biết lệnh scale

  • Members
  • PipPipPip
  • 147 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 14 December 2012 - 07:33 PM

cám ơn Bạn, Vấn đề này hơi phức tạp ha..
Trước tiên mình muốn xuất các nội dung trong vòng tròn ra file excel khi chọn toàn bộ các vòng tròn đó theo hàng ngang với thứ tự Main_H_Dap Main_S_Dap Main_V_Dap Main_H_Dao Main_V_Dao Main_S_Dao Main_S_O
rất cám ơn bạn giúp
http://www.cadviet.c...at_ra_excel.rar
  • 0

#40 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 15 December 2012 - 10:57 PM

cám ơn Bạn, Vấn đề này hơi phức tạp ha..
Trước tiên mình muốn xuất các nội dung trong vòng tròn ra file excel khi chọn toàn bộ các vòng tròn đó theo hàng ngang với thứ tự Main_H_Dap Main_S_Dap Main_V_Dap Main_H_Dao Main_V_Dao Main_S_Dao Main_S_O
rất cám ơn bạn giúp
http://www.cadviet.c...at_ra_excel.rar

Hề hề hề,
Phức tạp hay đơn giản thì chỉ có bạn hiểu mà thôi. Còn mình là dân ngoại ngạch nên chỉ là thiên lôi chỉ đâu đánh đó. Đôi khi đánh nhầm cũng là chuyện thường ngày của thằng thiên lôi. Tội vạ đã có bạn chịu giùm mà.
Đây là cái thiên lôi đó. trúng trật bạn ráng chịu nhé.
http://www.cadviet.c...ttext2excel.lsp
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.