Đến nội dung


Hình ảnh
- - - - -

[Nhờ hoàn thiện lisp] Xuẩt khối lượng trắc ngang qua excel


  • Please log in to reply
40 replies to this topic

#21 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 14 April 2015 - 09:17 PM

bạn up lại lisp #1 đi, bị lỗi rồi thì phải

down về chỉ có mỗi dòng tên lệnh thôi

Bạn kích vào trả lời rồi copy về save lại file lisp


  • 1

#22 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 16 April 2015 - 08:57 AM

thanks bạn nhé


  • 0

#23 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 16 April 2015 - 04:40 PM

Đây là kết quả cần có:

https://youtu.be/eI054HozhwQ


  • 0

#24 thai11000

thai11000

    biết vẽ arc

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

Đã gửi 16 April 2015 - 08:56 PM

Mục đích xuât qua excel là để xuất khối lượng mà, đây chỉ là bước trung gian thôi, ở excel mình viết 1 modul để sắp xếp lại từng hạng mục giống với nova chứ.

 

Em thì không giỏi mây vụ ấy lắm nhưng mà theo em thì nếu để hoàn thiện lisp thì có thể lấy đó là mục đích để mình hướng tới vấn đề cần giải quyết.


  • 0

#25 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 20 May 2015 - 11:49 AM

Hôm trước mình có chạy được lisp rồi nhưng khi xuất ra khối lượng thì nó vẫn xuất ra file *.csv nhưng dung lượng =0, chỉ có mỗi tên file chứ ko có nội dung gì cả

Hôm nay thì khi mình apload lại lisp thì nó lại ko nhận nữa, dù đã remove cái  cũ rồi ap lại vẫn ko nhận: "Unknown command "XKL".  Press F1 for help"

không hiểu đây là lỗi gì nhỉ

tìm được cái li sp hay thế này mà ko dùng được thì phí quá, mong các cao thủ check giùm với, bác chủ thì lâu lắm chưa thấy online rồi


  • 0

#26 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 20 May 2015 - 12:01 PM

Chắc do lỗi của diễn đàn khi download

 bạn làm theo hướng dẫn ở trên kích vào trả lời rồi copy về save thành lisp


  • 1

#27 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 20 May 2015 - 02:37 PM

Chắc do lỗi của diễn đàn khi download

 bạn làm theo hướng dẫn ở trên kích vào trả lời rồi copy về save thành lisp

mình cũng làm đúng như thế rồi mà sao dừ khi apload lisp nó lại ko nhận nhỉ

bây giờ thì không chạy được lisp nữa luôn


  • 0

#28 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 20 May 2015 - 03:46 PM

up lại cho bạn 

