Đến nội dung


Hình ảnh

Hỏi lệnh xem đối tượng màu số bao nhiêu?


  • Please log in to reply
18 replies to this topic

#1 khiempro

khiempro

    biết pan

  • Members
  • Pip
  • 9 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 22 April 2014 - 08:55 AM

Ngoài lệnh vào layer xem màu đối tượng là màu bao nhiêu? thì còn lệnh nào nữa không ạ!

Em thường xuyên phải đặt nét trước khi in (Do bản vẽ nhiều loại khác nhau và ko đặt sẵn nét trong layer) 
Mong các bác giúp đỡ! :D


  • 0

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 22 April 2014 - 09:01 AM

Ngoài lệnh vào layer xem màu đối tượng là màu bao nhiêu? thì còn lệnh nào nữa không ạ!

Em thường xuyên phải đặt nét trước khi in (Do bản vẽ nhiều loại khác nhau và ko đặt sẵn nét trong layer) 
Mong các bác giúp đỡ! :D

Hề hề hề,

Ctrl+1


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 khiempro

khiempro

    biết pan

  • Members
  • Pip
  • 9 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 22 April 2014 - 09:21 AM

Hề hề hề,

Ctrl+1

Ý của em là Số của màu chứ không phải màu gì ạ! Ví dụ như là màu đổ gồm màu số 1, số 10, số 20, số 240! đôi khi màu đỏ nhưng không biết là màu số mâyhs!


  • 0

#4 jzuoglee

jzuoglee

    biết vẽ arc

  • Members
  • PipPip
  • 48 Bài viết
Điểm đánh giá: 8 (bình thường)

Đã gửi 22 April 2014 - 10:02 AM

không thể nhớ hết các con số tương ứng với màu gì, nhưng bạn Ctrl + 1, thì bảng properties hiện ra, bạn click vào dòng color, chọn select color, bảng màu xuất hiện và bạn sẽ lựa chọn màu hoặc đánh số tùy ý!


  • 0

#5 khiempro

khiempro

    biết pan

  • Members
  • Pip
  • 9 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 22 April 2014 - 10:15 AM

không thể nhớ hết các con số tương ứng với màu gì, nhưng bạn Ctrl + 1, thì bảng properties hiện ra, bạn click vào dòng color, chọn select color, bảng màu xuất hiện và bạn sẽ lựa chọn màu hoặc đánh số tùy ý!

Em hiểu điều đó! Nhưng có lần một người nào đó chỉ cho em một lệnh. Gõ lệnh này và clikc vào đối tượng thì nó hiện luôn là số màu bao nhiêu! Ví dụ click vào màu đỏ thì nó hiện luôn là màu số 20 nếu nó là màu 20! Như vậy trong khi in em sẽ đặt nét nhanh hơn so với gõ lệnh LA và xem layer đó màu bao nhiêu!


  • 0

#6 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 22 April 2014 - 10:19 AM

Có vẻ bạn này muốn xài lisp, nhân cái topic gần đây có liên quan đến màu mè, tôi làm luôn cái này. 

Bạn pick cái nào thì bật bảng màu và hiện màu hiện tại, bạn có thể pick màu khác nếu muốn đổi màu, nhưng không đổi được block và dim. Lệnh dma.

 

(defun C:dma(/ tm tm1 tm2 e)
  (if (setq tm (assoc 62 (entget (setq e (car (entsel))))))
    (setq tm1 (acad_colordlg (cdr tm)))
    (setq tm2 (acad_colordlg (cdr (setq tm (assoc 62 (tblsearch "LAYER" (cdr (assoc 8 (entget e)))))))))
  )
  (if (/= tm1 (cdr tm)) (entmod (subst (cons 62 tm1) (assoc 62 (entget e)) (entget e))))
  (if (and tm2 (/= tm2 (cdr tm))) (entmod (cons (cons 62 tm2) (entget e))))
  (princ)
)


  • 2

#7 jzuoglee

jzuoglee

    biết vẽ arc

  • Members
  • PipPip
  • 48 Bài viết
Điểm đánh giá: 8 (bình thường)

Đã gửi 22 April 2014 - 10:55 AM

bạn Khiempro có thể dùng lisp của bạn tot77 hay đấy, còn nếu lệnh sẵn trong cad thì bạn dùng lệnh Li cũng có thể xem nhanh đc color đối tượng.


  • 1

#8 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5679 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 22 April 2014 - 11:44 PM

Có vẻ bạn này muốn xài lisp, nhân cái topic gần đây có liên quan đến màu mè, tôi làm luôn cái này. 

Bạn pick cái nào thì bật bảng màu và hiện màu hiện tại, bạn có thể pick màu khác nếu muốn đổi màu, nhưng không đổi được block và dim. Lệnh dma.

 

