Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Lisp thống kê cao độ ga và cống


  • Please log in to reply
11 replies to this topic

#1 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 25 November 2011 - 04:08 PM

Trước tiên là 2file đính kèm thể hiện yêu cầu:
file cad: http://www.cadviet.c...binh_do_tnm.rar
file excel: http://www.cadviet.c...o_do_ga_tnm.rar
Mình làm thống kê thoát nước hạ tầng. Ngồi nhập cao độ từng ga một vào excel thấy mất công quá.
Nên mình muốn nhờ các bạn giỏi về viết lisp viết giúp mình 1 lisp lập được bảng thống kê cao độ như sau:
Trên bản vẽ có các text đã ghi chú rõ là: Tên ga - cao độ đỉnh ga - và cao độ đáy cống
Lisp sẽ đưa ra các lựa chọn: (Chỉ cần pick vào các text trên bản vẽ theo đúng thứ tự lisp sẽ tự lập được bảng với các cột và hàng như trong bản excel đính kèm)
1. Pick lần 1: Chọn tên ga: pick vào text "tên ga"
2. Pick lần 2: Chọn H1: pick vào text " cao độ đỉnh ga"
3. Pick lần 3: Chọn H2: pick vào text "cao độ đáy cống"
Sau đó hết 1 lượt 3 lần pick trên, lisp sẽ liên tục lập bảng tự động quay vòng lần 2, lần 3........cho đến khi người vẽ kết thúc lệnh.
Sau đó kết quả sẽ được xuất sang file đuôi .txt hoặc tốt nhất là file excel như đính kèm
Mong được các mọi người giúp đỡ vì mình không biết viết lisp. Thanks!
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#2 mathan

mathan

    biết vẽ rectang

  • Members
  • PipPip
  • 83 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 25 November 2011 - 06:38 PM

Mình không có nhiều thời gian lắm nên lisp chưa được hoàn chỉnh tuyệt đối.
Nhưng bạn chứ dùng thử, có ý kiến gì báo lại mình sẽ khắc phục.
Khi nào có nhiều thời gian hơn, mình sẽ sửa nó 1 cách hoàn thiện
(lisp này còn nông dân lắm)
Sau khi lisp lập ra 1 bảng trong cad, bạn có thể dùng c2e.lsp trên cadviet có để chuyển sang excel bạn nhé
Mọi code lisp được lấy từ Cadviet - tôi chỉ là người xào nấu một chút thôi
 

;-----------------Lap bang thong ke ga ----------------------------
; Free lisp code from CADViet - edit by Mathan
(defun C:LBHG (/ TX TY kcach)
(setq diem (getpoint "\Chon vi tri lap bang... "))
(setq kcach (getreal "\Khoang cach cac text trong bang... "))
(prompt "\nBan can pick tung text theo thu tu Ten ho ga; cao do day va cao do dinh ga: ")
(setq dem 1 sdt 1)
(setq ss null)
(while (/= ss nil)
(if (= dem 1)
(progn
(setq ss (car (entsel "\nDS> Ten ho ga: ")))
(setq noidung (cdr (assoc 1 (entget ss))))
(setq diem1 (list (car diem) (- (cadr diem) (* sdt kcach))))
(command "TEXT" diem1 "" "" noidung)
))
(if (= dem 2)
(progn
(setq ss (car (entsel "\nDS> Cao do day: ")))
(setq noidung (cdr (assoc 1 (entget ss))))
(setq diem2 (list (+ (* 2 kcach) (car diem)) (- (cadr diem) (* (- sdt 1) kcach))))
(command "TEXT" diem2 "" "" noidung)
))
(if (= dem 3)
(progn
(setq ss (car (entsel "\nDS> Cao do dinh: ")))
(setq noidung (cdr (assoc 1 (entget ss))))
(setq diem3 (list (+ (* 4 kcach) (car diem)) (- (cadr diem) (* (- sdt 2) kcach))))
(command "TEXT" diem3 "" "" noidung)
(setq dem 0)
))
(setq dem (+ 1 dem))
(setq sdt (+ 1 sdt))
(princ)
)
)
Mong giúp được bạn một chút
  • 1
