Đến nội dung


Hình ảnh

[Nhờ chỉnh sửa]code để vẽ tam giác


  • Please log in to reply
2 replies to this topic

#1 Minh Heaven

Minh Heaven

    Chưa sử dụng CAD

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

Đã gửi 04 December 2011 - 01:08 PM

Mình có viết một đoạn code để vẽ tam giác nhưng không hiểu sao lại không hoạt động.Mọi người chỉnh sửa giúp mình được không?

( defun c:vtg  (/ b l p0 x0 y0 b2 p1 p2 p3)
(setq i 0)
(setq xoay ( getint "xoay chu hay khong (1-xoay/0-khong): "))
(while
(setq p0 ( getpoint "diemve:" ))
(setq x0 (car p0)
(setq y0 (cadr p0)
(setq b2 (* b 0.5 )
(setq p1 ( list (x0 ( - y0 b2 )))
(setq p2 ( list ( + x0 l ) y0 )
(setq p3 ( list (x0 ( + y0 b2 )))
)
(setq nn (ssadd))
( command "pline" p0 p1 p2 p3 "C" )
(ssadd (entlast) nn)
(setq i (+ i 1) kh (itoa i))
(command "text""j" "ML" P0 (/ b 2) 0 kh)
(ssadd (entlast) nn)
(command "rotate" nn "" P0 pause)
(if (= xoay 0) (modify (entlast) 50 0))

)
)
(defun modify (ee code tri)
(entmod (append
(entget ee)
(list (cons code tri))
)
)
)

Thanks nhiều
  • 0

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 04 December 2011 - 02:44 PM

Mình có viết một đoạn code để vẽ tam giác nhưng không hiểu sao lại không hoạt động.Mọi người chỉnh sửa giúp mình được không?

( defun c:vtg  (/ b l p0 x0 y0 b2 p1 p2 p3)
(setq i 0)
(setq xoay ( getint "xoay chu hay khong (1-xoay/0-khong): "))
(while
(setq p0 ( getpoint "diemve:" ))
(setq x0 (car p0)
(setq y0 (cadr p0)
(setq b2 (* b 0.5 )
(setq p1 ( list (x0 ( - y0 b2 )))
(setq p2 ( list ( + x0 l ) y0 )
(setq p3 ( list (x0 ( + y0 b2 )))
)
(setq nn (ssadd))
( command "pline" p0 p1 p2 p3 "C" )
(ssadd (entlast) nn)
(setq i (+ i 1) kh (itoa i))
(command "text""j" "ML" P0 (/ b 2) 0 kh)
(ssadd (entlast) nn)
(command "rotate" nn "" P0 pause)
(if (= xoay 0) (modify (entlast) 50 0))

)
)
(defun modify (ee code tri)
(entmod (append
(entget ee)
(list (cons code tri))
)
)
)

Thanks nhiều

Trước hết bạn chưa setq b là cái gì cả!
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#3 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 04 December 2011 - 02:54 PM

Mình có viết một đoạn code để vẽ tam giác nhưng không hiểu sao lại không hoạt động.Mọi người chỉnh sửa giúp mình được không?

( defun c:vtg  (/ b l p0 x0 y0 b2 p1 p2 p3)
(setq i 0)
(setq xoay ( getint "xoay chu hay khong (1-xoay/0-khong): "))
(while
(setq p0 ( getpoint "diemve:" ))
(setq x0 (car p0)
(setq y0 (cadr p0)
(setq b2 (* b 0.5 )
(setq p1 ( list (x0 ( - y0 b2 )))
(setq p2 ( list ( + x0 l ) y0 )
(setq p3 ( list (x0 ( + y0 b2 )))
)
(setq nn (ssadd))
( command "pline" p0 p1 p2 p3 "C" )
(ssadd (entlast) nn)
(setq i (+ i 1) kh (itoa i))
(command "text""j" "ML" P0 (/ b 2) 0 kh)
(ssadd (entlast) nn)
(command "rotate" nn "" P0 pause)
(if (= xoay 0) (modify (entlast) 50 0))

)
)
(defun modify (ee code tri)
(entmod (append
(entget ee)
(list (cons code tri))
)
)
)

Thanks nhiều

Lỗi 1 : thiếu )
Bắt đầu hàm là (
Kết thúc hàm bằng )
- Các hàm setq bạn viết hầu hết thiếu )

Lỗi 2 : Biến b đầu tiên là NIL, chưa gán kiểu dữ liệu REAL hay INT mà đã gán (setq b2 (* b 0.5 )) rồi nên lỗi
  • 0