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

Nhờ lisp chế độ bắt điểm hatch

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

Nhờ các bác có lisp hay viết hộ mình lisp bật tắt chế độ bắt điểm Hatch với ah, mình có tìm trên diễn đàn rồi nhưng ko có, mình hay phải dùng nên mỗi lần cứ phải vào option tích thì hơi lâu (cái chỗ tô vàng ở ảnh đính kèm đấy ah)

Capture1.PNG

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

Code tham khảo: 

(defun c:test ()
  (if     (= (getvar "osoptions") 0)
        (setvar "osoptions" 1)
        (setvar "osoptions" 0))
  (princ))

  • 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

Uhm, Không hiểu lỗi này do đâu, hình như có vấn đề trong việc tải file ở diễn đàn: Khiến cho file trực tiếp tải về rồi dùng tại chỗ bị trục trặc . 

----> Nhắn các bác khác trên diễn thử kiểm tra giúp em lỗi này với !, máy em cũng bị tương tự.

Giải quyết:

B1: Tạo mới 1 file .txt, đặt tên aaa chẳng hạn. Rồi đổi đuôi file thành .lsp

B2: Mở file lisp "Test", copy nội dung từ file "Test" sang file "aaa"

B3: Chạy lại lisp

  • 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
1 giờ trước, Danh Cong đã nói:

Code tham khảo: 

 


(defun c:test ()
  (if     (= (getvar "osoptions") 0)
        (setvar "osoptions" 1)
        (setvar "osoptions" 0))
  (princ))

 

"Quá nhanh, hơi nguy hiểm", có thể gọi là giết nhầm hơn bỏ sót.

  • Vote tăng 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
7 phút trước, quocmanh04tt đã nói:

"Quá nhanh, hơi nguy hiểm", có thể gọi là giết nhầm hơn bỏ sót.

:(( Em vẫn chưa hiểu lỗi ở đâu, tải về, kiểm tra file .lsp các kiểu.  Nhưng rõ ràng là copy toàn bộ code cho vào Vlide thì ổn, còn Apload thì lại lỗi :;):;)

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ừa xong, Danh Cong đã nói:

:(( Em vẫn chưa hiểu lỗi ở đâu, tải về, kiểm tra file .lsp các kiểu.  Nhưng rõ ràng là copy toàn bộ code cho vào Vlide thì ổn, còn Apload thì lại lỗi :;):;)

Không, ý mình là: nếu (getvar "osoptions") không phải  = 1, bởi vì nó có các giá trị: 0, 1, 2, 3, 4, 5, 6, 7. Chứ không phải chỉ 0 với 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
48 phút trước, Danh Cong đã nói:

:(( Em vẫn chưa hiểu lỗi ở đâu, tải về, kiểm tra file .lsp các kiểu.  Nhưng rõ ràng là copy toàn bộ code cho vào Vlide thì ổn, còn Apload thì lại lỗi :;):;)

Thủ phạm nằm ở đây (tải về và mở trực tiếp bằng VLIDE - không copy, paste):

Loiiiii.jpg

  • Vote tăng 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
10 phút trước, quocmanh04tt đã nói:

Thủ phạm nằm ở đây (tải về và mở trực tiếp bằng VLIDE - không copy, paste):

Loiiiii.jpg

Chuẩn rồi bác #QuocManh ạ. :))))

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ách trị tội các file lisp bị lỗi download:

- Lý do lỗi: khi down về nó bị định dạng Encoding là UTF-8 chứ không phải ANSI.

- Xử lý: mở file trong notepad >> saveas với định dạng Encoding là ANSI. OK

  • Vote tăng 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
23 giờ trước, quocmanh04tt đã nói:

"Quá nhanh, hơi nguy hiểm", có thể gọi là giết nhầm hơn bỏ sót.

Chính xác là vừa giết nhầm vừa bỏ sót.

OSOPTIONS = 7, Test => 1

Giết nhầm:

    Ignore endpoints of dimension extension lines: Check => Uncheck

Bỏ sót:

    Ignore hatch objects: Check => Check

Ở đây, có 2 biến ảnh hưởng đến snap hatch objects là OSOPTIONS và OSNAPHATCH nên có thể dùng lisp của ketxu.

Tổng quát, nếu muốn thay đổi bit khác, dùng hàm

 (defun SwitchBit (n k) (+ n (if (= (logand n k) k)(- k) k))) 

n : số nguyên >=0

k : 2^i (1, 2, 4, ..)

  • Like 1
  • Vote tăng 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
29 phút trước, ndtnv đã nói:

Chính xác là vừa giết nhầm vừa bỏ sót.

OSOPTIONS = 7, Test => 1

............................................................

Ở đây, có 2 biến ảnh hưởng đến snap hatch objects là OSOPTIONS và OSNAPHATCH nên có thể dùng lisp của ketxu.

............................................................

 

20 giờ trước, quocmanh04tt đã nói:

Không, ý mình là: nếu (getvar "osoptions") không phải  = 1, bởi vì nó có các giá trị: 0, 1, 2, 3, 4, 5, 6, 7. Chứ không phải chỉ 0 với 1.

 

