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

Em cần Lisp bật tắt layer... (layon, layoff, layiso)

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

Có ai có kô ạ... share cho em với ạ... em đang rất cần... :)

 

Nhân tiện cho em hỏi luôn: trong cái express của autocad2004 cái lisp layon, layoff, layiso nằm ở file nào vậy các 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
Có ai có kô ạ... share cho em với ạ... em đang rất cần... :)

Trong Express tool.

 

 

Nhân tiện cho em hỏi luôn: trong cái express của autocad2004 cái lisp layon, layoff, layiso nằm ở file nào vậy các bác...

Tất cả trong file acetlayr.lsp của Express tool.

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ó ai có kô ạ... share cho em với ạ... em đang rất cần... :)

 

Nhân tiện cho em hỏi luôn: trong cái express của autocad2004 cái lisp layon, layoff, layiso nằm ở file nào vậy các bác...

 

http://www.cadviet.com/upfiles/tatmolopbot.lsp

 

Đây là lisp layon, layof của cad14 tôi có sửa 1 chút cho chạy được trong các cad mà không cần express. Nói chung việc làm này rất tào lao nhưng vì táy máy nên tôi vẫn làm.

 

Tôi đã sửa lại tên lệnh.

-layiso = dd

-layon = mm

-layoff = tt

  • Vote tăng 2

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
http://www.cadviet.com/upfiles/tatmolopbot.lsp

 

Đây là lisp layon, layof của cad14 tôi có sửa 1 chút cho chạy được trong các cad mà không cần express. Nói chung việc làm này rất tào lao nhưng vì táy máy nên tôi vẫn làm.

 

Tôi đã sửa lại tên lệnh.

-layiso = dd

-layon = mm

-layoff = tt

 

Bác ơi.. em kô load được... bác post lại đ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

;;; =========================== Layer Iso ===================================
(Defun LAYISO (/ SS CNT LAY LAYLST VAL)  (setvar "cmdecho" 0)
 (if (not (setq SS (ssget "i")))    (progn
     (prompt "\nTuan Giap hay chon doi tuong tren layer(s) muon lam viec doc lap: ")
     (setq SS (ssget))    )  )
 (if SS    (progn      (setq CNT 0)
     (while (setq LAY (ssname SS CNT))
       (setq LAY (cdr (assoc 8 (entget LAY))))
       (if (not (member LAY LAYLST))
         (setq LAYLST (cons LAY LAYLST))        )
       (setq CNT (1+ CNT))      )
     (if (member (getvar "CLAYER") LAYLST)
       (setq LAY (getvar "CLAYER"))
       (setvar "CLAYER" (setq LAY (last LAYLST)))      )
     (command "_.LAYER" "_OFF" "*" "_Y")
     (foreach VAL LAYLST (command "_ON" VAL))
     (command "")            (if (= (length LAYLST) 1)
       (prompt (strcat "\nLayer " (car LAYLST) " da tach ra."))
       (prompt (strcat "\n" (itoa (length LAYLST)) " layers da tach ra. "
                       "Layer " LAY " la hien hanh."   )  )  )  )  )  (princ) )
(defun c:LAYISO () (layiso)) (defun c:LAI () (layiso))

