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

Xin lisp trích xuất thông tin của các thửa đất.

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

Tình hình là thằng em mới vào nghề, nay gặp trường hợp này mà không biết phải làm thế nào. Em có file cad chứa bản đồ giải thửa, mỗi thửa chứa thông tin như Tên chủ thửa, số thứ tự thửa, diện tích thửa. Em muốn xin đoạn lisp trích xuất được tên chủ thửa, diện tích đi kèm và có thể thì cho em thêm địa chỉ của chủ thửa. Do em chỉ làm công tác thống kê diện tích thôi, mà bản vẽ này lại nhiều số thửa quá. Mong các cao thủ diễn đàn giúp đỡ em. File em nó đây ạ http://www.cadviet.com/upfiles/3/ .

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
Tue_NV    3.841

Tình hình là thằng em mới vào nghề, nay gặp trường hợp này mà không biết phải làm thế nào. Em có file cad chứa bản đồ giải thửa, mỗi thửa chứa thông tin như Tên chủ thửa, số thứ tự thửa, diện tích thửa. Em muốn xin đoạn lisp trích xuất được tên chủ thửa, diện tích đi kèm và có thể thì cho em thêm địa chỉ của chủ thửa. Do em chỉ làm công tác thống kê diện tích thôi, mà bản vẽ này lại nhiều số thửa quá. Mong các cao thủ diễn đàn giúp đỡ em. File em nó đây ạ http://www.cadviet.com/upfiles/3/ .

Link của file bạn có vấn đề.

Chủ đề tương tự về Xuất Tên chủ thửa, số thứ tự thửa, diện tích thửa như của bạn (Tue_NV đã viết) ở đây :

http://www.cadviet.com/forum/index.php?showtopic=310

 

Bạn đọc nhé

  • 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
phamthanhbinh    3.123

Tình hình là thằng em mới vào nghề, nay gặp trường hợp này mà không biết phải làm thế nào. Em có file cad chứa bản đồ giải thửa, mỗi thửa chứa thông tin như Tên chủ thửa, số thứ tự thửa, diện tích thửa. Em muốn xin đoạn lisp trích xuất được tên chủ thửa, diện tích đi kèm và có thể thì cho em thêm địa chỉ của chủ thửa. Do em chỉ làm công tác thống kê diện tích thôi, mà bản vẽ này lại nhiều số thửa quá. Mong các cao thủ diễn đàn giúp đỡ em. File em nó đây ạ http://www.cadviet.com/upfiles/3/ .

Hề hề hề,

Xin nhắc bạn cuibapchamcom. Bạn đã post liên tiếp ba chủ đề cùng một nội dung là vi phạm quy định của diễn đàn. Lần này mình vẫn để lại một topic đã có bài trả lời. Lần sau mình sẽ xóa sạch các topic như vậy. Hy vọng bạn lưu tâm và tôn trọng quy định chung.

  • 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

Em xin lỗi, tại lần đầu post lên diễn đàn, lúc up cái file lên rồi ấn cái nút gửi mà sao mãi ko thấy nó được, đến lúc ra ngoài lại thì thấy 3 chủ đề của mình lại giống nhau. Các pác thông cảm 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
Doan Van Ha    2.676

Em cám ơn bác Tue_NV nhé ! Chúc bác mạnh khỏe và thành công trong cuộc sống.

Hãy cám ơn người giúp đỡ bạn bằng cách nhấn nút "Like This" thì càng tuyệt vời hơ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

Nhờ bác Tuệ và các cao thủ giúp em với, em down lisp của bác về dùng nhưng khi chọn đối tượng thì nó báo là không chọn được đối tượng nào cả. em xin gửi file cho các bác xem thử.

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
Doan Van Ha    2.676

Nhờ bác Tuệ và các cao thủ giúp em với, em down lisp của bác về dùng nhưng khi chọn đối tượng thì nó báo là không chọn được đối tượng nào cả. em xin gửi file cho các bác xem thử.