(defun c:xkl (/ dem1 lstkm point kcach point1 pointtim diemtam xuongdong kt)
(setvar "CMDECHO" 0)
(defun sosanh (e1 e2 / p1 p2)
(setq p1 (car e1)
p2 (car e2)
)
(if (equal (cadr p1) (cadr p2) fuzz)
(< (car p1) (car p2))
(> (cadr p1) (cadr p2))
)
   )
   
(defun inra(lst)
(setq index 1
 oldy nil)
(foreach en lst
(if (equal oldy (cadr (car en)) fuzz)
(progn 
(if (< index 4)
 (progn 
	(princ "," fid) 
	(setq index (1+ index))
	)
 	(progn 
	(setq index 1) 
	(princ "\n" fid)
	)
 )
    )
(progn  
(if hangdau
 (progn (setq index 1) 
(princ "\n" fid))
 (setq hangdau t))
  )
      )
      (princ (cdr en) fid)
      (setq oldy (cadr (car en)))
 )
  )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (prompt "\nChon doi tuong coc hoac ly trinh lam lop chuan.")  
  (setq dtltc (car (entsel)))
  (setq lop1 (cdr (assoc 8 (entget dtltc))))
  (prompt "\nChon doi tuong ghi dien tich lam lop chuan.")
  (setq lop2 (car (entsel)))
  (setq lop2 (cdr (assoc 8 (entget lop2))))
  (prompt "\nChon trac ngang.")
  (setq danhsachkm (acet-ss-to-list (ssget (list (cons 8 lop1) (cons 1 "K*")))))
  (setq lstkm (mapcar '(lambda (e) (cons (cdr (assoc 11 (entget e))) (cdr (assoc 1 (entget e))))) danhsachkm))
  (setq lstkm (vl-sort lstkm '(lambda(x y / tmx tmy) (setq tmx (timlt x) tmy (timlt y))
                 (or (< (car tmx) (car tmy))
    (and (= (car tmx) (car tmy)) (< (last tmx) (last tmy)))))))
  (setq ss (acet-ss-to-list (ssget "X" '((0 . "LINE")(8 . "ENTTNTUNHIEN")))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (setq fn (getfiled "Chon file de save" "" "csv" 1))
  (setq fid (open fn "w"))
(setq dem1 1)
(setq sodt (length danhsachkm)
ta 
            (chr 8)
stxoa (strcat ta ta ta ta ta ta ta ta ta ta ta ta ta ta 
            ta ta ta ta ta ta)
stxuly "Xu ly duoc: "
ptcu nil
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (foreach ent lstkm
    (setq point (car ent))
    (setq kcach (distance point (cdr (assoc 11 (entget (nth 0 ss))))))
    (foreach enxt ss
      (setq point1 (cdr (assoc 11 (entget enxt))))
      (setq toay (cadr point1))
      (if (and (< (distance point1 point) kcach) (< toay (cadr point)) (equal (car point1) (car point) 1))
(progn
 (setq pointtim (cdr (assoc 11 (entget enxt))))
 (setq kcach (distance pointtim point))
)
      )
    )
    (setq diemtam (polar pointtim (/ pi 2) (/ kcach 2)))
;;; zoom den tung trac ngang nhung khong thay no chay 
;;;; 
    (vla-ZoomCenter (vlax-get-acad-object) (vlax-3D-point diemtam) (+ kcach 50))
	;(command "ZOOM" "C" diemtam (+ kcach 20))
    (setq dd (acet-ss-to-list (ssget "C" (polar pointtim (/ pi 4) 0.1 ) (polar pointtim (/ pi -4) 0.1 ) '((0 . "LINE")(8 . "ENTTNTUNHIEN")))))
    (setq diemdau (cdr (assoc 10 (entget (car dd)))))
    (setq diemcuoi (cdr (assoc 11 (entget (car dd)))))
    (setq diemtren (polar point (/ pi 2) 50))
    (command ".RECTANGLE" diemdau diemtren)
    (setq text (ssget "C" diemdau diemtren (list (cons 0 "text"))))
    (setq lst0 (ss2ent text lop1))
    (setq lst0 (mapcar '(lambda (e) (cons (cdr (assoc 10 (entget e))) (cdr (assoc 1 (entget e))))) lst0))
    (setq lst2 (ss2ent text lop2))
    (setq lst2 (mapcar '(lambda (e) (cons (cdr (assoc 10 (entget e))) (cdr (assoc 1 (entget e))))) lst2))
    (setq
caotext (cdr (assoc 40 (entget (ssname text 0))))
fuzz (* caotext 1.0)
lst0 (vl-sort lst0 'sosanh)
lst2 (vl-sort lst2 'sosanh)
    )
(setq xuongdong 0)
(if (= kt nil) (setq kt 0))
(foreach em lst0
(if (= kt 0)
(if (= xuongdong 0)
(progn 
(princ (cdr em) fid) 
(princ "\n" fid)
(setq xuongdong 1))
 (if (= xuongdong 1)
   (progn 
	(princ (cdr em) fid) 
	(setq xuongdong 2)
	)
)
)
(if (= xuongdong 0)
(progn 
(princ "\n" fid)
(princ (cdr em) fid) 
(princ "\n" fid)
(setq xuongdong 1))
 (if (= xuongdong 1)
   (progn 
	(princ (cdr em) fid) 
	(setq xuongdong 2)
	)
)
)
)
)
(setq kt 1)
    (inra lst2)
 
    (command ".RECTANGLE" diemcuoi diemtren)
    (setq text1 (ssget "C" diemcuoi diemtren (list (cons 0 "text"))))
    (setq lst3 (ss2ent text1 lop2))
    (setq lst3 (mapcar '(lambda (e) (cons (cdr (assoc 10 (entget e))) (cdr (assoc 1 (entget e))))) lst3))
    (setq lst3 (vl-sort lst3 'sosanh))
    (inra lst3)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; xu ly phan tram chay o duoi
(setq pt (* (/ (* dem1 1.0) sodt) 100.0)
dem1 (+ dem1 1)
)
(if (/= pt ptcu)
(progn
(princ (strcat stxoa stxuly (rtos pt 2 0) "%"))
(setq ptcu pt)
)
)
;(princ "\nDang xu ly")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setvar "MODEMACRO" "DANG CHUYEN DU LIEU CHO TRONG GIAY LAT")  
)
  (if fid (close fid))
(setvar "CMDECHO" 1)
(thoi)
)
 
(defun timlt (st / tm)
  (setq tm (vl-string->list (substr (strcase (cdr st)) (+ 3 (vl-string-search "KM" (strcase (cdr st)))))))
  (read (strcat "(" (vl-list->string (subst 32 43 (subst 32 58 tm))) ")"))
)
 
(defun ss2ent (ss lop / sodt index lstent)
  (setq sodt (if ss (sslength ss) 0)
index 0)
  (repeat sodt
    (setq ent (ssname ss index))
    (setq index (1+ index))
    (if (= (cdr (assoc 8 (entget ent))) lop)
      (setq lstent (cons ent lstent))
    )
  )
  (reverse lstent)
)


  • 1

#29 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 21 May 2015 - 09:05 AM

cảm ơn bác chủ đã nhiệt tình theo dõi và up lại lisp

nhưng ko hiểu tại sao mà bây giờ lại ko thể apload lisp để dùng đc nữa

ap xong lệnh: xkl nó hiện lỗi ngay: Unknown command "XKL".  Press F1 for help.

và tất nhiên là chỉ lisp này bị thôi còn các lisp khác mình vẫn load được bình thường

có bác nào gặp trường hợp như thế này chưa nhỉ


  • 0

#30 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 21 May 2015 - 11:29 AM

he sau một hồi lần mò thì e đã tìm ra lỗi, nó bị như sau các bác ạ:

mở file lisp bằng notepad thì ko bị lỗi gì

mở file lisp bằng Visual lisp Editor thì thấy có 1 kí tự lạ: "Â" hiện đầu tiên gần như tất cả các dòng lệnh (mở cả 2 cái cùng lúc để so sánh thì mới thấy đc)

e xóa hết kí tự này thì lisp chạy được rồi

e đưa lên đây để bác nào bị lỗi thế này thì biết để sửa, sáng đến giờ hoang mang quá


  • 0

#31 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 21 May 2015 - 03:28 PM

he sau một hồi lần mò thì e đã tìm ra lỗi, nó bị như sau các bác ạ:

mở file lisp bằng notepad thì ko bị lỗi gì

mở file lisp bằng Visual lisp Editor thì thấy có 1 kí tự lạ: "Â" hiện đầu tiên gần như tất cả các dòng lệnh (mở cả 2 cái cùng lúc để so sánh thì mới thấy đc)

e xóa hết kí tự này thì lisp chạy được rồi

e đưa lên đây để bác nào bị lỗi thế này thì biết để sửa, sáng đến giờ hoang mang quá

Lỗi này xuất hiện lâu rồi là do lỗi ở phần download của diễn đàn. Mong admin sớm khắc phục


  • 0

#32 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 21 May 2015 - 05:19 PM

sau khi chạy được lisp thì e thấy vẫn chưa được như ý lắm, còn có một số vấn đề như sau:

1. Trường hợp của bác chủ thì sau khi xuất ra bảng exel vẫn phải viết thêm 1 tiện ích nữa để sắp xếp lại theo thứ tự. Vậy là vấn đề của mình (xuất kl từ tn sang bảng exel) cũng vẫn chưa thực hiện được.

2. Mình xuất KL ra nó chạy lung tung lắm: tên cọc, lý trình và hạng mục sắp xếp ko theo thứ tự nào cả. Thường thì mỗi cái thấy nó xuất hiện 2 lần nhưng cũng ko hẳn là 2 lần đầy đủ, lần thứ 2 nó chỉ xuất ra một số hạng mục xong lại đến cọc khác

3. Có trường hợp thì li sp chạy nhưng kết thúc ko có kết quả gì cả:

 

Command: xkl
Chon doi tuong coc hoac ly trinh lam lop chuan.
Select object:
Chon doi tuong ghi dien tich lam lop chuan.
Select object:
Chon trac ngang.
Select objects: Specify opposite corner: 71 found
Select objects:  ; error: bad argument type: consp nil
Command:

 

Mong bác chủ xem xét lại xem


  • 0

#33 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 21 May 2015 - 07:25 PM

sau khi chạy được lisp thì e thấy vẫn chưa được như ý lắm, còn có một số vấn đề như sau:

1. Trường hợp của bác chủ thì sau khi xuất ra bảng exel vẫn phải viết thêm 1 tiện ích nữa để sắp xếp lại theo thứ tự. Vậy là vấn đề của mình (xuất kl từ tn sang bảng exel) cũng vẫn chưa thực hiện được.

2. Mình xuất KL ra nó chạy lung tung lắm: tên cọc, lý trình và hạng mục sắp xếp ko theo thứ tự nào cả. Thường thì mỗi cái thấy nó xuất hiện 2 lần nhưng cũng ko hẳn là 2 lần đầy đủ, lần thứ 2 nó chỉ xuất ra một số hạng mục xong lại đến cọc khác

3. Có trường hợp thì li sp chạy nhưng kết thúc ko có kết quả gì cả:

 

Command: xkl
Chon doi tuong coc hoac ly trinh lam lop chuan.
Select object:
Chon doi tuong ghi dien tich lam lop chuan.
Select object:
Chon trac ngang.
Select objects: Specify opposite corner: 71 found
Select objects:  ; error: bad argument type: consp nil
Command:

 

Mong bác chủ xem xét lại xem

Bạn cần đưa file đó lên mình mới có hướng dẫn cụ thể còn các vấn đề bạn đưa ra mình đã giải quyết được

Bạn có thể xem video của mình dưới:

https://youtu.be/eI054HozhwQ


  • 0

#34 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 22 May 2015 - 08:42 AM

hôm qua up file lên mà bị lỗi nên hôm nay mình gửi các file mình chạy lên bạn xem qua nhé

https://www.dropbox....L.rar?dl=0&s=sl


  • 0

#35 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 22 May 2015 - 10:44 AM

hôm qua up file lên mà bị lỗi nên hôm nay mình gửi các file mình chạy lên bạn xem qua nhé

https://www.dropbox....L.rar?dl=0&s=sl

Theo file bạn gửi thì đã mất block đầu cờ nên không chạy được

còn file excel chạy ra như vậy là đúng rồi đó, có lỗi ở dòng đầu phải chỉnh thủ công lại 1 tí rồi dùng phần mềm viết trên excel lấy xuất khối lượng theo thứ tự như trong clip đã làm

Bạn chưa xem clip thì phải??????

P/S:

file bạn chạy không đúng file chuẩn mình đưa lên, nên cần chỉnh sửa lại 1 tí về layer


  • 0

#36 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 22 May 2015 - 10:30 PM

mình có xem clip chứ nhưng phần mềm viết trên exel thì làm sao thấy được nội dung, chỉ thấy kết quả của chương trình thôi

cái file bị lỗi ko chạy được là file bị mất đầu cờ rồi, cái file còn lại vẫn chạy được nhưng kết quả thì nó sắp xếp hơi lộn xộn ko giống như cái file mẫu của bạn trên clip. File của mình có đến 2 cột và có thể có 1 vài TN có thể bị lệch cột (lệch: X) nên thứ tự xuất ra bị biến dạng chăng; còn hạng mục đầu tiên của cọc đầu tiên thì nó dính với lý trình thì mình có thấy rồi


  • 0

#37 ceddtu

ceddtu

    biết vẽ spline

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

Đã gửi 17 June 2015 - 10:54 AM

các thành phần khối lượng của các trắc ngang không giống nhau, nhiều hạng mục trắc ngang này có nhưng trắc ngang kia ko có, vậy khi xuất ra excel thì làm sao tổng hợp đc nhỉ.


  • 0
Đời vắng mẹ hiền không phụ nữ.
Anh hùng thi sĩ hỏi còn đâu !

#38 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 17 June 2015 - 05:35 PM

các thành phần khối lượng của các trắc ngang không giống nhau, nhiều hạng mục trắc ngang này có nhưng trắc ngang kia ko có, vậy khi xuất ra excel thì làm sao tổng hợp đc nhỉ.

Vẫn tính bình thường mà cái nào không có thì khi qua excel nó tính bằng 0


  • 1

#39 ceddtu

ceddtu

    biết vẽ spline

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

Đã gửi 17 June 2015 - 08:45 PM

Vẫn tính bình thường mà cái nào không có thì khi qua excel nó tính bằng 0

Cảm ơn bạn nhé


  • 0
Đời vắng mẹ hiền không phụ nữ.
Anh hùng thi sĩ hỏi còn đâu !

#40 viendinhngoc

viendinhngoc

    biết vẽ ellipse

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

Đã gửi 13 May 2016 - 10:44 AM

Lisp mình không chạy thì ra file excel trắng tinh là sao nhỉ bạnLisp mình không chạy thì ra file excel trắng tinh là sao nhỉ bạn


  • 0