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

[Hỏi] Giúp mình sửa lỗi lisp này:

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

Mô tả lsp: Lisp để scale nhanh các đối tượng với 1 tỷ lệ cho trước.

 

Mình dùng lisp này từ 2004 trên CAD 2004 ngon lành, nhưng chuyển sang dùng CAD 2008 thì bị lỗi khi chọn trước đối tượng. Có lẽ các lệnh trên CAD 2008 thay đổi (ý nghĩa hoặc cách sử dụng) chăng?

 

Các bạn giúp mình với. Tks

(defun C:SETQSC ()

(SETSCALENUMBER)

(princ)

) ;_ Eof defun

 

(defun SETSCALENUMBER ()

(while (<= (setq SCALENUM (getreal "\nSet ratio for Quick Scale: ")) 0)

(if (<= SCALENUM 0)

(princ "\nThe ratio must great than zero. ")

) ;_ Eof if

) ;_ Eof while

) ;_ Eof defun

 

(defun C:QSC (/ SS PT) ;_Quick scale

(if (<= SCALENUM 0)

(SETSCALENUMBER)

) ;_ Eof if

(princ (strcat "Scale Object with ratio = " (rtos SCALENUM 2) "\n"))

(setq SS (cadr (ssgetfirst)))

(princ)

(if (= NIL SS)

(progn

(princ "Select Object to scale: ")

(while (= NIL (setq SS (ssget))))

(princ (strcat (itoa (sslength SS)) " Object(s) selected. "))

) ;_ Eof progn

) ;_ Eof if

(setq PT (getpoint "\nSelect a base point for Scale: "))

(command ".SCALE" SS "" PT SCALENUM)

(princ)

) ;_ Eof defun

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 k post thông báo lỗi, n đọc dòng xode thấy hình như nó chì có chức năng ghi nhớ tỉ lệ. scale và rất nhiều lệnh khác của cad có chức năng này, bạn cần lisp làm chi

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

@ Doan Van Ha: Mình thử rồi vẫn ko được.

 

 

Bạn k post thông báo lỗi, n đọc dòng xode thấy hình như nó chì có chức năng ghi nhớ tỉ lệ. scale và rất nhiều lệnh khác của cad có chức năng này, bạn cần lisp làm chi

Dùng LSP mình thấy tiện hơn.

 

A` quên: chỉ một số file CAd mới bị lỗi thôi, còn mở 1 file CAD mới thì ko bị.

Mình muốn hỏi cụ thể là:

1. Lệnh (setq SS (cadr (ssgetfirst))) trong 2008 có thay đổi gì so với version 2004 ko? vì các file LSP cũ của mình hay bị lỗi với lệnh này.

2. Biến hệ thống nào liên quan đến lệnh ssgetfirst?

 

Trình LSP của mình có hạn, lại ít thời gian cập nhật - mong các bạn thông cảm :)

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

1). Rất có thể bạn đang dùng song song nhiều lisp nên lỗi ở chỗ SS.

2). Lisp này làm 1 công việc mà cad đã làm được rồi.

3). Có mỗi việc post cái lỗi ấy lên mà bạn cũng muốn giấu chăng?

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  

×