Bạn chú ý các điều sau đây khi sử dụng lisp của bác Tue_NV:

1). Khi chọn đối tượng thì bạn chọn các Lwpolyline bao quanh thửa đất (tức là các đường ranh giới thửa đất).

2). Trong lisp bạn thay "Text" bởi "Chu SD".

3). Chỉ những thửa nào có đủ 4 thành phần: số thửa, tên chủ SD, diện tích và ghi chú mới được xuất ra file. Do đó thửa nào thiếu thì bạn nhớ điền cho đủ.

Thân thươ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

Híc, mình làm mãi mà chẳng được, cái file của mình người ta đưa để mình thống kê, các đường ranh của các thửa lại là đường line chứ không phải polyline. mình up file lên nhờ các bác giúp mình với.http://www.cadviet.com/upfiles/3/60697_tong_buontria.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
Doan Van Ha    2.676

Híc, mình làm mãi mà chẳng được, cái file của mình người ta đưa để mình thống kê, các đường ranh của các thửa lại là đường line chứ không phải polyline. mình up file lên nhờ các bác giúp mình với.http://www.cadviet.c...ng_buontria.rar

Tôi đã xem bản vẽ của bạn và thấy nhiệm vụ này có vẽ bất khả thi (ít nhất là với tôi), vì những lý do sau:

1). Các đường biên đều vẽ bằng Line chứ không phải Lwpolyline.

2). Các (6) thông số của mỗi thửa đất nằm rất lộn xộn: trong thửa có, ngoài thửa có, trên đường biên cũng có. Phải chi nó là Block thì đỡ.

Thân thươ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

Híc, cái bản vẽ này người ta đưa cho em là như thế, em có dùng lệnh PE để chuyển line thành polyline nhưng nó chuyển không hết, mặt khác các thông tin của thửa đất lại cùng layer nên mới mệt. Các cao thủ có ai giúp em với :( !

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
Tue_NV    3.841

Híc, cái bản vẽ này người ta đưa cho em là như thế, em có dùng lệnh PE để chuyển line thành polyline nhưng nó chuyển không hết, mặt khác các thông tin của thửa đất lại cùng layer nên mới mệt. Các cao thủ có ai giúp em với :( !

Kết quả mong muốn của bạn là xuất sang file Excel phải không?

Phiền bạn upload luôn file kết quả mà bạn cần xuất nhé!

PS: Bài toán của bạn hơi khó ở chổ những thửa hẹp, diện tích nhỏ, Lisp có thể sẽ bị nhầm......

  • 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

Kết quả mong muốn của bạn là xuất sang file Excel phải không?

Phiền bạn upload luôn file kết quả mà bạn cần xuất nhé!

PS: Bài toán của bạn hơi khó ở chổ những thửa hẹp, diện tích nhỏ, Lisp có thể sẽ bị nhầm......

Cám ơn bác Tue_NV đã quan tâm, em xin up file muốn xuất lên, nhờ bác giúp đỡ. Những thửa hẹp, diện tích nhỏ có thể bỏ qua cúng được bác ạ. Chúc bác sức khỏe, thành đạt.http://www.cadviet.com/upfiles/3/60697_xuat.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
ketxu    2.651

Có thể mình giúp được bạn phần nào, nhưng để có được kết quả thì phải trao đổi thêm nhiều thông tin nữa :) Bạn có thiện chí thì tối rỗi pm YH mình :)

  • 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
Tue_NV    3.841

Cám ơn bác Tue_NV đã quan tâm, em xin up file muốn xuất lên, nhờ bác giúp đỡ. Những thửa hẹp, diện tích nhỏ có thể bỏ qua cúng được bác ạ. Chúc bác sức khỏe, thành đạt.http://www.cadviet.c.../60697_xuat.rar

Dữ liệu của bạn là các Text rời rạc, không tuân theo 1 quy luật nào cả. Nếu trong vùng chọn Lisp không chọn được đối tượng thỏa mãn thì Cell được để trống. Còn trong vùng chọn, Lisp có thể chọn nhiều hơn 1 đối tượng thỏa mãn thì nó đánh dấu ? vì không biết chọn đối tượng nào.

