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

Biến hệ thống kiểm tra trạng thái group trong lisp

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

2 giờ trước, nguyenkienAgr đã nói:

Chào các bạn, 

Mình muốn biết trạng thái group ON hay OFF thì dùng hàm nào nhỉ? Chỉ dẫn giúp mình với. Cám ơn các bạn!.

Có phải bạn đang muốn tìm "PICKSTYLE" ?

Giá trị bằng 0 >> không chọn group được

Giá trị bằng 1 >> chọn được group

Ngoài ra còn có 2 giá trị 2 và 3

  • 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 18/4/2024 tại 17:35, Doan Van Ha đã nói:

Có phải bạn đang muốn tìm "PICKSTYLE" ?

Giá trị bằng 0 >> không chọn group được

Giá trị bằng 1 >> chọn được group

Ngoài ra còn có 2 giá trị 2 và 3

Ý mình là khi mở 1 bản vẽ ra thì làm sao biết được trang thái group đang bật (ON) hay đang tắt mà không cần ấn tổ hợp phím Ctr+Shift+A.

Nó chắc có 1 biến hệ thống quản lý trạng thái này nhưng mình ko biết biến ấy là gì.

Mục đích để mình thêm tùy chọn trong lisp. Ví dụ khi gọi lệnh Edit Text thì trạng thái group chuyển sang OFF nếu đang ở trạng thái ON.

Không biết ý tưởng này có vớ vẩn quá không ? Thành thực xin lỗi các bạn nếu topic này làm các bạn khó chịu. Chúc các bạn một ngày cuối tuần vui vẻ :)

  • Vote giảm 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
4 phút trước, nguyenkienAgr đã nói:

Ý mình là khi mở 1 bản vẽ ra thì làm sao biết được trang thái group đang bật (ON) hay đang tắt mà không cần ấn tổ hợp phím Ctr+Shift+A.

Nó chắc có 1 biến hệ thống quản lý trạng thái này nhưng mình ko biết biến ấy là gì.

Mục đích để mình thêm tùy chọn trong lisp. Ví dụ khi gọi lệnh Edit Text thì trạng thái group chuyển sang OFF nếu đang ở trạng thái ON.

Không biết ý tưởng này có vớ vẩn quá không ? Thành thực xin lỗi các bạn nếu topic này làm các bạn khó chịu. Chúc các bạn một ngày cuối tuần vui vẻ :)

Thì biến "PICKSTYLE" đó.

  • 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
16 phút trước, Doan Van Ha đã nói:

Thì biến "PICKSTYLE" đó.

Theo mình biết thì biến PICKSTYLE quy định việc chọn đối tượng. Mình chưa hiểu cách dùng biến này để kiểm tra trạng thái group như thế nào, bạn hướng dẫn rõ hơn được không?

  • Vote giảm 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

Haha

Đáng lẽ bài này kết thúc từ câu trả lời dầu tiên của bác Doàn Văn Hạ rồi.

Chủ thớt hỏi "hàm gì" - trả lời :getvar

biến là PICKSTYLE, giá trị 0,2 = Group On, 1 hoặc 3 = Group OFF

Mà On hay Off thì chẳng liên quan đến Edit text cả. Tôi thấy vẫn Edid bình thường mà

  • 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

Sau những gợi ý của bạn Doan Van Ha và bạn vietduc147258 mình đã hiểu 1 chút về biến hệ thống PICKSTYLE. Cám ơn các bạn rất nhiều!!!

Cũng xin lỗi các bạn vì cách trình bày của mình hơi khó hiểu.

 

Chúc các bạn một tuần mới làm việc hiệu quả và nhiều niềm vui !

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ại không để ý đó. Trong diễn đàn có bạn yêu cầu viết lisp bật tắt cái group này rồi. Tham khảo https://www.cadviet.com/forum/index.php?app=forums&module=forums&controller=topic&id=202561&tab=comments#comment-479484

  • 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 23/4/2024 tại 11:39, vietduc147258 đã nói:

