Đến nội dung


Hình ảnh
- - - - -

Lisp chạy không ổn định trên cad2007???


  • Please log in to reply
3 replies to this topic

#1 boysock123456

boysock123456

    Chưa sử dụng CAD

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

Đã gửi 10 July 2008 - 11:59 PM

Các cao thủ cho mình hỏi với :mình có 1 đoạn lisp với mã như dưới đây, nhưng khi chạy thì nó lại vẽ ra những đoạn thẳng không song song và không cách đều nhau theo ý của mình, đôi khi những đoạn thẳng đó lại trùng nhau nữa chứ??Giúp mình với:
(defun c:te()
(setq a(getpoint))
(setq b(getpoint))
(setq c(getpoint))
(setq m 0)
(command "line" a b "")(command "lengthen" (entlast)"")(setq e(getvar "perimeter"))
(command "erase" (entlast)"")
(command "line" a c "")(command "lengthen" (entlast)"")(setq f(getvar "perimeter"))
(command "erase" (entlast)"")
(command "ucs" "n" "3" a b c)
(setq f1(+ 1 (fix(/ f 0.2))))
(repeat f1
(progn
(command "line" (list 0 m) (list e m) "")
(setq m(+ 0.2 m))
)
)
(princ)
)
  • 0

#2 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 11 July 2008 - 08:18 AM

Các cao thủ cho mình hỏi với :mình có 1 đoạn lisp với mã như dưới đây, nhưng khi chạy thì nó lại vẽ ra những đoạn thẳng không song song và không cách đều nhau theo ý của mình, đôi khi những đoạn thẳng đó lại trùng nhau nữa chứ??Giúp mình với:
(defun c:te()
(setq a(getpoint))
(setq b(getpoint))
(setq c(getpoint))
(setq m 0)
(command "line" a b "")(command "lengthen" (entlast)"")(setq e(getvar "perimeter"))
(command "erase" (entlast)"")
(command "line" a c "")(command "lengthen" (entlast)"")(setq f(getvar "perimeter"))
(command "erase" (entlast)"")
(command "ucs" "n" "3" a b c)
(setq f1(+ 1 (fix(/ f 0.2))))
(repeat f1
(progn
(command "line" (list 0 m) (list e m) "")
(setq m(+ 0.2 m))
)
)
(princ)
)

Bạn tắt Osnap trước khi chạy đi là các đoạn thẳng sẽ song song.
Vấn đề này ai lập trình lisp cũng gặp, nguyên nhân là do hàm command khi có tham số là tọa độ điểm, điểm đó sẽ bắt theo osnap (nếu được bật).

bạn search từ khóa osmode trên diễn đàn, sẽ ra được các ví dụ lisp xử lý về vấn đề này.
  • 0

#3 boysock123456

boysock123456

    Chưa sử dụng CAD

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

Đã gửi 11 July 2008 - 07:37 PM

Bạn tắt Osnap trước khi chạy đi là các đoạn thẳng sẽ song song.
Vấn đề này ai lập trình lisp cũng gặp, nguyên nhân là do hàm command khi có tham số là tọa độ điểm, điểm đó sẽ bắt theo osnap (nếu được bật).

bạn search từ khóa osmode trên diễn đàn, sẽ ra được các ví dụ lisp xử lý về vấn đề này.

Cám ơn bạn rất nhiều...mình làm đc rồi!
  • 0

#4 boysock123456

boysock123456

    Chưa sử dụng CAD

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

Đã gửi 11 July 2008 - 07:38 PM

Bạn tắt Osnap trước khi chạy đi là các đoạn thẳng sẽ song song.
Vấn đề này ai lập trình lisp cũng gặp, nguyên nhân là do hàm command khi có tham số là tọa độ điểm, điểm đó sẽ bắt theo osnap (nếu được bật).

bạn search từ khóa osmode trên diễn đàn, sẽ ra được các ví dụ lisp xử lý về vấn đề này.

Cám ơn bạn rất nhiều...mình làm đc rồi!
  • 0