Chuyển đến nội dung
Diễn đàn CADViet
PUCH

[Yêu cầu] lisp Thay đổi màu sắc cho các block

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

Hi!!!

Mình có một số bản vẻ đang phải chỉnh sửa.

Trong đó có khá nhìu block, mà block thì lại chẳng có cách nào thay đổi được các tính chất của nó: màu sắc, nét...

Mún thay đổi pải vào từng block, tốn nhìu thời gian lắm .

Bạn nào biết cách để thay đổi các tính chất của block nhanh hơn tí hok, chỉ cho mình với, hiiiii...

Thanks uuuuuuuuuu!!!!!!!

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
Hi!!!

Mình có một số bản vẻ đang phải chỉnh sửa.

Trong đó có khá nhìu block, mà block thì lại chẳng có cách nào thay đổi được các tính chất của nó: màu sắc, nét...

Mún thay đổi pải vào từng block, tốn nhìu thời gian lắm .

Bạn nào biết cách để thay đổi các tính chất của block nhanh hơn tí hok, chỉ cho mình với, hiiiii...

Thanks uuuuuuuuuu!!!!!!!

bạn dùng Refedit là nhanh nhất

còn nếu block được tạo khi ở layer 0, hoặc byblock thì bạn dùng Fi rồi chọn block rồi chọn layer, net, mà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
bạn dùng Refedit là nhanh nhất

còn nếu block được tạo khi ở layer 0, hoặc byblock thì bạn dùng Fi rồi chọn block rồi chọn layer, net, màu....

 

 

thank bồ nhìu ngen!

mình sẻ thử xem sao

có ji nhờ bồ chỉ thêm

hiiiiiiiiii

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
thank bồ nhìu ngen!

mình sẻ thử xem sao

có ji nhờ bồ chỉ thêm

hiiiiiiiiii

Hi!

Mình đã thử nhưng như vậy cũng hok nhanh hơ n mấy bồ ơi!

Vì mấy cái block này nhỏ xíu hà : cửa, đèn, cây.. thui

Có ai bit cách nào nhanh hơn ko, chỉ mình với

Ví dụ như cần thay đổi màu sắc của các block này giống nhau hay các block đều có cùg một nét.....

Thank nhìu ngen!!!!!!!!

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
Hi!

Mình đã thử nhưng như vậy cũng hok nhanh hơ n mấy bồ ơi!

Vì mấy cái block này nhỏ xíu hà : cửa, đèn, cây.. thui

Có ai bit cách nào nhanh hơn ko, chỉ mình với

Ví dụ như cần thay đổi màu sắc của các block này giống nhau hay các block đều có cùg một nét.....

Thank nhìu ngen!!!!!!!!

Bạn dùng thử đoạn Code này xem sao :

Tên lệnh là BC

; Doi mau Block (Khong can Explode)
;*******************************************************************************
*********
; ERROR HANDLER
(defun err-ubc (s)				; If an error (such as CTRL-C) occurs
					; while this command is active...
(if (/= s "Function cancelled")
 		(princ (strcat "\nError: " s))
)
(setq *error* olderr)			; Restore old *error* handler
(princ)
);err-ubc