-----------
Hình đã gửi Hãy chia sẻ để thấy có được nhiều hơn điều mình muốn!
Best regard,

#3 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 26 November 2011 - 09:33 AM

Mình không có nhiều thời gian lắm nên lisp chưa được hoàn chỉnh tuyệt đối.
Nhưng bạn chứ dùng thử, có ý kiến gì báo lại mình sẽ khắc phục.
Khi nào có nhiều thời gian hơn, mình sẽ sửa nó 1 cách hoàn thiện
(lisp này còn nông dân lắm)
Sau khi lisp lập ra 1 bảng trong cad, bạn có thể dùng c2e.lsp trên cadviet có để chuyển sang excel bạn nhé
Mọi code lisp được lấy từ Cadviet - tôi chỉ là người xào nấu một chút thôi



;-----------------Lap bang thong ke ga ----------------------------
; Free lisp code from CADViet - edit by Mathan
(defun C:LBHG (/ TX TY kcach)
(setq diem (getpoint "\Chon vi tri lap bang... "))
(setq kcach (getreal "\Khoang cach cac text trong bang... "))
(prompt "\nBan can pick tung text theo thu tu Ten ho ga; cao do day va cao do dinh ga: ")
(setq dem 1 sdt 1)
(setq ss null)
(while (/= ss nil)
(if (= dem 1)
(progn
(setq ss (car (entsel "\nDS> Ten ho ga: ")))
(setq noidung (cdr (assoc 1 (entget ss))))
(setq diem1 (list (car diem) (- (cadr diem) (* sdt kcach))))
(command "TEXT" diem1 "" "" noidung)
))
(if (= dem 2)
(progn
(setq ss (car (entsel "\nDS> Cao do day: ")))
(setq noidung (cdr (assoc 1 (entget ss))))
(setq diem2 (list (+ (* 2 kcach) (car diem)) (- (cadr diem) (* (- sdt 1) kcach))))
(command "TEXT" diem2 "" "" noidung)
))
(if (= dem 3)
(progn
(setq ss (car (entsel "\nDS> Cao do dinh: ")))
(setq noidung (cdr (assoc 1 (entget ss))))
(setq diem3 (list (+ (* 4 kcach) (car diem)) (- (cadr diem) (* (- sdt 2) kcach))))
(command "TEXT" diem3 "" "" noidung)
(setq dem 0)
))
(setq dem (+ 1 dem))
(setq sdt (+ 1 sdt))
(princ)
)
)
Mong giúp được bạn một chút

Cám ơn bạn nhé. Chàng nông dân của bạn về cơ bản đã giúp mình có thể thực hiện công việc nhanh chóng hơn nhiều roài.
Mình đã sửa đi 1 chút dòng nhắc lệnh thứ 2 là lựa chọn cao độ đỉnh ga trước, đáy ga sau để cho đúng yêu cầu.
Nếu bạn có thời gian có thể chau chuốt lisp này như thế này được không:
- Bảng lập ra trên cad sẽ đẹp được như bảng này: http://www.cadviet.com/upfiles/3/40304_binh_do_tnm_1.rar
- Nên bỏ qua bước: chọn khoảng cách các text trong bảng, thay vào đó lisp sẽ tự động căn chỉnh bảng với khoảng cách giữa các hàng và cột như trong bảng trên. Hiện tại khoảng cách giữa các hàng là rất xa nhau.
- Thêm 1 lựa chọn: chọn chiều cao chữ cho text xuất ra trong bảng.
Nếu có thời gian hơn nữa bạn xử lý yêu cầu này giúp mình nữa nhé: http://www.cadviet.com/forum/index.php?showtopic=60191&pid=183421&st=0&#entry183421
Thanks U nhé
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#4 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 26 November 2011 - 11:47 AM