Mình thấy bạn bỏ qua nested entity, Màu từ Bylayer sang Fix color, và RGB color


  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#9 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 23 April 2014 - 07:57 AM

Lisp này chỉ để thoả mãn nhu cầu đơn giản của chủ thớt  là biết màu của các vật thể thông thường mà bản vẽ nào cũng có, chứ đâu có tham vọng là lisp "vạn năng" biết màu mọi thứ trên cõi đời này đâu bạn Ketxu.

Còn nếu bạn muốn yêu cầu cao hơn thì theo đúng như qui định của diễn đàn là phải đưa file cụ thể lên chứa các vật thể cần test, chứ nếu không thì sợ trưởng lão phamthanhbinh mắng cho thì xui cả ngày đó.  :o  :o  :o


  • 0

#10 khiempro

khiempro

    biết pan

  • Members
  • Pip
  • 9 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 23 April 2014 - 09:03 AM

Có vẻ bạn này muốn xài lisp, nhân cái topic gần đây có liên quan đến màu mè, tôi làm luôn cái này. 

Bạn pick cái nào thì bật bảng màu và hiện màu hiện tại, bạn có thể pick màu khác nếu muốn đổi màu, nhưng không đổi được block và dim. Lệnh dma.

 

(defun C:dma(/ tm tm1 tm2 e)
  (if (setq tm (assoc 62 (entget (setq e (car (entsel))))))
    (setq tm1 (acad_colordlg (cdr tm)))
    (setq tm2 (acad_colordlg (cdr (setq tm (assoc 62 (tblsearch "LAYER" (cdr (assoc 8 (entget e)))))))))
  )
  (if (/= tm1 (cdr tm)) (entmod (subst (cons 62 tm1) (assoc 62 (entget e)) (entget e))))
  (if (and tm2 (/= tm2 (cdr tm))) (entmod (cons (cons 62 tm2) (entget e))))
  (princ)
)

Oa oa oa ..... Bác không hiểu ý em gì cả! 

Em là em muốn xem đối tượng đó là màu bao nhiêu thôi oa oa oa... chứ em ko cần chọn cho nó thành màu khác

Tóm tắt là như thế này! Em chuyên in bản vẽ kiến trúc - thi công - điện nước. Khách hàng đem bản vẽ đến họ vẽ mỗi bản nhiều layer khác nhau.
Kiến trúc thì nét cắt nhìn màu đỏ nhưng thực tế nó là màu số 240 - nhưng nhìn thì không biết lại phải ấn lệnh LA xem nó là màu bao nhiêu.Chuyển sang bản điện nước! Họ lại vẽ màu xanh (Blue) nhưng thực tế nó lại là màu 160  :wacko:  :angry2:

Nên thay cho lệnh LA vào xem số màu bao nhiêu thì em muốn một cái lệnh khác nhanh hơn là click vào đối tượng - enter là ra số màu của đối tượng  :( 
 


  • 0

#11 khiempro

khiempro

    biết pan

  • Members
  • Pip
  • 9 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 23 April 2014 - 09:12 AM

bạn Khiempro có thể dùng lisp của bạn tot77 hay đấy, còn nếu lệnh sẵn trong cad thì bạn dùng lệnh Li cũng có thể xem nhanh đc color đối tượng.

Lệnh Li của bác cũng Ok! Nhưng không thể thực hiện trong block! Lần trước có một khách hàng chỉ cho mình. Lúc đó nhiều việc quá tự nhiên quên mất! Lệnh đó ngon lành lắm chỉ cần click đối tượng gõ lệnh ra số màu - và chỉ vậy mà thôi :D haiz.. chứ em ko cần yêu cầu gì phức tạp đâu! Cả trăm bản vẽ cứ mỗi lần in em lại LA thì chắc về nằm mơ thấy lệnh LA mất. Khốn nỗi là khách hàng họ không đặt sẵn nét trong layer hay là vẽ chuyên nghiệp như các công ty kiến trúc pro Haiz....


  • 0

#12 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 23 April 2014 - 09:51 AM

Thì cái lisp tôi đưa lên đó, bạn không muốn đổi màu thì cứ nhấp ok thôi, còn nếu bạn chỉ cần biết số của màu hiện lên dòng command thì tôi sẽ sửa lại?


  • 1

#13 sgcq

sgcq

    Hội Hai Lúa

  • Members
  • PipPipPipPipPipPipPip
  • 1880 Bài viết
Điểm đánh giá: 692 (tốt)

Đã gửi 23 April 2014 - 11:10 AM

:D :D :D

2 lúa chơi thủ công như sau:

Bước 0: Để nguyên bản LA.

Bước 1: bật quick properties, hoặc bảng properties cũng được.

Bước 2: chọn đối tượng muốn xem màu.

Bước 3: Gõ lệnh  AI_MOLC

 

==> Xong

 

(Cadviet bị gì không up hình được)

https://scontent-a-l...779521668_n.jpg

:D :D :D


  • 0

12728974_230210507314169_718723558582070 HỘI HAI LÚA

           fanpage: https://www.facebook.com/HoiHaiLua/

 

 

 

 

 

 


#14 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 23 April 2014 - 11:36 AM

Bấm vào 1 entity mà lấy được chỉ số màu ACI của nó - đối với cả Cad và Lisp - là không hề đơn giản.

Nhất là với đối tượng phức như Block, Dimension...


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#15 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5679 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 23 April 2014 - 05:16 PM


Lisp này chỉ để thoả mãn nhu cầu đơn giản của chủ thớt  là biết màu của các vật thể thông thường mà bản vẽ nào cũng có, chứ đâu có tham vọng là lisp "vạn năng" biết màu mọi thứ trên cõi đời này đâu bạn Ketxu.

Còn nếu bạn muốn yêu cầu cao hơn thì theo đúng như qui định của diễn đàn là phải đưa file cụ thể lên chứa các vật thể cần test, chứ nếu không thì sợ trưởng lão phamthanhbinh mắng cho thì xui cả ngày đó.  :o  :o

- Mình k có yêu cầu đâu. Mình chỉ góp ý m.rộng vấn đề ra chút thôi ^^, k liên quan đến yêu cầu của OP. Hàm acad_colordlg chơi với số Integer 0-> 256 màu, nên khi đối tượng sử dụng màu RGB mà bạn gọi Acad_colordlg để hiển thị nó thì vô tình bạn đã cắt ngọt bản chất của màu đối tượng rồi :)