^^, Em hỏi các bác thêm chút nữa:

C1: Em tra biến hệ thống "OSOPTIONS" qua lệnh "SYSVDLG" , thì cad báo chỉ có các giá trị "0, 1, 2' ----> Anh #QuocManh với anh #ndtvn cho nhiều giá trị 3,4....n* , thì lấy đâu ra mà lắm giá trị thế??? :;):;):;)

C2: Biến OSNAPHATCH được lấy từ đâu ạ?     Thường thì những biến loại này, em soi được bằng cách trỏ chuột vô Cad, là  Cad gợi ý ra biến hệ thống để tác động lên các cài đặt của mình. Nhưng ở đây em chỉ thấy "OSOPTIONS" chứ có thấy OSNAPHATCH đâu ạ ???

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 dùng cad 2010 nên "OSOPTIONS" cũng chỉ có giá trị 0-3

Xem ảnh và GG thì thấy cad đời mới có thêm bit 4 cho dimension extension lines.

Trong tương lai có thể thêm các bit khác: 8, 16 ...

https://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-Core/files/GUID-0D05BECE-0DC3-454D-999A-208C6DBC3C3E-htm.html

  • Vote tăng 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
55 phút trước, Danh Cong đã nói:

 

 

^^, Em hỏi các bác thêm chút nữa:

C1: Em tra biến hệ thống "OSOPTIONS" qua lệnh "SYSVDLG" , thì cad báo chỉ có các giá trị "0, 1, 2' ----> Anh #QuocManh với anh #ndtvn cho nhiều giá trị 3,4....n* , thì lấy đâu ra mà lắm giá trị thế??? :;):;):;)

C2: Biến OSNAPHATCH được lấy từ đâu ạ?     Thường thì những biến loại này, em soi được bằng cách trỏ chuột vô Cad, là  Cad gợi ý ra biến hệ thống để tác động lên các cài đặt của mình. Nhưng ở đây em chỉ thấy "OSOPTIONS" chứ có thấy OSNAPHATCH đâu ạ ???

Trong lệnh SYSVDLG có biến OSNAPHATCH mà Danh Công! Cad đang dùng 2007

  • Vote tăng 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
1 giờ} trướ}c, Doan Van Ha đã nói:

Trong lệnh SYSVDLG có biến OSNAPHATCH mà Danh Công! Cad đang dùng 2007

 

+ Em dùng Cad2012, kiểm tra trong SYSVDLG thì không có biến OSNAPHATCH. Tuy nhiên thì "Getvar" nó thì vẫn tồn tại giá trị của biến này. Đối với Cad2007 thì vẫn còn biến này trong SYSVDLG.

+ Ý em là : Khi biết đến tên biến "OSNAPHATCH", OSOPTIONS .... và vô vàn các biến khác nữa, thì ta mới lục tên nó trong danh sách SYSVDLG.

Vậy thì nếu không biết đến tên biến thì làm sao mà tra được. ( Ví như em sử dụng Cad2012 không tìm thấy OSNAPHATCH nó nằm ở đâu, Cad cũng không đưa ra gợi ý gì hết  ---> Em muốn tìm hiểu về nó thì tìm kiểu gì , hoặc như em hỏi tại sao bác biết đến biến OSNAPHATCH nếu như không ai trong diễn đàn nhắc đến :;):;))

 

Tra bien.png

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

Ketxu  biết đến nó là vì đã dịch gần hết các biến hệ thống trong CAD ^^ Đấy là nguồn chính thứ 1
Nguồn chính thứ 2 là search gg với nội dung liên quan, kèm theo chữ SYSVARS

^^

  • Vote tăng 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
10 phút trước, ketxu đã nói:

Ketxu  biết đến nó là vì đã dịch gần hết các biến hệ thống trong CAD ^^ Đấy là nguồn chính thứ 1
Nguồn chính thứ 2 là search gg với nội dung liên quan, kèm theo chữ SYSVARS

^^

Thôi, em chịu thua bác rồi :,D:,D:,D Số lượng ngót ngét hơn  700 đấy bác ạ  (:-)(:-)  

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

Thôi, em chịu thua bác rồi :,D:,D:,D Số lượng ngót ngét hơn  700 đấy bác ạ  (:-)(:-)  

Đến CAD2015 là xấp xỉ 1040 biến, bao gồm cả biến un_document, enviroment (ket xếp chung vào)
Với CAD sau này đã có sysvar monitor, hoặc lisp trên kia của bác Thái bụi. Chức năng này rất hay mà ket hay phải tắt đi vì máy yếu

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 2/1/2018 tại 10:53, TKTXVD đã nói:

Nhờ các bác có lisp hay viết hộ mình lisp bật tắt chế độ bắt điểm Hatch với ah, mình có tìm trên diễn đàn rồi nhưng ko có, mình hay phải dùng nên mỗi lần cứ phải vào option tích thì hơi lâu (cái chỗ tô vàng ở ảnh đính kèm đấy ah)

Capture1.PNG

 

(defun c:h3 ( / )
  (setvar "osoptions" (boole 6 (getvar "osoptions") 1))
  (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

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  

×