Cám ơn bạn nhé. Chàng nông dân của bạn về cơ bản đã giúp mình có thể thực hiện công việc nhanh chóng hơn nhiều roài.
Mình đã sửa đi 1 chút dòng nhắc lệnh thứ 2 là lựa chọn cao độ đỉnh ga trước, đáy ga sau để cho đúng yêu cầu.
Nếu bạn có thời gian có thể chau chuốt lisp này như thế này được không:
- Bảng lập ra trên cad sẽ đẹp được như bảng này: http://www.cadviet.c...nh_do_tnm_1.rar
- Nên bỏ qua bước: chọn khoảng cách các text trong bảng, thay vào đó lisp sẽ tự động căn chỉnh bảng với khoảng cách giữa các hàng và cột như trong bảng trên. Hiện tại khoảng cách giữa các hàng là rất xa nhau.
- Thêm 1 lựa chọn: chọn chiều cao chữ cho text xuất ra trong bảng.
Nếu có thời gian hơn nữa bạn xử lý yêu cầu này giúp mình nữa nhé: http://www.cadviet.c...=0
Thanks U nhé

Hề hề hề,
Đẹp hay không thì chửa biết. Nhưng nếu cứ theo yêu cầu như bạn nói thì hãy chịu khó tự sửa như sau:
1/- Thay "\Khoang cach cac text trong bang... " bằng "\n Nhap chieu cao text trong bang: "
2/- Thay (list (car diem) (- (cadr diem) (* sdt kcach))) bằng (list (car diem) (- (cadr diem) (* 3 sdt kcach)))
3/- Thay (list (+ (* 2 kcach) (car diem)) (- (cadr diem) (* (- sdt 1) kcach))) bằng (list (+ (* 2 6 kcach) (car diem)) (- (cadr diem) (* 3 (- sdt 1) kcach)))
4/- Thay (list (+ (* 4 kcach) (car diem)) (- (cadr diem) (* (- sdt 2) kcach))) bẳng (list (+ (* 4 6.5 kcach) (car diem)) (- (cadr diem) (* 3 (- sdt 2) kcach)))



Nếu thay vậy mà bạn vẫn chưa ưng thì có thể dựa vào đó mà gia giảm các hệ số cho nó sướng con mắt phải, đỏ con mắt trái nghen.
bạn nên so sánh giữa cái chưa thay và cái thay để biết cách lựa chọn hệ số cho phù hợp.
Hãy tự cứu mình trước khi trời cứu,
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.

#5 mathan

mathan

    biết vẽ rectang

  • Members
  • PipPip
  • 83 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 26 November 2011 - 01:59 PM

Bác bach1212 có cái lisp lập bảng tọa độ ngon rùi, nên mình mượn lại biến tấu chút thì cái vụ nhập hố ga của bạn cũng tạm ổn rùi đấy
Bạn chạy lại bằng code lisp này xem nhé.
Nếu bảng chưa đẹp, đúng như bác phamthanhbinh nói, nên thêm mắm muối vào nữa cho vừa khẩu vị từng người.
Lưu ý rằng: free code lisp from CADViet - em chỉ xào nấu chút thui
 

