Đến nội dung


Hình ảnh
- - - - -

01. Tính diện tích và xuất ra bảng thống kê trên CAD


  • Please log in to reply
7 replies to this topic

#1 khaosat2009

khaosat2009

    biết lệnh offset

  • Members
  • PipPipPip
  • 171 Bài viết
Điểm đánh giá: 10 (tàm tạm)

Đã gửi 28 September 2009 - 02:49 PM

Mình cần lisp để xã định diện tích các thửa đất và đưa ra bảng, số lượng hơi nhiều và thường lập lại.
Bạn có thể giúp mình :
1 . Lisp thống kê diện tích lộ giới ( Giải tỏa ): Khi lick vào ô tính diện tích LG --> đưa ra ô DT Lộ giới, Lick và DT còn lại --> đưa ra ô DT còn lại. Tồng (DTLG + DTCon lạ) --> đua vào ô DT Tổng. Theo hàng ngang của từng thửa đất.
2. Tính diện tích giá đất : Khi lick vào DT 0-50m --> đưa vào ô DT >50-100m.Khi lick vào DT >50-100m --> đưa vào ô DT >50-1000m.Khi lick vào DT >100 hết --> đưa vào ô DT >100 hết .Tổng (1+2+3) ---> đưa vào ô Tổng DT.
Rất cám ơn.
http://www.cadviet.c...ong_ke_dat1.rar
  • 0

#2 tivanteo

tivanteo

    biết vẽ circle

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

Đã gửi 29 September 2009 - 10:45 AM

http://www.cadviet.c...showtopic=12432 bạn thử tham khảo
  • 1

#3 khaosat2009

khaosat2009

    biết lệnh offset

  • Members
  • PipPipPip
  • 171 Bài viết
Điểm đánh giá: 10 (tàm tạm)

Đã gửi 07 October 2009 - 04:37 PM

http://www.cadviet.c...showtopic=12432 bạn thử tham khảo

Dựa vào Lisp của các anh cho trên, mình chỉnh theo hàng ngang. Không chạy đựơc.
Mong được các anh chỉ giúp sửa chổ nào:

