Đến nội dung


Hình ảnh
- - - - -

Vấn đề về màu layer


  • Please log in to reply
23 replies to this topic

#21 tientracdia

tientracdia

    biết lệnh scale

  • Members
  • PipPipPip
  • 147 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 25 March 2013 - 05:05 PM

Cám ơn Bạn. Lisp rất hay.

Xin nhờ bạn viết thêm để chuyển màu, kểu đường và lục nét.

Rất cám ơn

Ví dụ trong lisp cua bạn viết là chọn đối tượng và chọn lóp để chuyển dối tượng đó sang lớp khác khôn g thay đổi màu sắt.

Bạn giúp mình viết thêm là khi chọn đối tượng đó chọn lớp muốn chuyển, thêm mục chọn màu sắt để chuyển, chọn đặt loại đường nét mới cho đối tượng đó và cả lực nét ( độ rộng ) của đường nét đó nếu đối tượng là loai đường nét.

Cám ơn


  • 0

#22 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 25 March 2013 - 06:43 PM

Màu sắc mà sang sắt được sao bạn ơi  ^^ (srr spam)

 

Vấn đề chính : giải thích thêm một bài càng rối hơn. 


  • 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


#23 KangKung

KangKung

    biết lệnh array

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

Đã gửi 25 March 2013 - 07:08 PM

Cụ tientracdia này có khả năng giải thích mà ai nghe hiểu được là chết liền  :D  :D  :D

Đây là lisp chuyển các đối tượng về cùng 1 Layer (Current Layer) hoặc chuyển về Layer tương ứng theo màu đồng thời giữ nguyên kiểu đường. Lisp #11của KangKung và #12 của bác Duy mới chỉ chuyển được các đối tượng bình thường thôi chứ chưa xử được thằng block. Lisp mới này chơi hết luôn,

Hướng dẫn: Lệnh KK, Lisp sẽ hỏi chuyển các đối tượng về cùng 1 layer hay không. Nếu chọn Y thì toàn bộ đối tượng trong bản vẽ sẽ về layer hiện hành, nếu chọn N thì đối tượng màu 1,2,3 ... sẽ về layer Color_1, Color_2, Color_3 ...

;========LISP CHUYEN TAT CA CAC DOI TUONG VE CUNG LAYER HOAC VE LAYER THEO MAU==========
;=======================GIU NGUYEN MAU SAC, LINETYPE====================================
;===========================KANGKUNG 25/03/2013=========================================
(defun C:KK()
  (vl-load-com)
  (command "UNDO" "BE")
  (initget 1 "Y N")
  (setq hoi(getkword "\n Chuyen ve cung 1 Layer? (Y or N): "))
  (setq Clayer(getvar "CLAYER"))
  (vlax-for for-item (vla-get-blocks(vla-get-activedocument(vlax-get-acad-object)))
    (vlax-for item for-item
      (setq color (cond ((/= (setq color (vla-get-color item)) 256) color)
			((cdr (assoc 62 (entget (TBLOBJNAME "LAYER" (vla-get-Layer item))))))
			)
	    )
      (if (= 0 color) (setq color 255))
      (if (= (vla-get-linetype item) "ByLayer")
	(setq Ltype(vla-get-linetype (vlax-ename->vla-object (TBLOBJNAME "LAYER" (vla-get-Layer item)))))
	(setq Ltype(vla-get-linetype item)))
      
      (vla-put-linetype item Ltype)
      (vla-put-color item color)
      (if (= hoi "Y")
	(vla-put-layer item Clayer)
	(if (= (tblsearch "Layer" (strcat "Color_" (rtos color 2 0))) nil)
	  (progn
	    (command "LAYER" "N" (strcat "Color_" (rtos color 2 0)) "C" color (strcat "Color_" (rtos color 2 0)) "")
	    (vla-put-layer item (strcat "Color_" (rtos color 2 0)))
	    )
	  (vla-put-layer item (strcat "Color_" (rtos color 2 0)))
	  )
	)
      )
    )
  (command "REGEN")
  (command "UNDO" "END")
  (princ)
  (alert "Well done!")
  )
(princ "\n                Written By KangKung\n")
(princ "\n           Nhap KK de chay chuong trinh\n")


  • 0

#24 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 25 March 2013 - 08:01 PM

Qua một topic tuơng tự code đã ngắn hơn nhiều rồi, cảm ơn KK .
Cá nhân : code hơi dài, kk nên ứng dụng hàm con nhiều hơn thì nhìn nó ... đẹp hơn ^^
Ps : ấn up mà trượt tay sang down mất, ketxu bù lại 2 cái ở post khác nhé
  • 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