: Ha Van Khanh 3/2003
;
; * Chuong trinh duoc lap bang ngon ngu AUTOLISP.
; Free lisp code from CADViet - Edit by mathan
; ------------------------------------------------------------------------------
(vmon)
(defun C:LBHG (/ 1x 1y a1 2x 2y a2 3x 3y a3 b p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16x p16y p16 p17x p17y p17)
(setvar "cmdecho" 0)
(initget 7)
(setq osm (getvar "osmode" ))
(setvar "osmode" 0)
(command "-Style" "hoatbif" "hoatbif " "2.5" "" "" "" "" "")
(command "-Layer" "n" "Text" "c" "4" "Text" "")
(setq p1 (getpoint "\nChon diem dat bang thong ke :"))
(setq S (getint "\nSo ho ga can thong ke:"))
(setq p2 (polar p1 (/ (* Pi 3) 2) (+ 16 (* 8 S))))
(setq p3 (polar p2 0 91))
(setq p4 (polar p1 0 91))
(setq p5 (polar p1 0 21))
(setq p6 (polar p2 0 21))
(setq p7 (polar p5 0 35))
(setq p8 (polar p6 0 35))
(setq p9 (polar p5 (/ (* Pi 3) 2) 8))
(setq p10 (polar p4 (/ (* Pi 3) 2) 8))
(setq p12 (polar p9 0 35))
(setq p11 (polar p9 0 -10.5))
(setq p13 (polar p1 (/ (* Pi 3) 2) 16))
(setq p14 (polar p4 (/ (* Pi 3) 2) 16))
(setq p15 (polar p7 (/ (* pi 3 ) 2) 4))
(setq p16x (/ (+ (car p5) (car p7)) 2))
(setq p16y (/ (+ (cadr p9) (cadr p13)) 2))
(setq p17x (/ (+ (car p4) (car p7)) 2))
(setq p17y (/ (+ (cadr p9) (cadr p13)) 2))
(setq p16 (list p16x p16y))
(setq p17 (list p17x p17y))
(command "Plinewid" "0.5")
(command "Pline" p1 p2 p3 p4 p1 "")
(command "Line" p5 p6 "")
(command "Line" p12 p8 "")
(command "Line" p9 p10 "")
(command "Line" p13 p14 "")
(command "Array" "l" "" "Rec" S "1" "-8")
(command "text" "j" "mc" p11 "0" "Ten Ga" )
(command "text" "j" "mc" p15 "0" "Cao do" )
(command "text" "j" "mc" p16 "0" "D" )
(command "text" "j" "mc" p17 "0" "Y" )
(setvar "osmode" 1)
;-------------------------------------------------
; Phan chinh
(prompt "\nBan can pick tung text theo thu tu Ten ho ga; cao do dinh va cao do day ga: ")
(setq b 0)
(while (< b s )
(setq b (+ b 1))
(setq ss (car (entsel "\nDS> Ten ho ga: ")))
(setq tenga (cdr (assoc 1 (entget ss))))
(setq ss (car (entsel "\nDS> Cao do dinh: ")))
(setq cddinh (cdr (assoc 1 (entget ss))))
(setq ss (car (entsel "\nDS> Cao do day: ")))
(setq cdday (cdr (assoc 1 (entget ss))))
(setq 1x (/ (+ (car p1) (car p5)) 2))
(setq 1y (- (- (cadr p11) 4) (* 8 B)))
(setq a1 (list 1x 1y))
(setq 2x (/ (+ (car p5) (car p7)) 2))
(setq 2y (- (cadr p16) (* 8 B)))
(setq a2 (list 2x 2y))
(setq 3x (/ (+(car p7) (car p4)) 2))
(setq 3y (- (cadr p17) (* 8 B)))
(setq a3 (list 3x 3y))
(command "text" "j" "mc" a1 "0" tenga "" )
(command "text" "j" "mc" a3 "0" cddinh "" )
(command "text" "j" "mc" a2 "0" cdday "" )
)
)

Bác bach1212 dùng vui vẻ nhé.
Tiện thể cho e mượn code em đồ thêm mấy cái lisp khác nha.
Thank all
  • 0
-----------
Hình đã gửi Hãy chia sẻ để thấy có được nhiều hơn điều mình muốn!
Best regard,

#6 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 26 November 2011 - 02:10 PM

Bác bach1212 có cái lisp lập bảng tọa độ ngon rùi, nên mình mượn lại biến tấu chút thì cái vụ nhập hố ga của bạn cũng tạm ổn rùi đấy
Bạn chạy lại bằng code lisp này xem nhé.
Nếu bảng chưa đẹp, đúng như bác phamthanhbinh nói, nên thêm mắm muối vào nữa cho vừa khẩu vị từng người.
Lưu ý rằng: free code lisp from CADViet - em chỉ xào nấu chút thui