Hay đơn giản hơn bạn thử pick vào một đối tượng Hatch Gradient xem nó trả về màu gì 

- Phần thứ 2 là đổi màu sắc, nếu màu để theo hệ RGB thì phần đổi màu của bạn cũng hỏng.

Vì khi vẽ ít người dùng hệ màu này nên bạn sửa thì sửa, k thì có ai kêu đâu ^^

 

- Phần thứ 3, OP cũng vừa nói rồi, bạn nên dùng nentsel để lấy màu trong các đối tượng phức


  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#16 khiempro

khiempro

    biết pan

  • Members
  • Pip
  • 9 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 25 April 2014 - 01:24 PM

Thì cái lisp tôi đưa lên đó, bạn không muốn đổi màu thì cứ nhấp ok thôi, còn nếu bạn chỉ cần biết số của màu hiện lên dòng command thì tôi sẽ sửa lại?

He he! Bác sửa hộ em cho nó hiện lên command em với! Em đổi tên lệnh thành sd rồi! Cho dễ gõ dùng cho nhanh bác ạ! :D


  • 0

#17 KangKung

KangKung

    biết lệnh array

  • Members
  • PipPipPip
  • 189 Bài viết
Điểm đánh giá: 227 (khá)

Đã gửi 25 April 2014 - 01:53 PM

Tặng bạn Lisp này. Xem được cả màu RGB và Color Index.

(defun C:SD(/ obj oColor)
  (setq obj(vlax-ename->vla-object(car(nentsel))))
  (setq oColor(vlax-get-property obj 'TrueColor))
  (princ "\nRGB = ")
  (princ (vla-get-red oColor))
  (princ ",")
  (princ (vla-get-green oColor))
  (princ ",")
  (princ (vla-get-blue oColor))
  (princ "\nIndexColor = ")
  (princ (vla-get-colorindex oColor))
  (princ)
  )

  • 0

#18 jzuoglee

jzuoglee

    biết vẽ arc

  • Members
  • PipPip
  • 48 Bài viết
Điểm đánh giá: 8 (bình thường)

Đã gửi 25 April 2014 - 03:57 PM

Tặng bạn Lisp này. Xem được cả màu RGB và Color Index.

(defun C:SD(/ obj oColor)
  (setq obj(vlax-ename->vla-object(car(nentsel))))
  (setq oColor(vlax-get-property obj 'TrueColor))
  (princ "\nRGB = ")
  (princ (vla-get-red oColor))
  (princ ",")
  (princ (vla-get-green oColor))
  (princ ",")
  (princ (vla-get-blue oColor))
  (princ "\nIndexColor = ")
  (princ (vla-get-colorindex oColor))
  (princ)
  )

Hình như đối với các layer mà đặt By layer, By Block thì lisp trên đều cho kết quả là màu 256, mà trong cad chỉ có đến 255 thui hay sao ý. bác test lại lisp xem sao giúp mọi ng!


  • 0

#19 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 25 April 2014 - 04:14 PM

Chính xác là các lisp trên khi đụng entity có màu là byblock (0) và bylayer (256) thì chưa có bước chuyển qua màu thực để đặt nét in.

Đồng thời, nó chưa giải quyết hết các trường hợp, ví dụ với Dimension thì chưa ổn.


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.