Chuyển đến nội dung
Diễn đàn CADViet
khiem10ck

Nhờ Mọi Người Sửa Dùm Đoạn Lisp Offset

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

(defun C:OK (/ ent)
(while
(setq dist (getdist "\nOffset value: "))
(while
(= ent nil) (setq ent (car (entsel)))
)
(command ".offset" dist ent pause "")
(command ".change" "last" "" "properties" "ltype" "center" "")
)
(princ)
)

 

mình có đoạn lisp lệnh offset như trên, với mục đích offset liên tục các đối tượng với khoảng cách tuỳ ý, và các đối tượng sau khi offset tự động chuyển sang kiểu đường nét khác.

tuy nhiên đoạn lisp trên lại bị lỗi nếu không chọn được đối tượng ở hàm entsel, nên mình đã cho nó vào một vòng lặp, nhưng lại xuất hiện lỗi khác là vòng lặp này không cho mình chọn đổi tượng khác vì biến ent lấy lại giá trị của lần offset trước

xin mọi người giúp dùm một giải pháp giải quyết vấn đề này.

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 thử xem sao:

(defun C:OK  (/ ent cmd dist)
  (setq cmd (getvar 'cmdecho))
  (setvar 'cmdecho 0)
  (if (not off_value_org)
    (setq off_value_org 100))
  (setq dist (getdist (strcat "\nOffset value <" (rtos off_value_org 2) ">: ")))
  (if (null dist)
    (setq dist off_value_org)
    (setq off_value_org dist))
  (while (setq ent (car (entsel)))
    (command ".offset" dist ent pause "")
    (command ".change" "last" "" "properties" "ltype" "center" ""))
  (setvar 'cmdecho cmd)
  (princ))

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 thử xem sao:

(defun C:OK  (/ ent cmd dist)
  (setq cmd (getvar 'cmdecho))
  (setvar 'cmdecho 0)
  (if (not off_value_org)
    (setq off_value_org 100))
  (setq dist (getdist (strcat "\nOffset value <" (rtos off_value_org 2) ">: ")))
  (if (null dist)
    (setq dist off_value_org)
    (setq off_value_org dist))
  (while (setq ent (car (entsel)))
    (command ".offset" dist ent pause "")
    (command ".change" "last" "" "properties" "ltype" "center" ""))
  (setvar 'cmdecho cmd)
  (princ))

 

bị lỗi  ; error: syntax error không biết bị sai ở đâu?

và hình như cách của bạn thì mình không thể chọn các khoảng cách khác nhau trong mỗi lần offset

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


×