: Ha Van Khanh 3/2003
;
; * Chuong trinh duoc lap bang ngon ngu AUTOLISP.
; Free lisp code from CADViet - Edit by mathan
; ------------------------------------------------------------------------------
(vmon)
(defun C:LBHG (/ 1x 1y a1 2x 2y a2 3x 3y a3 b p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16x p16y p16 p17x p17y p17)
(setvar "cmdecho" 0)
(initget 7)
(setq osm (getvar "osmode" ))
(setvar "osmode" 0)
(command "-Style" "hoatbif" "hoatbif " "2.5" "" "" "" "" "")
(command "-Layer" "n" "Text" "c" "4" "Text" "")
(setq p1 (getpoint "\nChon diem dat bang thong ke :"))
(setq S (getint "\nSo ho ga can thong ke:"))
(setq p2 (polar p1 (/ (* Pi 3) 2) (+ 16 (* 8 S))))
(setq p3 (polar p2 0 91))
(setq p4 (polar p1 0 91))
(setq p5 (polar p1 0 21))
(setq p6 (polar p2 0 21))
(setq p7 (polar p5 0 35))
(setq p8 (polar p6 0 35))
(setq p9 (polar p5 (/ (* Pi 3) 2) 8))
(setq p10 (polar p4 (/ (* Pi 3) 2) 8))
(setq p12 (polar p9 0 35))
(setq p11 (polar p9 0 -10.5))
(setq p13 (polar p1 (/ (* Pi 3) 2) 16))
(setq p14 (polar p4 (/ (* Pi 3) 2) 16))
(setq p15 (polar p7 (/ (* pi 3 ) 2) 4))
(setq p16x (/ (+ (car p5) (car p7)) 2))
(setq p16y (/ (+ (cadr p9) (cadr p13)) 2))
(setq p17x (/ (+ (car p4) (car p7)) 2))
(setq p17y (/ (+ (cadr p9) (cadr p13)) 2))
(setq p16 (list p16x p16y))
(setq p17 (list p17x p17y))
(command "Plinewid" "0.5")
(command "Pline" p1 p2 p3 p4 p1 "")
(command "Line" p5 p6 "")
(command "Line" p12 p8 "")
(command "Line" p9 p10 "")
(command "Line" p13 p14 "")
(command "Array" "l" "" "Rec" S "1" "-8")
(command "text" "j" "mc" p11 "0" "Ten Ga" )
(command "text" "j" "mc" p15 "0" "Cao do" )
(command "text" "j" "mc" p16 "0" "D" )
(command "text" "j" "mc" p17 "0" "Y" )
(setvar "osmode" 1)
;-------------------------------------------------
; Phan chinh
(prompt "\nBan can pick tung text theo thu tu Ten ho ga; cao do dinh va cao do day ga: ")
(setq b 0)
(while (< b s )
(setq b (+ b 1))
(setq ss (car (entsel "\nDS> Ten ho ga: ")))
(setq tenga (cdr (assoc 1 (entget ss))))
(setq ss (car (entsel "\nDS> Cao do dinh: ")))
(setq cddinh (cdr (assoc 1 (entget ss))))
(setq ss (car (entsel "\nDS> Cao do day: ")))
(setq cdday (cdr (assoc 1 (entget ss))))
(setq 1x (/ (+ (car p1) (car p5)) 2))
(setq 1y (- (- (cadr p11) 4) (* 8 B)))
(setq a1 (list 1x 1y))
(setq 2x (/ (+ (car p5) (car p7)) 2))
(setq 2y (- (cadr p16) (* 8 B)))
(setq a2 (list 2x 2y))
(setq 3x (/ (+(car p7) (car p4)) 2))
(setq 3y (- (cadr p17) (* 8 B)))
(setq a3 (list 3x 3y))
(command "text" "j" "mc" a1 "0" tenga "" )
(command "text" "j" "mc" a3 "0" cddinh "" )
(command "text" "j" "mc" a2 "0" cdday "" )
)
)
Bác bach1212 dùng vui vẻ nhé.
Tiện thể cho e mượn code em đồ thêm mấy cái lisp khác nha.
Thank all

Hề hề hề,
Bác cho hỏi là cái hàm (vmon) dùng làm cái chi vậy ạ????
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#7 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 28 November 2011 - 03:05 PM

Cám ơn sự nhiệt tình của bạn mathan
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#8 bach1212

bach1212

    biết lệnh trim

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

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