;;--------------------free lisp from cadviet.com --------------------------------------
(defun c:H4()
(vl-load-com)
(setvar "cmdecho" 0)
(setq lacol (getvar "CEColor"))
(setq ladin (getvar "dimzin"))
(setq laos (getvar "osmode"))

;;;-----------------------Chon ti le ban ve --------------------------------------------------

(if (not tl) (setq tl 1))
(if (not h) (setq h 1))
(setq tl1 (getreal (strcat "\nty le ban ve < 1/" (rtos tl 2 0) " >: 1/"))
caot1 (getreal (strcat "\nCao text < " (rtos h 2 0) " >: ")))
(if tl1 (setq tl tl1))
(if caot1 (setq h caot1))

;;;======================================================
(setq k 0
tdt 0)
(setq ss (ssadd))
(setvar "dimzin" 0)
(setvar "OSMODE" 0)

;;;---------------------Xac dinh vi tri dat bang va toa do cac dinh --------------------------

(setq PT (getpoint "\nChon diem xuat bang thong ke dien tich (mep tren ben trai):"))
(setq P1 (list (car PT) (- (cadr PT)(* 3 h)))
P2 (list (car PT) (- (cadr PT)(* 6 h)))
P3 (list (+ (car PT)(* 8 h)) (cadr PT))
P4 (list (car P3) (cadr P1))
P5 (list (car P3) (cadr P2))
P6A (list (+ (car PT)(* 44 h)) (+ (cadr PT)(* 4 h)));; 4 la chieu cao tu diem vi tri PT--> 15 td
P6 (list (+ (car PT)(* 4 h)) (- (cadr PT)(* 1.5 h)))
P7 (list (+ (car P1)(* 4 h)) (- (cadr P1)(* 1.5 h)))
P8 (list (+ (car PT)(* 18 h)) ( (cadr PT)))
P9 (list (+ (car P8) ( (cadr P1)))
P10 (list (+ (car P8) ( (cadr P2)))
P11 (list (+ (car PT)(* 13 h)) (- (cadr PT)(* 1.5 h)))
P12 (list (+ (car P1)(* 13 h)) (- (cadr P1)(* 1.5 h)))


);setq

;;;--------------------------------------Ke va Ghi tieu de bang va dong -------------------
(command "pline" PT P3 P5 P2 "C"
"pline" P1 P4 ""
"style" "chuv" ".VnArial" "" "1" "" "" ""
"text" "m" P6 (* 1.2 h) 0 "%%UB¶NG THåNG K£ DIÖN TÝCH"
"style" "chu" ".VnArial" "" "1" "" "" "" ;; thay kieu chu

"style" "chuv" ".VnArial" "" "1" "" "" ""
"text" "m" P6 h 0 "STT"
"text" "m" P7 h 0 "DT"

);command

;;=====================================================
;;;--------------------------------------------------------------------------------------------------------

(setq pt1 (getpoint "\n Chon mien tinh dien tich : "))
(while (/= pt1 nil)
(setq k (+ 1 k))
(command "TEXT" "m" pt1 (* 3 h) 0 (rtos k 2 0)) ;;; VIET KQ tu pt1 text pt1 la STT
(setq PT (list (car P3) (cadr P3)) ;; bat dau tu P3
P1 (list (+ (car PT) (- (cadr PT)(* 3 h)))
P2 (list (+ (car P1) (- (cadr P1)(* 3 h)))


P3 (list (+ (car PT)(* 18 h) (cadr PT)))
P4 (list (car P1) (cadr P3))
P5 (list (car P2) (cadr P3))
P6 (list (+ (car PT)(* 4 h) (- (cadr PT)(* 1.5 h)))
P7 (list (+ (car P1)(* 4 h) (- (cadr P1)(* 1.5 h)))


P8 (list (+ (car PT)(* 18 h) (- (cadr PT)(* 1.5 h)))

P9 (list (car P1) (- (cadr P8))
P10 (list (car P2) (cadr P8))
P11 (list (car PT)(* 9 h) (- (cadr PT)(* 1.5 h))) ;; dua kq vao o
P12 (list (car P1)(* 9 h) (- (cadr P1)(* 1.5 h)))



);setq

;;;-----------------------------------------------------------------------------------
;;; Tinh dien tich con va tong theo cot
(command "CECOLOR" 4 "-boundary" pt1 "" )
(setvar "CECOLOR" lacol)
(setq et (entlast))
(ssadd et ss)
(command "area" "e" "last")
(setq et (entlast))
(ssadd et ss)
(setq dtcon (* (getvar "AREA") tl))
(setq tdt (+ dtcon tdt))
(command "erase" ss "")

;;;-----------------------------------------------------------------------------------------
;;;; KE DONG
(command "pline" PT P2 P5 P3 "C"
"pline" P1 P4 ""
"text" "m" P6 h 0 (rtos k 2 0)
"text" "m" P7 h 0 (rtos dtcon 2 2))


;;--------------------------------------Ghi Tong ----------------------------------
(setq pt1 (getpoint "\n Chon mien tinh dien tich tiep theo hoac enter de ket thuc lenh..."))
);while
(setq ss nil)
(setvar "DIMZIN" ladin)
(command "pline" P3 P8 P9 P10 P5 "C"
"pline" P4 P9 ""

"style" "chuv" "VNI-Helve-condense" "" "1" "" "" ""
"text" "m" P11 h 0 "Tong"
"text" "m" P12 h 0 (rtos tdt 2 2) ;; ghi tong dt vao o
);command
(setvar "OSMODE" laos)
(setvar "cmdecho" 1)
)

;;;------------------------------------------------------------------------------------------------------------------

Link mẩu Lisp :
http://www.cadviet.c...s/2/bang_tk.rar
Rất cám ơn
  • 0

#4 tivanteo

tivanteo

    biết vẽ circle

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

Đã gửi 07 October 2009 - 09:45 PM

Dựa vào Lisp của các anh cho trên, mình chỉnh theo hàng ngang. Không chạy đựơc.
Mong được các anh chỉ giúp sửa chổ nào:

;;--------------------free lisp from cadviet.com --------------------------------------
(defun c:H4()
(vl-load-com)
(setvar "cmdecho" 0)
(setq lacol (getvar "CEColor"))
(setq ladin (getvar "dimzin"))
(setq laos (getvar "osmode"))

;;;-----------------------Chon ti le ban ve --------------------------------------------------

(if (not tl) (setq tl 1))
(if (not h) (setq h 1))
(setq tl1 (getreal (strcat "\nty le ban ve < 1/" (rtos tl 2 0) " >: 1/"))
caot1 (getreal (strcat "\nCao text < " (rtos h 2 0) " >: ")))
(if tl1 (setq tl tl1))
(if caot1 (setq h caot1))

;;;======================================================
(setq k 0
tdt 0)
(setq ss (ssadd))
(setvar "dimzin" 0)
(setvar "OSMODE" 0)

;;;---------------------Xac dinh vi tri dat bang va toa do cac dinh --------------------------

(setq PT (getpoint "\nChon diem xuat bang thong ke dien tich (mep tren ben trai):"))
(setq P1 (list (car PT) (- (cadr PT)(* 3 h)))
P2 (list (car PT) (- (cadr PT)(* 6 h)))
P3 (list (+ (car PT)(* 8 h)) (cadr PT))
P4 (list (car P3) (cadr P1))
P5 (list (car P3) (cadr P2))
P6A (list (+ (car PT)(* 44 h)) (+ (cadr PT)(* 4 h)));; 4 la chieu cao tu diem vi tri PT--> 15 td
P6 (list (+ (car PT)(* 4 h)) (- (cadr PT)(* 1.5 h)))
P7 (list (+ (car P1)(* 4 h)) (- (cadr P1)(* 1.5 h)))
P8 (list (+ (car PT)(* 18 h)) ( (cadr PT)))
P9 (list (+ (car P8) ( (cadr P1)))
P10 (list (+ (car P8) ( (cadr P2)))
P11 (list (+ (car PT)(* 13 h)) (- (cadr PT)(* 1.5 h)))
P12 (list (+ (car P1)(* 13 h)) (- (cadr P1)(* 1.5 h)))


);setq

;;;--------------------------------------Ke va Ghi tieu de bang va dong -------------------
(command "pline" PT P3 P5 P2 "C"
"pline" P1 P4 ""
"style" "chuv" ".VnArial" "" "1" "" "" ""
"text" "m" P6 (* 1.2 h) 0 "%%UB¶NG THåNG K£ DIÖN TÝCH"
"style" "chu" ".VnArial" "" "1" "" "" "" ;; thay kieu chu

"style" "chuv" ".VnArial" "" "1" "" "" ""
"text" "m" P6 h 0 "STT"
"text" "m" P7 h 0 "DT"

);command

;;=====================================================
;;;--------------------------------------------------------------------------------------------------------

(setq pt1 (getpoint "\n Chon mien tinh dien tich : "))
(while (/= pt1 nil)
(setq k (+ 1 k))
(command "TEXT" "m" pt1 (* 3 h) 0 (rtos k 2 0)) ;;; VIET KQ tu pt1 text pt1 la STT
(setq PT (list (car P3) (cadr P3)) ;; bat dau tu P3
P1 (list (+ (car PT) (- (cadr PT)(* 3 h)))
P2 (list (+ (car P1) (- (cadr P1)(* 3 h)))
P3 (list (+ (car PT)(* 18 h) (cadr PT)))
P4 (list (car P1) (cadr P3))
P5 (list (car P2) (cadr P3))
P6 (list (+ (car PT)(* 4 h) (- (cadr PT)(* 1.5 h)))
P7 (list (+ (car P1)(* 4 h) (- (cadr P1)(* 1.5 h)))
P8 (list (+ (car PT)(* 18 h) (- (cadr PT)(* 1.5 h)))

P9 (list (car P1) (- (cadr P8))
P10 (list (car P2) (cadr P8))
P11 (list (car PT)(* 9 h) (- (cadr PT)(* 1.5 h))) ;; dua kq vao o
P12 (list (car P1)(* 9 h) (- (cadr P1)(* 1.5 h)))

);setq

;;;-----------------------------------------------------------------------------------
;;; Tinh dien tich con va tong theo cot
(command "CECOLOR" 4 "-boundary" pt1 "" )
(setvar "CECOLOR" lacol)
(setq et (entlast))
(ssadd et ss)
(command "area" "e" "last")
(setq et (entlast))
(ssadd et ss)
(setq dtcon (* (getvar "AREA") tl))
(setq tdt (+ dtcon tdt))
(command "erase" ss "")

;;;-----------------------------------------------------------------------------------------
;;;; KE DONG
(command "pline" PT P2 P5 P3 "C"
"pline" P1 P4 ""
"text" "m" P6 h 0 (rtos k 2 0)
"text" "m" P7 h 0 (rtos dtcon 2 2))
;;--------------------------------------Ghi Tong ----------------------------------
(setq pt1 (getpoint "\n Chon mien tinh dien tich tiep theo hoac enter de ket thuc lenh..."))
);while
(setq ss nil)
(setvar "DIMZIN" ladin)
(command "pline" P3 P8 P9 P10 P5 "C"
"pline" P4 P9 ""

"style" "chuv" "VNI-Helve-condense" "" "1" "" "" ""
"text" "m" P11 h 0 "Tong"
"text" "m" P12 h 0 (rtos tdt 2 2) ;; ghi tong dt vao o
);command
(setvar "OSMODE" laos)
(setvar "cmdecho" 1)
)

;;;------------------------------------------------------------------------------------------------------------------

Link mẩu Lisp :
http://www.cadviet.c...s/2/bang_tk.rar
Rất cám ơn

tôi không biết chương trình có báo lỗi gì thì làm sao giúp bạn được. bạn hãy nói lỗi của nó đi
  • 0

#5 khaosat2009

khaosat2009

    biết lệnh offset

  • Members
  • PipPipPip
  • 171 Bài viết
Điểm đánh giá: 10 (tàm tạm)

Đã gửi 08 October 2009 - 07:20 AM

tôi không biết chương trình có báo lỗi gì thì làm sao giúp bạn được. bạn hãy nói lỗi của nó đi

Mình load lisp mhưng không chạy được, mong được bạn giúp.
  • 0

#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 08 October 2009 - 02:49 PM

Dựa vào Lisp của các anh cho trên, mình chỉnh theo hàng ngang. Không chạy đựơc.
Mong được các anh chỉ giúp sửa chổ nào:

;;--------------------free lisp from cadviet.com --------------------------------------
(defun c:H4()
(vl-load-com)
(setvar "cmdecho" 0)
(setq lacol (getvar "CEColor"))
(setq ladin (getvar "dimzin"))
(setq laos (getvar "osmode"))

;;;-----------------------Chon ti le ban ve --------------------------------------------------

(if (not tl) (setq tl 1))
(if (not h) (setq h 1))
(setq tl1 (getreal (strcat "\nty le ban ve < 1/" (rtos tl 2 0) " >: 1/"))
caot1 (getreal (strcat "\nCao text < " (rtos h 2 0) " >: ")))
(if tl1 (setq tl tl1))
(if caot1 (setq h caot1))

;;;======================================================
(setq k 0
tdt 0)
(setq ss (ssadd))
(setvar "dimzin" 0)
(setvar "OSMODE" 0)

;;;---------------------Xac dinh vi tri dat bang va toa do cac dinh --------------------------

(setq PT (getpoint "\nChon diem xuat bang thong ke dien tich (mep tren ben trai):"))
(setq P1 (list (car PT) (- (cadr PT)(* 3 h)))
P2 (list (car PT) (- (cadr PT)(* 6 h)))
P3 (list (+ (car PT)(* 8 h)) (cadr PT))
P4 (list (car P3) (cadr P1))
P5 (list (car P3) (cadr P2))
P6A (list (+ (car PT)(* 44 h)) (+ (cadr PT)(* 4 h)));; 4 la chieu cao tu diem vi tri PT--> 15 td
P6 (list (+ (car PT)(* 4 h)) (- (cadr PT)(* 1.5 h)))
P7 (list (+ (car P1)(* 4 h)) (- (cadr P1)(* 1.5 h)))
P8 (list (+ (car PT)(* 18 h)) ( (cadr PT)))
P9 (list (+ (car P8) ( (cadr P1)))
P10 (list (+ (car P8) ( (cadr P2)))
P11 (list (+ (car PT)(* 13 h)) (- (cadr PT)(* 1.5 h)))
P12 (list (+ (car P1)(* 13 h)) (- (cadr P1)(* 1.5 h)))


);setq

;;;--------------------------------------Ke va Ghi tieu de bang va dong -------------------
(command "pline" PT P3 P5 P2 "C"
"pline" P1 P4 ""
"style" "chuv" ".VnArial" "" "1" "" "" ""
"text" "m" P6 (* 1.2 h) 0 "%%UB¶NG THåNG K£ DIÖN TÝCH"
"style" "chu" ".VnArial" "" "1" "" "" "" ;; thay kieu chu

"style" "chuv" ".VnArial" "" "1" "" "" ""
"text" "m" P6 h 0 "STT"
"text" "m" P7 h 0 "DT"

);command

;;=====================================================
;;;--------------------------------------------------------------------------------------------------------

(setq pt1 (getpoint "\n Chon mien tinh dien tich : "))
(while (/= pt1 nil)
(setq k (+ 1 k))
(command "TEXT" "m" pt1 (* 3 h) 0 (rtos k 2 0)) ;;; VIET KQ tu pt1 text pt1 la STT
(setq PT (list (car P3) (cadr P3)) ;; bat dau tu P3
P1 (list (+ (car PT) (- (cadr PT)(* 3 h)))
P2 (list (+ (car P1) (- (cadr P1)(* 3 h)))
P3 (list (+ (car PT)(* 18 h) (cadr PT)))
P4 (list (car P1) (cadr P3))
P5 (list (car P2) (cadr P3))
P6 (list (+ (car PT)(* 4 h) (- (cadr PT)(* 1.5 h)))
P7 (list (+ (car P1)(* 4 h) (- (cadr P1)(* 1.5 h)))
P8 (list (+ (car PT)(* 18 h) (- (cadr PT)(* 1.5 h)))

P9 (list (car P1) (- (cadr P8))
P10 (list (car P2) (cadr P8))
P11 (list (car PT)(* 9 h) (- (cadr PT)(* 1.5 h))) ;; dua kq vao o
P12 (list (car P1)(* 9 h) (- (cadr P1)(* 1.5 h)))

);setq

;;;-----------------------------------------------------------------------------------
;;; Tinh dien tich con va tong theo cot
(command "CECOLOR" 4 "-boundary" pt1 "" )
(setvar "CECOLOR" lacol)
(setq et (entlast))
(ssadd et ss)
(command "area" "e" "last")
(setq et (entlast))
(ssadd et ss)
(setq dtcon (* (getvar "AREA") tl))
(setq tdt (+ dtcon tdt))
(command "erase" ss "")

;;;-----------------------------------------------------------------------------------------
;;;; KE DONG
(command "pline" PT P2 P5 P3 "C"
"pline" P1 P4 ""
"text" "m" P6 h 0 (rtos k 2 0)
"text" "m" P7 h 0 (rtos dtcon 2 2))
;;--------------------------------------Ghi Tong ----------------------------------
(setq pt1 (getpoint "\n Chon mien tinh dien tich tiep theo hoac enter de ket thuc lenh..."))
);while
(setq ss nil)
(setvar "DIMZIN" ladin)
(command "pline" P3 P8 P9 P10 P5 "C"
"pline" P4 P9 ""

"style" "chuv" "VNI-Helve-condense" "" "1" "" "" ""
"text" "m" P11 h 0 "Tong"
"text" "m" P12 h 0 (rtos tdt 2 2) ;; ghi tong dt vao o
);command
(setvar "OSMODE" laos)
(setvar "cmdecho" 1)
)

;;;------------------------------------------------------------------------------------------------------------------

Link mẩu Lisp :
http://www.cadviet.c...s/2/bang_tk.rar
Rất cám ơn

Chào bạn khaosat 2009,
Lỗi lisp của bạn do Cad báo là malformed list on input. Nghĩa là bạn viết lisp bị thiếu các dấu đóng ngoặc của các hàm lisp bạn ạ.
Cụ thể là bất cứ chương trình lisp nào thì tổng các dấu ngoặc mở phải bằng tổng các dấu ngoặc đóng. Bạn hãy kiểm tra lại các dòng code sau đây nhé:
(setq PT (list (car P3) (cadr P3)) ;; bat dau tu P3
P1 (list (+ (car PT) (- (cadr PT)(* 3 h)))
P2 (list (+ (car P1) (- (cadr P1)(* 3 h)))
P3 (list (+ (car PT)(* 18 h) (cadr PT)))
P4 (list (car P1) (cadr P3))
P5 (list (car P2) (cadr P3))
P6 (list (+ (car PT)(* 4 h) (- (cadr PT)(* 1.5 h)))
P7 (list (+ (car P1)(* 4 h) (- (cadr P1)(* 1.5 h)))
P8 (list (+ (car PT)(* 18 h) (- (cadr PT)(* 1.5 h)))

P9 (list (car P1) (- (cadr P8))
P10 (list (car P2) (cadr P8))
P11 (list (car PT)(* 9 h) (- (cadr PT)(* 1.5 h))) ;; dua kq vao o
P12 (list (car P1)(* 9 h) (- (cadr P1)(* 1.5 h)))

);setq

Trong đoạn lisp trên đây để lại khá nhiều lỗi bạn ạ.
P1 (list (+ (car PT) (- (cadr PT)(* 3 h)))
P2 (list (+ (car P1) (- (cadr P1)(* 3 h)))
P3 (list (+ (car PT)(* 18 h) (cadr PT)))
Ba dòng này thiếu 01 ngoặc đóng , nhưng nếu bạn thêm một ngoặc đóng vào cuối thì các biến p1 và p2 của bạn sẽ không phải là một điểm vì khi đó chỉ tồn tại duy nhất một giá trị trong hàm list và do vậy không thể là tọa độ của điểm được. Do vậy dấu ngoặc đóng của bạn phải nằm sau hàm (car pt ) và (car p1) và (* 18 h) để đóng hàm cộng. Tuy nhiên như vậy thì cái hàm cộng này trở thành thừa vì phép cộng này chỉ có một số hạng thì cộng cái chi???
P6 (list (+ (car PT)(* 4 h) (- (cadr PT)(* 1.5 h)))
P7 (list (+ (car P1)(* 4 h) (- (cadr P1)(* 1.5 h)))
P8 (list (+ (car PT)(* 18 h) (- (cadr PT)(* 1.5 h)))
Ba dòng này cũng bị lỗi tương tự. Nhưng dấu ngoặc đóng phải thêm vào ở vị trí sau hàm (* 4 h).
P11 (list (car PT)(* 9 h) (- (cadr PT)(* 1.5 h))) ;; dua kq vao o
P12 (list (car P1)(* 9 h) (- (cadr P1)(* 1.5 h)))
Hai dòng này không thiếu ngoặc nhưng trả ra kết quả chả phải là point bạn muốn vì trong cái list này sẽ có tới 3 giá trị tọa độ và do đó kết quả sẽ là một point 3D chứ không phải 2D như bạn muốn. Theo mình hiểu thì ở dòng code này bạn thiếu một hàm cộng tức là bạn phải sửa thành:
P11 (list (+ (car PT)(* 9 h)) (- (cadr PT)(* 1.5 h))) ;; dua kq vao o
P12 (list (+ (car P1)(* 9 h)) (- (cadr P1)(* 1.5 h)))
Và các dòng code này nữa, chúng vừa thừa vừa thiếu các dấu ngoặc đó. Bạn thử tìm xem nhé.
P8 (list (+ (car PT)(* 18 h)) ( (cadr PT)))
P9 (list (+ (car P8) ( (cadr P1)))
P10 (list (+ (car P8) ( (cadr P2)))

Bạn hãy sửa lại các lỗi này và chạy thử, nếu còn có lỗi gì nữa thì hãy post lên và post cả cái thông báo lỗi trong Cad lên bạn nhé.
Chúc bạn thành cô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.

#7 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 08 October 2009 - 04:25 PM

Mình load lisp mhưng không chạy được, mong được bạn giúp.

Chào bạn khaosat 2009,
Mình đã sửa các lỗi trên của bạn thì lisp chạy ngon lành, tuy nhiên kết quả lại không như ý muốn.
Thú thực là phải sau khi chạy thử cái lisp của bạn mới hiểu cái ý bạn định làm. Và do đó theo mình việc sửa lại nó chắc bạn có thể làm ngon lành.
Hiện tại lisp của bạn đã cho ra các kết quả số khá chuẩn, nhưng khi đặt text thì nó lại đặt chồng vào một vị trí.
Lỗi này là do bạn xác định tọa độ điểm đặt text là một giá trị cố định trong vòng lặp while. Lẽ ra các điểm đặt này phải thay đổi phụ thuộc vào giá trị của k trong vòng lặp mới đúng bạn ạ.
Lỗi thứ hai của lisp này là nó vẽ khung sai, đó là do các điểm từ p6 trở đi bạn xác định chưa đúng bạn ạ. Lệnh vẽ khung pline của bạn cũng bị sai bạn ạ các đỉnh của pline phải được sắp xếp đúng theo trật tự trong lệnh chứ không thể tùy ý đâu bạn ạ.

Bạn hãy chạy lại cái lisp của bạn để thấy cái sai ở kết quả và từ đó bạn sẽ hiểu cần sửa chỗ nào bạn nhé. Nếu vẫn chưa nhìn ra mình sẽ giúp. Làm hộ bạn cũng được nhưng bạn sẽ không hiểu vì sao mình làm vậy và do đó nếu bạn muốn chỉnh sửa thêm sẽ rất khó khăn. Hãy bình tĩnh , từ từ hiểu từng dòng lệnh bạn sẽ dễ dàng bắt lisp chạy theo ý bạn.
Chúc bạn thành cô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.

#8 khaosat2009

khaosat2009

    biết lệnh offset

  • Members
  • PipPipPip
  • 171 Bài viết
Điểm đánh giá: 10 (tàm tạm)

Đã gửi 09 October 2009 - 11:26 AM

Bạn hãy chạy lại cái lisp của bạn để thấy cái sai ở kết quả và từ đó bạn sẽ hiểu cần sửa chỗ nào bạn nhé. Nếu vẫn chưa nhìn ra mình sẽ giúp. Làm hộ bạn cũng được nhưng bạn sẽ không hiểu vì sao mình làm vậy và do đó nếu bạn muốn chỉnh sửa thêm sẽ rất khó khăn. Hãy bình tĩnh , từ từ hiểu từng dòng lệnh bạn sẽ dễ dàng bắt lisp chạy theo ý bạn.
Chúc bạn thành công.

Cám ơn Bạn .
Cái việc tính diện tích và tính toán với các dạng bảng mình rất cần thiết cho công việc hiện nay, như thống kê lô đất, tính toán các chỉ tiêu....
Ok, mình đang kẻ khung ra giấy đây, xác định vị trí điểm xong mình sẻ chạy thử, có gì nhờ bạn giúp nhe.
  • 0