(DEFUN C:BC (/ BLK CBL CBL2 C ACL ALY NLY NCL)

(setq olderr *error* *error* err-ubc)
(initget "?")
       (while
	(or (eq (setq C (getint "\nMau Blocks moi/>: ")) "?")
	    (null C)
	    (> C 256)
	    (		);or
	(textscr)
	(princ "\n                                                     ")
	(princ "\n                  So hieu mau   |      Ghi chu       ")
	(princ "\n                ________________|____________________")
	(princ "\n                                |                    ")
	(princ "\n                       0        |           ")
	(princ "\n                       1        |      Red           ")
	(princ "\n                       2        |      Yellow        ")
	(princ "\n                       3        |      Green         ")
	(princ "\n                       4        |      Cyan          ")
	(princ "\n                       5        |      Blue          ")
	(princ "\n                       6        |      Magenta       ")
	(princ "\n                       7        |      White         ")
	(princ "\n                    8...255     |      -Varies-      ")
	(princ "\n                      256       |           ")
	(princ "\n                                               \n\n\n")
	(initget "?")
);while


(PROMPT "\n >Chon Blocks se thay doi mau: ")

(SETQ SS (SSGET '((0 . "INSERT"))))
(SETQ K 0)
(WHILE (        	(setq CBL (tblsearch "BLOCK" (CDR (ASSOC 2 (ENTGET (SETQ BLK (SSNAME SS K)))))))
       	(SETQ CBL2 (CDR (ASSOC -2 CBL)))
	(WHILE (BOUNDP 'CBL2)
		(SETQ EE (ENTGET CBL2))

		;Update layer value
			(SETQ NCL (CONS 62 C))
		(SETQ ACL (ASSOC 62 EE))
		(IF (= ACL nil)
			(SETQ NEWE (APPEND EE (LIST NCL)))
			(SETQ NEWE (SUBST NCL ACL EE))
		);if
		(ENTMOD NEWE)

		(SETQ CBL2 (ENTNEXT CBL2))
	);end while
	(ENTUPD BLK)
	(SETQ K (1+ K))
);end while
(setq *error* olderr)
(princ)
);end updblkcl

Chúc thành công. :cheers:

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

thank bạn Teu_NV nhìu

nhưng mình thử làm thì xuất hiện dòng thông báo {BCLOSE ** BCLOSE command only allowed in Block Editor. **}

sau đó mình thử vào Block Editor thực hiện lệnh thì Block Editor tự đóng lại

bạn kiểm tra lại dùm mình tí

thank again!!!!hihiiiiiiiiii

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
thank bạn Teu_NV nhìu

nhưng mình thử làm thì xuất hiện dòng thông báo {BCLOSE ** BCLOSE command only allowed in Block Editor. **}

sau đó mình thử vào Block Editor thực hiện lệnh thì Block Editor tự đóng lại

bạn kiểm tra lại dùm mình tí

thank again!!!!hihiiiiiiiiii

Chào bạn puch,

Bạn dùng thử lisp này.

Đây là lisp thay đổi các thuộc tính của một block mình viết cho một người bạn sử dụng. Trong block có hai thuộc tính là thửa số và diện tích. Các thuộc tính này được gán cho các giá trị số. Việc đổi màu được thực hiện bằng cách chuyển block sang lớp mới có màu gán trước. Mình có sử dụng các dialog để nhập liệu và lựa chọn cho thuận tiện. Các file dcl là test5.dcl, test6.dcl, test7.dcl, test8.dcl. Bạn phải copy chúng về cùng thư mục với file lsp là test5.lsp.

Sau đó load file test5.lsp và chạy bằng lệnh test5.

Vì mình viết cho người bạn nên các giá trị default trong hộp thoại mình cho trước để tránh nhầm lẫn, bạn có thể thay lại các giá trị này trong file dcl cho phù hợp với bạn.

Nếu bạn không nhập giá trị đúng của các biến này, lisp sẽ không chạy.

Chúc bạn thành công. Nếu có vấn đề gì khi chạy bạn post lên để trao đổi, hoặc bạn post file gốc và file kết quả bạn muốn để mình xem lại nhé.

Cám ơn bạn.

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

http://www.cadviet.com/upfiles/Test5.dcl

http://www.cadviet.com/upfiles/Test6.dcl

http://www.cadviet.com/upfiles/Test7.dcl

http://www.cadviet.com/upfiles/Test8.dcl

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
HI!!!!

Lệnh Battman đó như thế nào vậy bạn

Nhờ bạn chỉ giúp tí

THankss!

Để hiểu lệnh Battman là như thế nào, bạn hãy vào chức năng tìm kiếm của diễn đàn

Gõ chữ Battman vào ô tìm kiếm.

Bạn sẽ tìm được cái bạn cần.

Chúc thành công.

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
thank bạn Teu_NV nhìu

nhưng mình thử làm thì xuất hiện dòng thông báo {BCLOSE ** BCLOSE command only allowed in Block Editor. **}

sau đó mình thử vào Block Editor thực hiện lệnh thì Block Editor tự đóng lại

bạn kiểm tra lại dùm mình tí

thank again!!!!hihiiiiiiiiii

lisp này dùng rất được mà, dòng thông báo của bạn là do bạn chưa load lisp vào cad đó, bạn thử lại 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
Bạn dùng thử đoạn Code này xem sao :

Tên lệnh là BC

cảm ơn nhiều nhé, minh đang tìm lisp này, mãi bây h mới thấy, làm phiền bạn thêm chút nữa, lệnh này chỉ áp dụng đc cho đối tượng block 1 lần, nếu với nhiều block gộp lại thành 1 block mới (hoặc nhiều cấp nữa ) thì lệnh không có hiệu lực, bạn có the sửa giúp mình lại đoạn lisp đc không ??

cảm ơn nhiề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
cảm ơn nhiều nhé, minh đang tìm lisp này, mãi bây h mới thấy, làm phiền bạn thêm chút nữa, lệnh này chỉ áp dụng đc cho đối tượng block 1 lần, nếu với nhiều block gộp lại thành 1 block mới (hoặc nhiều cấp nữa ) thì lệnh không có hiệu lực, bạn có the sửa giúp mình lại đoạn lisp đc không ??

cảm ơn nhiều!!!

Bạn đã post bài 1 nội dung nhưng ở 3 chủ đề khác nhau

Hiệu chỉnh Block

 

Viết Lisp theo yêu cầu

 

Và bây giờ thì ở chủ đề này nữa

 

 

thì không biết yêu cầu của bạn nằm ở chử đề nào nhỉ?

Mời bạn vào đây :

http://www.cadviet.com/forum/index.php?sho...amp;#entry70327

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 đã post bài 1 nội dung nhưng ở 3 chủ đề khác nhau

Hiệu chỉnh Block

 

Viết Lisp theo yêu cầu

 

Và bây giờ thì ở chủ đề này nữa

thì không biết yêu cầu của bạn nằm ở chử đề nào nhỉ?

Mời bạn vào đây :

http://www.cadviet.com/forum/index.php?sho...amp;#entry70327

xin lỗi nhé, bởi tôi có khó khăn về vấn đề block, nên tôi post bài ở cả 3 cũng đc, còn nếu bạn ko muốn giúp đỡ cũng đc, ko sao cả, nhưng bạn đừng nên lên giọng như vậy, khó nghe quá

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

Qui định của diễn đàn là thế rồi bạn nên theo.Viết cùng nội dung ở nhiều mục khác nhau làm loãng nội dung, gây khó khăn cho người tìm kiếm. Nếu lâu ko thấy người trả lời, bạn có thể nhắc lại câu hỏi một hai lần cũng được mà!

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
xin lỗi nhé, bởi tôi có khó khăn về vấn đề block, nên tôi post bài ở cả 3 cũng đc, còn nếu bạn ko muốn giúp đỡ cũng đc, ko sao cả, nhưng bạn đừng nên lên giọng như vậy, khó nghe quá

Xin lỗi bạn, mình không lên giọng gì cả. Tue_NV chỉi nói lên sự thật thôi. Sự thật nó khó nghe, nhưng mà sự thật thì bạn phải tôn trọng và phải nghe thôi, không còn cách nào khác

Bạn nói bạn post bài ở cả 3 cũng được. Nói thế mà nghe được à? :bigsmile:

Bạn phải nên tôn trọng nội quy của diễn đàn chứ?

 

Nhắc nhở bạn dacvien2007:

 

Bạn đã post 4 bài có nội dung giống nhau ở 4 topic khác nhau! Nếu ai cũng tuỳ tiện như vậy, tính tổ chức của diễn đàn sẽ bị phá vỡ. Khi ai đó muốn tìm hiểu về một vấn đề nào đó, cũng như các vấn đề khác có liên quan sẽ không thuận tiện vì chúng nằm rải rác khắp nơi. Trong khi các quản trị viên cố gắng sắp xếp, thu gom các bài viết có nội dung tương tự nhau về cùng một topic thì bạn làm ngược lại!

 

Bạn đừng nghĩ rằng post lung tung ở nhiều nơi sẽ có nhiều người quan tâm giúp bạn. Đúng là có nhiều người quan tâm thật, nhưng những người "quan tâm đặc biệt" chính các admin và mod! Thật tình chúng tôi không muốn, nhưng buộc phải làm cái việc bất đắc dĩ là del tất cả các bài của bạn có trùng nội dung như đã nói trên.

 

Bạn hãy cân nhắc kỹ, vấn đề bạn nêu nên ở chỗ nào là hợp lý nhất và có thể post lại, nhưng chỉ duy nhất ở chỗ ấy thôi. Nếu lâu quá không thấy reply, bạn có thể nhắc lại ngay trong topic đó. Tuyệt đối không được mở thêm topic mới cho cùng vấn đề trên. Ngoài ra, cũng xin lưu ý với bạn rằng, nêu vấn đề là quyền của bạn, nhưng có nhận được reply hay không là quyền của nhiều members khác. Lý do có thể rất nhiều: vấn đề khó quá, vấn đề không phổ biến đối với đa số, vấn đề đã được đề cập và giải quyết rồi, người ta đang bận v.v... và cũng có thể là do chính bạn diễn đạt chưa rõ ràng.

 

Lời nhắc nhở đối với bạn dacvien2007 cũng là nhắc chung cho tất cả mọi người. Vì sự phát triển của CadViet (càng phát triển càng cần phải có tính tổ chức tốt), mong tất cả các bạn hãy hiểu, thông cảm và cẩn trọng hơn khi post bài.

  • 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

Tôi thấy lúc này, nhiều người cứ mở topic lung tung quá, đề nghị admin xem bài nào giống nhau ở các topic khác nhau, thì xóa ngay tức khắc và nhắc nhở các thành viên mới gia nhập biết điều này.

  • 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

Chào bạn puch,

Bạn dùng thử lisp này.

Đây là lisp thay đổi các thuộc tính của một block mình viết cho một người bạn sử dụng. Trong block có hai thuộc tính là thửa số và diện tích. Các thuộc tính này được gán cho các giá trị số. Việc đổi màu được thực hiện bằng cách chuyển block sang lớp mới có màu gán trước. Mình có sử dụng các dialog để nhập liệu và lựa chọn cho thuận tiện. Các file dcl là test5.dcl, test6.dcl, test7.dcl, test8.dcl. Bạn phải copy chúng về cùng thư mục với file lsp là test5.lsp.

Sau đó load file test5.lsp và chạy bằng lệnh test5.

Vì mình viết cho người bạn nên các giá trị default trong hộp thoại mình cho trước để tránh nhầm lẫn, bạn có thể thay lại các giá trị này trong file dcl cho phù hợp với bạn.

Nếu bạn không nhập giá trị đúng của các biến này, lisp sẽ không chạy.

Chúc bạn thành công. Nếu có vấn đề gì khi chạy bạn post lên để trao đổi, hoặc bạn post file gốc và file kết quả bạn muốn để mình xem lại nhé.

Cám ơn bạn.

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

http://www.cadviet.com/upfiles/Test5.dcl

http://www.cadviet.com/upfiles/Test6.dcl

http://www.cadviet.com/upfiles/Test7.dcl

http://www.cadviet.com/upfiles/Test8.dcl

 

khi sử dụng nó báo lỗi như thế này nè pac phamthanhbinh "the Test5.dcl file could not be loaded!"

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 19/12/2008 tại 11:28, Tue_NV đã nói:

Bạn dùng thử đoạn Code này xem sao :

Tên lệnh là BC

 


; Doi mau Block (Khong can Explode)
;*******************************************************************************
*********
; ERROR HANDLER
(defun err-ubc (s); If an error (such as CTRL-C) occurs
; while this command is active...
(if (/= s "Function cancelled")
 		(princ (strcat "\nError: " s))
)
(setq *error* olderr); Restore old *error* handler
(princ)
);err-ubc

(DEFUN C:BC (/ BLK CBL CBL2 C ACL ALY NLY NCL)

(setq olderr *error* *error* err-ubc)
(initget "?")
       (while
	(or (eq (setq C (getint "\nMau Blocks moi/>: ")) "?")
	    (null C)
	    (> C 256)
	    (		);or
	(textscr)
	(princ "\n                                                     ")
	(princ "\n                  So hieu mau   |      Ghi chu       ")
	(princ "\n                ________________|____________________")
	(princ "\n                                |                    ")
	(princ "\n                       0        |           ")
	(princ "\n                       1        |      Red           ")
	(princ "\n                       2        |      Yellow        ")
	(princ "\n                       3        |      Green         ")
	(princ "\n                       4        |      Cyan          ")
	(princ "\n                       5        |      Blue          ")
	(princ "\n                       6        |      Magenta       ")
	(princ "\n                       7        |      White         ")
	(princ "\n                    8...255     |      -Varies-      ")
	(princ "\n                      256       |           ")
	(princ "\n                                               \n\n\n")
	(initget "?")
);while


(PROMPT "\n >Chon Blocks se thay doi mau: ")

(SETQ SS (SSGET '((0 . "INSERT"))))
(SETQ K 0)
(WHILE (        	(setq CBL (tblsearch "BLOCK" (CDR (ASSOC 2 (ENTGET (SETQ BLK (SSNAME SS K)))))))
       	(SETQ CBL2 (CDR (ASSOC -2 CBL)))
	(WHILE (BOUNDP 'CBL2)
		(SETQ EE (ENTGET CBL2))

;Update layer value
			(SETQ NCL (CONS 62 C))
		(SETQ ACL (ASSOC 62 EE))
		(IF (= ACL nil)
			(SETQ NEWE (APPEND EE (LIST NCL)))
			(SETQ NEWE (SUBST NCL ACL EE))
		);if
		(ENTMOD NEWE)

		(SETQ CBL2 (ENTNEXT CBL2))
	);end while
	(ENTUPD BLK)
	(SETQ K (1+ K))
);end while
(setq *error* olderr)
(princ)
);end updblkcl
 

 

Chúc thành công. :cheers:

 

Vào lúc 22/8/2009 tại 11:03, TKSVN đã nói:

lisp này dùng rất được mà, dòng thông báo của bạn là do bạn chưa load lisp vào cad đó, bạn thử lại nhé

mình cũng biij lỗi này, đã load thành công rồi, mình thấy đôi khi có những lisp người khác dùng được mà mình lại ko dùng đượ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
1 giờ} trướ}c, thanhmicco đã nói:

 

mình cũng biij lỗi này, đã load thành công rồi, mình thấy đôi khi có những lisp người khác dùng được mà mình lại ko dùng được

xin bổ sung  hình minh  họa

laod2.PNG

load1.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

Cho bạn cái lisp này dùng thử nè

Nó thay đổi các thành phần trong block

linetype lineweight Transparency color về byBlock

linetype scale về 1 

Khi thực hiện lệnh thì nó chỉ cập nhật block bạn chọn.

Kết thúc lệnh nó sẽ cập nhật tất cả.

Do thực hiện cho nhanh nên khi undo bạn phải regen lại.

Tên lệnh là cb

 

Chúc vui

changeblock.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

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

×