1/- Thay "\Khoang cach cac text trong bang..." bằng "\n Nhap chieu cao text trong bang:"
Em thấy cái này không thay đổi được height text, bác phamthanhbinh ah. Text xuất ra vẫn luôn có chiều cao là: 0.2
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#9 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 28 November 2011 - 03:47 PM

1/- Thay "\Khoang cach cac text trong bang..." bằng "\n Nhap chieu cao text trong bang:"
Em thấy cái này không thay đổi được height text, bác phamthanhbinh ah. Text xuất ra vẫn luôn có chiều cao là: 0.2

Hề hề hề,
Mình quên bổ sung tham số kcach này vào trong các hàm ghi text. Bạn bổ sung nhé. Tỷ dụ (command "TEXT" diem3 "" "" noidung) sẽ thành (command "TEXT" diem3 kcach "" noidung) và với điều kiện là text style hiện hành có chiều cao text là 0.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#10 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 30 November 2011 - 12:35 PM

Hề hề hề,
Mình quên bổ sung tham số kcach này vào trong các hàm ghi text. Bạn bổ sung nhé. Tỷ dụ (command "TEXT" diem3 "" "" noidung) sẽ thành (command "TEXT" diem3 kcach "" noidung) và với điều kiện là text style hiện hành có chiều cao text là 0.

Em thêm như này đúng chưa ah?

;-----------------Lap bang thong ke ga ----------------------------
; Free lisp code from CADViet - edit by Mathan
(defun C:LBHG (/ TX TY kcach)
(setq diem (getpoint "\Chon vi tri lap bang... "))
(setq kcach (getreal "\n Nhap chieu cao text trong bang: "))
(prompt "\nBan can pick tung text theo thu tu Ten ho ga; cao do day va cao do dinh ga: ")
(setq dem 1 sdt 1)
(setq ss null)
(while (/= ss nil)
(if (= dem 1)
(progn
(setq ss (car (entsel "\nDS> Ten ho ga: ")))
(setq noidung (cdr (assoc 1 (entget ss))))
(setq diem1 (list (car diem) (- (cadr diem) (* sdt kcach))))
(command "TEXT" diem1 kcach "" "" noidung)
))
(if (= dem 2)
(progn
(setq ss (car (entsel "\nDS> Cao do dinh H1: ")))
(setq noidung (cdr (assoc 1 (entget ss))))
(setq diem2 (list (+ (* 2 kcach) (car diem)) (- (cadr diem) (* (- sdt 1) kcach))))
(command "TEXT" diem2 kcach "" "" noidung)
))
(if (= dem 3)
(progn
(setq ss (car (entsel "\nDS> Cao do day H2: ")))
(setq noidung (cdr (assoc 1 (entget ss))))
(setq diem3 (list (+ (* 4 kcach) (car diem)) (- (cadr diem) (* (- sdt 2) kcach))))
(command "TEXT" diem3 kcach "" "" noidung)
(setq dem 0)
))
(setq dem (+ 1 dem))
(setq sdt (+ 1 sdt))
(princ)
)
)

Nhưng test lại nó không lập được bảng mà báo lỗi thế này:
Ban can pick tung text theo thu tu Ten ho ga; cao do day va cao do dinh ga:
DS> Ten ho ga: Unknown command "LBHG". Press F1 for help.
Unknown command "G16B". Press F1 for help.

DS> Cao do dinh H1: Unknown command "LBHG". Press F1 for help.
Unknown command "6.05". Press F1 for help.

DS> Cao do day H2: Unknown command "LBHG". Press F1 for help.
Unknown command "4.48". Press F1 for help.
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#11 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 30 November 2011 - 01:40 PM

Bạn bach1212 chú ý sửa lại bài viết (đưa code vào trong thẻ code) nhé
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#12 duyngoc

duyngoc

    biết vẽ pline

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

Đã gửi 17 December 2011 - 04:24 PM

Nhờ các cao thủ khắc phục cái lỗi cua líp này với, mình chạy thi nó chỉ xuất ra bảng thống kê mà không ra cao độ tên ge..
  • 0