Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
hugo007

[Yêu Cầu]Lisp chuyển Layer về thành Bylayer

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

Nhờ các bác viết giùm lisp khi đánh lệnh tất cả layer bị đổi màu sẽ trở về bylayer giùm e.Vì e không bao giờ đổi màu kiểu này khi nhận bản vẽ người khác đưa rất khó chịu.Thanks.

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

Bạn viết tên tiêu đề và giải thích tối nghĩa quá. Bản thân Layer mang màu của nó chứ nó làm gì có màu "ByLayer" nữa ... Ngoài ra, topic bạn lập trùng nội dung, bạn có thể nhìn thấy ngay bên dưới bài bạn những bài có nội dung tương tự đã được lậ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 thân Layer mang màu của nó chứ nó làm gì có màu "ByLayer" nữa ..."

Hình như Ket hiểu nhầm ý bạn ấy rồi. Thầy bói: bạn ấy đang muốn mỗi lớp có mỗi màu theo bylayer, nghĩa là khi khi thay đổi màu của bylayer thì màu của layer đó cũng thay đổi theo.

Với lại: khi nào xuất hiện trên truyền hình thì cứ cho hiện tên (màu xanh), chứ đừng hidden chán lắm.

Thân thương!

  • 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

Ket theo dõi bài viết của bạn ấy từ đầu nên hiểu vấn đề chứ : mục đích của bạn ấy là : Chuyển những đối tượng đã bị đổi màu về màu của Layer đối tượng đó, hay nói cách khác, chuyển màu của tất cả các đối tượng về ByLayer! Không thể có khái niệm Chuyển Layer về ByLayer được :)

P/S : quan trọng gì đèn đâu bác, chủ yếu là vẫn cố gắng theo dõi thôi :blush:

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

Nhờ các bác viết giùm lisp khi đánh lệnh tất cả layer bị đổi màu sẽ trở về bylayer giùm e.Vì e không bao giờ đổi màu kiểu này khi nhận bản vẽ người khác đưa rất khó chịu.Thanks.

Mình không rành nhiều về lisp nên chỉ biết viết cho bạn cái lệnh này,bạn dùng thử xem có được không

(defun c:dmla ()
(command "undo" "begin")
(command "change" "all" "" "p" "c" "bylayer" "LT" "bylayer" "LW" "bylayer" "" "")
(command "undo" "end")
(princ)
)

  • Vote tăng 3

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

dùng qselect, chọn multiple, chọn not equal, chọn by layer xong hehe, quá đơn giản cấn gì lisp phức tạp

Không biết bạn có đọc kỹ yêu cầu của chủ topic không nhỉ

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

Mình không rành nhiều về lisp nên chỉ biết viết cho bạn cái lệnh này,bạn dùng thử xem có được không

(defun c:dmla ()
(command "undo" "begin")
(command "change" "all" "" "p" "c" "bylayer" "LT" "bylayer" "LW" "bylayer" "" "")
(command "undo" "end")
(princ)
)

em chào anh ạ

anh cho em nhờ tý ạ

với lisp trên nhưng mình chỉ chọn một vùng nào đó thôi thì thêm thế nào ạ

chứ không phải hết bản vẽ

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

em chào anh ạ

anh cho em nhờ tý ạ

với lisp trên nhưng mình chỉ chọn một vùng nào đó thôi thì thêm thế nào ạ

chứ không phải hết bản vẽ

em cảm ơn ạ

Sửa lại:

(defun c:dmla ( / ss)
(command "undo" "begin")
(princ "\nChon cac doi tuong can thay doi...")
(setq ss (ssget))
(command "change" ss "" "p" "c" "bylayer" "LT" "bylayer" "LW" "bylayer" "" "")
(command "undo" "end")
(princ))

  • 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

Thầy bói: bạn ấy đang muốn mỗi lớp có mỗi màu theo bylayer, nghĩa là khi khi thay đổi màu của bylayer thì màu của layer đó cũng thay đổi theo.

Với lại: khi nào xuất hiện trên truyền hình thì cứ cho hiện tên (màu xanh), chứ đừng hidden chán lắm.

Thân thương!

Anh Hà làm cái lisp này đi, ý tưởng hay đó:)

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

Khả năng của layer là như thế chứ còn lisp láp j nữa đây :D

