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

em xin nhờ viết code auto lips co giãn đối tượng theo màu và layer mặc định ạ.

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

em muốn viết lips co dãn đối tượng là đường line hoặc pline theo màu và theo độ dài mặc định có sẵn  mà  e không biết bắt đầu từ đâu ạ! ví dụ em có 2 đoạn thẳng dài khác nhau .
1 đoạn dài 1m , màu xanh lá và 1 đoạn dài 2m màu vàng. Bây giờ e muốn viết 1 lips đùng lệnh co giãn để khi mình co giãn ngắn đoạn dài 2m đang màu vàng nó sẽ tự động chuyển về layer của thanh dài 1m và có màu xanh . và ngược lại ạ. mong các anh chỉ bảo giúp em! em cảm ơn ạ.

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ó 2 cách viết:

1 là bạn vẽ xong  chạy lisp quét chọn 1 phát rồi so sánh chiều dài từng đối tượng và đổi màu.

2 là bạn dùng Reactor sau mỗi thao tác với đối tượng sẽ load lại tự động load lại cái lisp số 1 với các đối tượng đã set trước đó. (cách này lever cao hơn chút, cần nghiên cứu nhiều chút và automatic) :))

 

  • Like 1

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
Vào lúc 7/8/2023 tại 11:08, cuongtk2 đã nói:

Bạn chỉ việc kiểm tra chiều dài sau khi co giãn rồi đổi màu cho phù hợp. 

Hic hic em vẫn chưa hiểu lắm! mong  bác tận tình chỉ giúp ạ!!!

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 chỉ cần viết 1 hàm đổi chiều dài của curve theo layer. Tôi không rõ hàm co giãn hoạt động như thế nào nhưng đầu vào của hàm cũng là những entity được nhập vào.

Vậy chỉ cần check lại chiều dài của entities là được.

 

(defun layer-by-length (ent / )
  (setq obj (vlax-ename->vla-object ent)
    entg (entget ent)
    l1 (vla-get-Length obj)
    layer  (if (< l1 1.0) "layer1"
         (if (and (<= 1.0 l1) (< l1 2.0)) "layer2"
         "layer3" ))
    entg (subst (cons 8 layer )(assoc 8 entg) entg)
    )
  (entmod entg)
  )
  

  • Like 1

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  

×