Ví dụ trong những thửa hẹp, text chủ thửa bị đè lên nhau thì Cell được đánh dấu ?. Bạn bổ sung thêm dữ liệu ở Cell có dấu ? và Cell để trống nhé

Gửi bạn code này. Bạn thử nhé :


(defun c:xuattt(/ ss ename i TB minp maxp e_cthua e_tct e_tobd e_DT e_ddiem fName file )
 (defun Tue-geom-Txtbox(ename offset / TB BL TR offs)
 (setvar "cmdecho" 0)
 (setq offs (list offset offset 0.0))
 (command "ucs" "ob" ename)
 (setq TB (textbox (entget ename)))
 (setq BL (mapcar '- (car TB)  offs))
 (setq TR (mapcar '+ (cadr TB) offs))
 (setq TB (list BL TR))
 (setq TB (mapcar '(lambda(x) (trans x 1 0)) TB))
 (command "ucs" "P")
 (setq TB (mapcar '(lambda(x) (trans x 0 1)) TB))
)
(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))
 )
)
(defun check_ss(ename / lst)
   (if (= (length ename) 0) (setq lst ""))
   (if (= (length ename) 1) (setq lst (car ename)))
   (if (> (length ename) 1) (setq lst "?"))
 lst
)

(if (setq ssto_bd (ssget '((0 . "TEXT") (8 . "TO_BD"))))
  (progn
  (if (setq fName (getfiled "Ten file xuat " (getvar "dwgprefix") "xls" 1))
  (progn
	(setq i -1)
	(setq file (open fName "w"))
	(write-line "CHU THUA\tTCT\tTO BAN DO\tDIEN TICH\tVI TRI" file)
	(setq dem 0)
	(while (setq ename (ssname ssto_bd (setq i (1+ i))))
    	(setq TB (Tue-geom-Txtbox ename 0))
    	(setq minp (mapcar '- (car TB)  (list (* -0.5 (Tue-dxf 40 ename)) (* 2 (Tue-dxf 40 ename)) 0.0)))
    	(setq maxp (mapcar '+ (cadr TB) (list (* 0.5 (Tue-dxf 40 ename)) (* 2 (Tue-dxf 40 ename)) 0.0)))

    	(if (setq ss (ssget "c" minp maxp '((8 . "TT_CHU,tct,DT,TO_BD") )))
 (progn
  	(Foreach x (Tue-ss-list (list ss))
 (if (and (= (Tue-dxf 8 x) "TT_CHU") (= (Tue-dxf 73 x) 0))
  (setq e_cthua (append e_cthua  (list (Tue-dxf 1 x))))
 )
 (if (= (Tue-dxf 8 x) "tct")
  (setq e_tct (append e_tct (list (Tue-dxf 1 x))))
 )
 (if (= (Tue-dxf 8 x) "TO_BD")
  (setq e_tobd (append e_tobd (list (Tue-dxf 1 x))))
 )
 (if (= (Tue-dxf 8 x) "DT")
  (setq e_DT (append  e_DT (list (Tue-dxf 1 x))))
 )
 (if (and (= (Tue-dxf 8 x) "TT_CHU") (= (Tue-dxf 73 x) 3))
  (setq e_ddiem (append e_ddiem (list (Tue-dxf 1 x))))
 )
)
   (grtext -1 (strcat "Xu ly " (itoa i) "/ " (itoa (sslength ssto_bd)) ))
   (write-line (strcat (check_ss e_cthua) "\t" (check_ss e_tct) "\t" (check_ss e_tobd) "\t"
     (check_ss e_DT) "\t" (check_ss e_ddiem)) file)
   )
)
  	(mapcar 'set '(e_cthua e_tct e_tobd e_DT e_ddiem) '(nil nil nil nil nil))

	);while
(close file)
       (command "ai_editcustfile" fname)
  )
 )
 )
  )
)

  • 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

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


×