HEHE, anh Kẹt xu ơi, em đang dùng một lisp đổi màu đối tượng trên diễn đàn. Ví dụ muốn đối tượng màu 1 thì click vào đối tượng, gõ phím 1, rồi enter cái cạch phát là nó đổi màu. Và tất nhiên màu 1 đấy không phải là màu bylayer của layer vẽ đối tượng đó - Bylayer là màu trắng - (khi tạo mới layer mà chưa đặt màu cho layer thì màu mặc định là màu trắng). Ý của thầy bói là màu 1 thành màu bylayer của layer đó đấy chứ!

Hihi;)). Đây là lisp đổi màu đối tượng em tìm trên diễn đàn:

http://www.cadviet.com/upfiles/3/89140_dm.lsp

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

HEHE, anh Kẹt xu ơi, em đang dùng một lisp đổi màu đối tượng trên diễn đàn. Ví dụ muốn đối tượng màu 1 thì click vào đối tượng, gõ phím 1, rồi enter cái cạch phát là nó đổi màu. Và tất nhiên màu 1 đấy không phải là màu bylayer của layer vẽ đối tượng đó - Bylayer là màu trắng - (khi tạo mới layer mà chưa đặt màu cho layer thì màu mặc định là màu trắng). Ý của thầy bói là màu 1 thành màu bylayer của layer đó đấy chứ!

Hihi;)). Đây là lisp đổi màu đối tượng em tìm trên diễn đàn:

http://www.cadviet.c.../3/89140_dm.lsp

Lấy lisp của Ket hỏi ngay Ket: hên quá!

  • 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

Lấy lisp của Ket hỏi ngay Ket: hên quá!

Hihi;)) Té ra là lisp của anh Ket, em không nhớ!

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

HEHE, anh Kẹt xu ơi, em đang dùng một lisp đổi màu đối tượng trên diễn đàn. Ví dụ muốn đối tượng màu 1 thì click vào đối tượng, gõ phím 1, rồi enter cái cạch phát là nó đổi màu. Và tất nhiên màu 1 đấy không phải là màu bylayer của layer vẽ đối tượng đó - Bylayer là màu trắng - (khi tạo mới layer mà chưa đặt màu cho layer thì màu mặc định là màu trắng). Ý của thầy bói là màu 1 thành màu bylayer của layer đó đấy chứ!

Hihi;)). Đây là lisp đổi màu đối tượng em tìm trên diễn đàn:

http://www.cadviet.c.../3/89140_dm.lsp

Nếu đổi màu thành ByLayer thì chọn đối tượng rồi chọn màu là Bylayer trên thanh công cụ là được.

Tue_NV thấy đơn giản mà.

 

Còn có thể là Tue_NV chưa hiểu ý của bạn. Nếu vậy, bạn vui lòng nói rõ.

 

 

cho em hỏi sử dụng lisp này như thế nào vậy.cảm ơn nhiều.

Bạn apload Lisp ->

-> gõ 1 vào Command -> Chọn đối tượng -> Lisp đổi màu đối tượng đó thành màu 1

-> gõ 2 vào Command -> Chọn đối tượng -> Lisp đổi màu đối tượng đó thành màu 2

-> gõ 3 vào Command -> Chọn đối tượng -> Lisp đổi màu đối tượng đó thành màu 3

......

.......

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ếu đổi màu thành ByLayer thì chọn đối tượng rồi chọn màu là Bylayer trên thanh công cụ là được.

Hihi;))

Em đưa ra bài toán cụ thể như sau:

1/ Mở CAD lên --> gõ lệnh LA enter --> New layer --> Đặt tên layer mới là Layer1, Color: Yellow, Linetype: Continuos...

2/ Apload lisp DM.lsp

3/ Vẽ line: L enter (Vẽ một đoạn thẳng bất kỳ)

4/ Gõ 1 enter, select objects: chọn vào đường line vừa vẽ. En tơ.

Yêu cầu: màu 1 thành màu bylayer của layer1.

Hy vọng anh hiểu!

P/s: Một ngày click Like this tối đa bao nhiêu lần các anh nhỉ?

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

Hihi;))

Em đưa ra bài toán cụ thể như sau:

1/ Mở CAD lên --> gõ lệnh LA enter --> New layer --> Đặt tên layer mới là Layer1, Color: Yellow, Linetype: Continuos...

2/ Apload lisp DM.lsp

3/ Vẽ line: L enter (Vẽ một đoạn thẳng bất kỳ)

