Đến nội dung


Hình ảnh
- - - - -

[Hỏi] nhờ kiểm tra lisp này lỗi ở đoạn nào


  • Please log in to reply
5 replies to this topic

#1 hamster2102

hamster2102

    biết lệnh copy

  • Advance Member
  • PipPipPip
  • 111 Bài viết
Điểm đánh giá: 21 (tàm tạm)

Đã gửi 20 July 2012 - 03:23 PM

đã giải quyết xong (nhờ mod del dùm em)
cám ơn bác mathan và bác Tue
  • 0
Nếu biết rằng em đã lấy chồng
Anh mừng biết mấy em biết không
Bao năm quen biết, bao năm mệt
Tính ra cũng khổ mấy năm ròng

#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 20 July 2012 - 03:39 PM

Chia buồn với bạn mình không hiểu sao có cái LISP trên bạn viết lại làm gì nữa nhỉ
1. Bạn mắc lỗi sau xem trong code dưới nhé mình có note vào


;; Cai nay la code cua ban nhe
(defun C:NHAL (/W H1 H2 p1 p2 p3 p4 p5 OldOs) ;; Sai, thieu dau cach truoc va sau "/" => (defun C:NHAL ( / W H1 H2 p1 p2 p3 p4 p5 OldOs)
;;; nhap vao so lieu
(setq
W (getreal "\nChieu rong nha W=")
H1 (getreal "\nChieu cao nha H1=")
H2 (getreal "\Chieu cao mai nha H2=")
p1 (getpoint "\nKich chon diem chuan:")
;;;-----------------------------
;;;Tinh toa do
p2 (polar p1 0.0 W)
p3 (polar p2 (/pi 2) H1) Sai, thieu dau cach truoc va sau "/" => p3 (polar p2 ( / pi 2) H1)
p4 (polar p3 pi W)
p5 (list (+(car p4) (/W 2)) (+ (cadr p4) H2)) Sai, thieu dau cach truoc va sau "/" => p5 (list (+(car p4) ( / W 2)) (+ (cadr p4) H2))
)
;;;-----------------------
;;; Luu bien osmode
(setq OldOs (getvar "osmode"))
;;;--------------------
;;;Set object snap OFF
(setvar "osmode" 0)
;;;-------------------------
;;;Goi lenh autocad
(command "line" p1 p2 p3 p4 "c")
(command "line" p3 p5 p4 "")
;;;---------------------
;;;Tai lap osmode
(setvar "osmode" OldOs)
;;;--------------------
(princ)
)
Hope U be fun with this code
2. Biến "OldOs" => old osmode => để lưu giá trị biến osmode ban đầu
Trong quá trình dùng lisp có thay đổi kiểu bắt điểm bằng (setvar "osmode" 0) hoặc thông số khác tùy trường hợp
và sẽ trả lại sau lisp bằng hàm (setvar "osmode" OldOs)
  • 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,

#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 20 July 2012 - 03:42 PM

Chia buồn với bạn mình không hiểu sao có cái LISP trên bạn viết lại làm gì nữa nhỉ
Bạn mắc lỗi sau xem trong code dưới nhé mình có note vào
;; Cai nay la code cua ban nhe (defun C:NHAL (/W H1 H2 p1 p2 p3 p4 p5 OldOs) ;; Sai, thieu dau cach truoc va sau "/" => (defun C:NHAL ( / W H1 H2 p1 p2 p3 p4 p5 OldOs)

Trước dấu "/" không cần "cách" vẫn được.
Nhưng sau "/" ở code trên phải có "cách".
  • 0

#4 hamster2102

hamster2102

    biết lệnh copy

  • Advance Member
  • PipPipPip
  • 111 Bài viết
Điểm đánh giá: 21 (tàm tạm)

Đã gửi 20 July 2012 - 03:47 PM

cám ơn 2 bạn , mình còn thắc mắc ở dòng dưới cùng bạn nào giải nghĩa cho mình với , biến oldos và osmode
  • 0
Nếu biết rằng em đã lấy chồng
Anh mừng biết mấy em biết không
Bao năm quen biết, bao năm mệt
Tính ra cũng khổ mấy năm ròng

#5 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 20 July 2012 - 03:50 PM



cám ơn 2 bạn , mình còn thắc mắc ở dòng dưới cùng bạn nào giải nghĩa cho mình với , biến oldos và osmode

Bạn mathan đã giải thích cho bạn ở bài viết trên rồi đấy thôi
  • 0

#6 hamster2102

hamster2102

    biết lệnh copy

  • Advance Member
  • PipPipPip
  • 111 Bài viết
Điểm đánh giá: 21 (tàm tạm)

Đã gửi 20 July 2012 - 03:56 PM

Bạn mathan đã giải thích cho bạn ở bài viết trên rồi đấy thôi

thank chắc bác mathan vừa edit đấy em đọc ban nãy không có ^^
  • 0
Nếu biết rằng em đã lấy chồng
Anh mừng biết mấy em biết không
Bao năm quen biết, bao năm mệt
Tính ra cũng khổ mấy năm ròng