Tại không để ý đó. Trong diễn đàn có bạn yêu cầu viết lisp bật tắt cái group này rồi. Tham khảo https://www.cadviet.com/forum/index.php?app=forums&module=forums&controller=topic&id=202561&tab=comments#comment-479484

Cám ơn bạn nhiều! Khoản tìm kiếm thông tin thì mình hơi ké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

Sở dĩ mình cần biến này để viết lisp giải quyết vấn đề sau:

- khi dùng lệnh STRETCH mà trạng thái group đang bật thì một số đối tượng nằm trong group sẽ bị ảnh hưởng. Do vậy trước khi dùng lệnh sketch phải tắt group đi.

- Lisp mình viết như sau, nhưng mình thấy ko ổn lắm. Nhờ các bạn sửa giùm:

(defun C:S (/ CPS) ;;; STRETCH neu Group "ON" thi tat di, sau do bat lai. CPS = current pickstyle

  (setq CPS (getvar "PICKSTYLE"))
  (if (or (=  1 CPS) (= 3 CPS))
  	(setvar "PICKSTYLE" 0)
    )
  (command "STRETCH")
  (setvar "PICKSTYLE" CPS)  
  (princ)
  )

Cám ơn các ban!.

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
18 phút trước, nguyenkienAgr đã nói:

Sở dĩ mình cần biến này để viết lisp giải quyết vấn đề sau:

- khi dùng lệnh STRETCH mà trạng thái group đang bật thì một số đối tượng nằm trong group sẽ bị ảnh hưởng. Do vậy trước khi dùng lệnh sketch phải tắt group đi.

- Lisp mình viết như sau, nhưng mình thấy ko ổn lắm. Nhờ các bạn sửa giùm:


(defun C:S (/ CPS) ;;; STRETCH neu Group "ON" thi tat di, sau do bat lai. CPS = current pickstyle

  (setq CPS (getvar "PICKSTYLE"))
  (if (or (=  1 CPS) (= 3 CPS))
  	(setvar "PICKSTYLE" 0)
    )
  (command "STRETCH")
  (setvar "PICKSTYLE" CPS)  
  (princ)
  )

Cám ơn các ban!.

1. Không nên đặt tên lệnh là "S" vì nó trùng với lệnh tắt "STRETCH".
2. Khái niệm "mình thấy ko ổn lắm" là rất mơ hồ.

3. Có vài điều cần sửa nữa.

Các câu hỏi của bạn luôn khó hiểu và lủng củng, cần chú ý.

  • 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
33 phút trước, Doan Van Ha đã nói:

1. Không nên đặt tên lệnh là "S" vì nó trùng với lệnh tắt "STRETCH".
2. Khái niệm "mình thấy ko ổn lắm" là rất mơ hồ.

3. Có vài điều cần sửa nữa.

Các câu hỏi của bạn luôn khó hiểu và lủng củng, cần chú ý.

Cám ơn bạn thẳng thắn góp ý. 

- Mình đặt lệnh là "S" mục đích để thay lệnh gốc của cad.

- Mục đích của lisp là: STRETCH đối tượng riêng lẻ trong nhóm đối tượng đã được group với nhau mà ko ảnh hưởng đến các đối tượng khác trong group.

- Thực hiện lệnh bình thường thì sẽ phải: chuyển trạng thái group thành "OFF" bằng cách ấn F3, sau đó gọi lệnh STRETCH và chọn đối tượng. Sau khi xong lệnh STRETCH lại ấn F3 lần nữa để bật group thành ON.

Lisp mình viết ko ổn vì 2 lý do sau:

  • Khi thực hiện phải  gọi lệnh trước, chọn đối tượng sau.
  • Chỉ có mỗi tác dụng tắt group nếu nó đang bật, sau khi lệnh kết thúc ko bật lại trạng thái group ban đầu. 

- Mong bạn bỏ chút thời gian sửa giúp mình.

Cám ơn bạn rất nhiều!.

  • Vote giảm 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  

×