;;; ============================ Layer OFF =================================
(DEFUN LAYOFF (/ SSET SSL ENT LAY I MODE) (setvar "cmdecho" 0) 
 (prompt "\nTuan Giap hay chon doi tuong tren layer(s) muon OFF: ")
 (SETQ SSET (SSGET))   (IF (/= NIL SSET) (PROGN
    (SETQ SSL (SSLENGTH SSET))  (SETQ LAY "") (SETQ I 0) (SETQ MODE 0) 
    (WHILE (       (SETQ ENT (ENTGET (SSNAME SSET I)))
      (IF (= (CDR (ASSOC '8 ENT)) (GETVAR "CLAYER")) (SETQ MODE 1) )
      (SETQ LAY (STRCAT LAY "," (CDR (ASSOC '8 ENT)) ))  (SETQ I (+ I 1)))
    (COMMAND "LAYER" "OFF" LAY "")
    (IF (= MODE 1) (COMMAND ""))))
(setq Loff6 Loff5) (setq Loff5 Loff4) (setq Loff4 Loff3) (setq Loff3 Loff2) (setq Loff2 Loff1) (setq Loff1 LAY)
(princ (strcat "\n      Layer : " LAY " da OFF.")) (setvar "cmdecho" 1)   (princ))
(defun c:LAYOFF () (layoff)) (defun c:LO     () (layoff))
;;; ================================ Layer ON ==============================
(Defun LAYON ()  (setvar "cmdecho" 0)
(setq Lay loff1) (setq Loff1 Loff2) (setq Loff2 Loff3) (setq Loff3 Loff4) (setq Loff4 Loff5) (setq Loff5 Loff6) (setq Loff6 "0")
 (Command "LAYER" "ON" Lay "") (princ (strcat "\n      Layer : " LAY " da ON."))  (princ))
(defun c:LAYON () (layon)) (defun c:LOO   () (layon))
(Defun C:OLL () (setvar "cmdecho" 0)  (Command "_.LAYER" "_ON" "*" "") (princ "\nDa ON toan bo cac Layer !") (princ))

;;; ============================== Layer Lock ==============================
(Defun LAYLCK (/ LAY)
 (setvar "cmdecho" 0)
 (setq LAY (entsel "\n>Tuan Giap hay pick doi tuong tren layer muon LOCK: "))
 (if LAY
   (progn
     (setq LAY (cdr (assoc 8 (entget (car LAY)))))
     (Command "_.LAYER" "_LOCK" LAY "")
     (princ (strcat "\nLayer " LAY " da LOCK."))    )  )  (princ) )
(defun c:LAYLCK () (laylck)) (defun c:LK     () (laylck))
;;; ============================== Layer Lock ==============================
(Defun LAYULK (/ LAY)
 (setvar "cmdecho" 0)
 (setq LAY (entsel "\n>Tuan Giap hay pick doi tuong tren layer muon UNLOCK: "))
 (if LAY
   (progn
     (setq LAY (cdr (assoc 8 (entget (car LAY)))))
     (Command "_.LAYER" "_UNLOCK" LAY "")
     (princ (strcat "\nLayer " LAY " da UNLOCK."))    )  )  (princ) )
(defun c:LAYULK () (layulk)) (defun c:LKK    () (layulk))

;;; =========================== Layer hien hanh =============================
(defun layset (/ LAY) (setvar "cmdecho" 0)
(setq LAY (entsel "\nPick vao doi tuong muon Layer hien hanh la Layer cua doi tuong do : "))
(if LAY     (progn     
 (setq LAY (cdr (assoc 8 (entget (car LAY)))))
 (command "_.layer" "set" LAY "") (princ (strcat "\nLayer : " LAY " da la hien hanh."))  )
            (progn
     (if (not ddlop) (load "ddlop"))  (if (setq LAY (ddlop)) 
            (progn
           (command "_.LAYER" "ON" LAY "THAW" LAY "SET" LAY "")  (princ (strcat "\nLayer : " LAY " da la hien hanh.")) ) ) ) )(princ) )
(defun c:LL     () (layset))(defun c:LAYSET () (layset))

Có ai có kô ạ... share cho em với ạ... em đang rất cần... :)

 

Nhân tiện cho em hỏi luôn: trong cái express của autocad2004 cái lisp layon, layoff, layiso nằm ở file nào vậy các 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
Có ai có kô ạ... share cho em với ạ... em đang rất cần... :)

 

Nhân tiện cho em hỏi luôn: trong cái express của autocad2004 cái lisp layon, layoff, layiso nằm ở file nào vậy các bác...

Sao lại có một yêu cầu lạ thế nhỉ :) Sao có express mà lại không dùng? Xin lisp Layon layoff... thì khác nào xin Express :lol: bởi vì Express đơn thuần cũng là Lisp thôi mà. Đôi khi có những cái không thể hiểu đượ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
Sao lại có một yêu cầu lạ thế nhỉ :) Sao có express mà lại không dùng? Xin lisp Layon layoff... thì khác nào xin Express :) bởi vì Express đơn thuần cũng là Lisp thôi mà. Đôi khi có những cái không thể hiểu được :lol:

-Qua theo dỏi tôi thấy hình như bạn ấy đang viết 1 tiện ích gì đó và muốn tích hợp cái này vào trong lisp của bạn ấy hay sao đó chứ không đơn thuần là Express.

-Cái lệnh Express chưa chắc máy nào cũng có sẳn đâu và không đơn thuần là load 1 file lisp trong đó lên mà dùng được. Bạn hkông tin có thể thử load các lisp trong Express ở các máy không cài Express sẽ thấy. (nó kiểm tra me nu hay gì gì đó mình không rỏ lắm).

-Như quan điểm tôi đã nói rồi cái gì tôi quen dùng thì chép theo tuốt tuột ngồi máy nào cũng làm được nên có làm cái việc tào lao là sửa cái file lisp thành file lisp.

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
-Qua theo dỏi tôi thấy hình như bạn ấy đang viết 1 tiện ích gì đó và muốn tích hợp cái này vào trong lisp của bạn ấy hay sao đó chứ không đơn thuần là Express.

Cái này không đúng lắm. Vì nếu có khả năng viết tiện ích và tích hợp... thì chắc không khó khăn để tìm express ở đâu.

Dùng Lisp Express của cad thì phải có sự sửa đổi một chút chứ ko thể dùng ngay đượ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

Có đồng chí nào cần thì đây: http://www.cadviet.com/upfiles/bonus.lsp

Lệnh:

12 Layon,

23 layoff,

` layiso,

Nếu ai không tiện với lệnh tắt này thì có thể thay đổi bằng lệnh khác

Củ chuối thế, nó không thành file à.

Thế thì theo đường link này: http://www.mediafire.com/?sharekey=73b2301...04e75f6e8ebb871

Have fun

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

Tiện đây các bác cho em hỏi: ta có thể nhúng 1 lệnh của express tool vào lisp thông qua hàm command không? nếu được thì làm như thế nào?

mình làm theo cách thông thường nhưng không được

ví du: (command "textmask" "L" "")

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

Chào các Pác ! Em là thành viên cadviet lâu rồi nhưng hôm nay mới mạnh dạn, mạn phép viết vài dòng. Em cũng hay sử dụng layon, layoff, layiso và một vài lệnh tắt khác nhưng em vào trong suport đổi lệnh trong file cad.pgp là nhanh nhất, cũng tương đương như các pác dùng lips mà còn tiện hơn. Thanks!

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

Chào các Pác ! Em là thành viên cadviet lâu rồi nhưng hôm nay mới mạnh dạn, mạn phép viết vài dòng. Em cũng hay sử dụng layon, layoff, layiso và một vài lệnh tắt khác nhưng em vào trong suport đổi lệnh trong file cad.pgp là nhanh nhất, cũng tương đương như các pác dùng lips mà còn tiện hơn. Thanks!

b ơi sao file acad.pgp của t ko có lệnh layoff với layon layiso

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 ơi sao file acad.pgp của t ko có lệnh layoff với layon layiso

Các lệnh này, và nhiều lệnh nữa, thuộc Tool Express, không phải là những lệnh nguyên thủy của cad nên vắng mặt trong file acad.pgp.

  • 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

Nó là lệnh Cad hay lệnh của Express tùy thuộc vào Version Cad bạn đang dùng.

Nếu dùng Cad>=2006 thì nó là lệnh Cad và có thể xem Format\Layer tools.

Còn nếu Cad<2006 thì nó là lệnh Express

  • 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

b ơi sao file acad.pgp của t ko có lệnh layoff với layon layiso

Không có thì bạn copy 1 dòng chuẩn xuống rồi sửa lại. Ví dụ

1,        *LAYISO

2,        *LAYION

3,        *LAYOFF

  • Vote tăng 1
  • 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

bạn dùng cad 2007 ý bật tắt layer đơn dản cần j Express

bạn vào tools/customze/edit program parameters

nó hiên ra 1 bảng notepad

việc của bạn cần làm bây giờ là tìm dòng lệnh của acad này

rồi bản viết thêm

1,            *layon
2,           *layoff
3,           *layiso

là đc 1 2 3 là lệnh bạn có thể thay thế lệnh khác cho tiện dùng nhưng đừng trùng lênh mặc định nha

  • 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

các anh ơi, nhò các anh giúp sủa doạn đoạn code Layoff dưới đây, dể pick đối tượng Layer nào thì đối tượng đó tắt ngay mà không phải Enter sau khi chon đối tượng giống như Freeze đấy! 


;;; ============================ Layer OFF =================================
(DEFUN LAYOFF (/ SSET SSL ENT LAY I MODE)
(setvar "cmdecho" 0)
(prompt "\nTuan Giap hay chon doi tuong tren layer(s) muon OFF: ")
(SETQ SSET (SSGET))
(IF (/= NIL SSET) (PROGN (SETQ SSL (SSLENGTH SSET)) (SETQ LAY "") (SETQ I 0) (SETQ MODE 0)
(WHILE (< I SSL) (SETQ ENT (ENTGET (SSNAME SSET I)))
(IF (= (CDR (ASSOC '8 ENT)) (GETVAR "CLAYER")) (SETQ MODE 1) )
(SETQ LAY (STRCAT LAY "," (CDR (ASSOC '8 ENT)) )) (SETQ I (+ I 1)))
(COMMAND "LAYER" "OFF" LAY "")
(IF (= MODE 1) (COMMAND ""))))
(setq Loff6 Loff5) (setq Loff5 Loff4) (setq Loff4 Loff3) (setq Loff3 Loff2) (setq Loff2 Loff1) (setq Loff1 LAY)
(princ (strcat "\n Layer : " LAY " da OFF.")) (setvar "cmdecho" 1) (princ))(defun c:LAYOFF () (layoff))
(defun c:LO () (layoff))

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  

×