Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
hamster2102

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

Các bài được khuyến nghị

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)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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".

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

 

 

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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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ó ^^

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×