4/ Gõ 1 enter, select objects: chọn vào đường line vừa vẽ. En tơ.

Yêu cầu: màu 1 thành màu bylayer của layer1.

Hy vọng anh hiểu!

P/s: Một ngày click Like this tối đa bao nhiêu lần các anh nhỉ?

THì Vẫn là "Nếu đổi màu thành ByLayer thì chọn đối tượng rồi chọn màu là Bylayer trên thanh công cụ là được."

 

Lạm dụng vào Lisp nhiều quá thì không có hay.

  • 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

Hihi;))

Em đưa ra bài toán cụ thể như sau:

1/ Mở CAD lên --> gõ lệnh LA enter --> New layer --> Đặt tên layer mới là Layer1, Color: Yellow, Linetype: Continuos...

2/ Apload lisp DM.lsp

3/ Vẽ line: L enter (Vẽ một đoạn thẳng bất kỳ)

4/ Gõ 1 enter, select objects: chọn vào đường line vừa vẽ. En tơ.

Yêu cầu: màu 1 thành màu bylayer của layer1.

Hy vọng anh hiểu!

P/s: Một ngày click Like this tối đa bao nhiêu lần các anh nhỉ?

Mình đoán mò ý bạn chắc là đổi màu của layer chứa đối tượng được chọn chứ gì. Nếu đúng dùng lisp này.

http://duy782006.blogspot.com/2009/10/oi-mau-cua-layer-thuoc-oi-tuong-chon.html

Lưu ý lisp chỉ chuyển màu của layer thôi nếu đối tượng không phải là bylayer mình không chịu trách nhiệm nhé.

  • 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

Tức là đối tượng A đang nằm ở layer "A", ấn 1 -> Chọn đối tượng A -> Layer "A" sẽ mang màu 1 ?

Nếu vậy thì khái niệm Bylayer trong bài toán bạn đưa ra hơi thừa

Ví dụ minh họa ý bạn như sau, bạn xem có phải không :

1 - Không dùng Reactor :

(defun c:ccl (/ m dt la enLa)
(princ "\nChon mau muon doi :")
(setq
 m (acad_colordlg 3)   
 enLa (entget (tblobjname "LAYER" (cdr (assoc 8 (entget (car (entsel "\nChon doi tuong chua layer can doi mau: ")))))))
)
(entmod (subst (cons 62 m) (assoc 62 enLa) enLa))
(princ)
)

  • 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

Mình đoán mò ý bạn chắc là đổi màu của layer chứa đối tượng được chọn chứ gì. Nếu đúng dùng lisp này.

http://duy782006.blo...tuong-chon.html

Lưu ý lisp chỉ chuyển màu của layer thôi nếu đối tượng không phải là bylayer mình không chịu trách nhiệm nhé.

 

 

Tức là đối tượng A đang nằm ở layer "A", ấn 1 -> Chọn đối tượng A -> Layer "A" sẽ mang màu 1 ?

Nếu vậy thì khái niệm Bylayer trong bài toán bạn đưa ra hơi thừa

Ví dụ minh họa ý bạn như sau, bạn xem có phải không :

1 - Không dùng Reactor :

(defun c:ccl (/ m dt la enLa)
(princ "\nChon mau muon doi :")
(setq
 m (acad_colordlg 3)  
 enLa (entget (tblobjname "LAYER" (cdr (assoc 8 (entget (car (entsel "\nChon doi tuong chua layer can doi mau: ")))))))
)
(entmod (subst (cons 62 m) (assoc 62 enLa) enLa))
(princ)
)

Hai lisp này là hoàn toàn giống nhau. Thanks các anh!

 

 

THì Vẫn là "Nếu đổi màu thành ByLayer thì chọn đối tượng rồi chọn màu là Bylayer trên thanh công cụ là được."

 

Lạm dụng vào Lisp nhiều quá thì không có hay.

Anh vẫn chưa hiểu ý của em rồi.

Hì hì, phải nói thế nào để các anh hiểu ý của em nhỉ, hì hì!

Hì hì, ngại quá! ý tưởng này của em là từ lời "thầy bói" của anh Hà mà!

Khi em đọc xong lời thầy bói, tiện thể em đang dùng cái lisp DM, thế là em nghĩ ngay tới cái ý tưởng này

Tuy nhiên dùng một trong hai lisp của anh Ket hoặc của anh Duy là được rồ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

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  

×