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

Explode Block thuộc tính -- giá trị không đổi????

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

Mình đang học cad, nay có chút vấn đề xin các anh chị trên diễn đàn giúp đỡ: Là khi mình tạo và chèn Block thuộc tính, thì lúc Explode nó ra thì các giá trị mà mình nhập vào cho thuộc tính cũng mất theo. Thê ai có biết cách làm sao mà khi "nổ" nó ra thì các giá trị ấy vẫn còn không ạ. Xin giúp đỡ....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
Mình đang học cad, nay có chút vấn đề xin các anh chị trên diễn đàn giúp đỡ: Là khi mình tạo và chèn Block thuộc tính, thì lúc Explode nó ra thì các giá trị mà mình nhập vào cho thuộc tính cũng mất theo. Thê ai có biết cách làm sao mà khi "nổ" nó ra thì các giá trị ấy vẫn còn không ạ. Xin giúp đỡ....Cảm ơn!!!!

Nếu cad của bạn có cài Express thì có thể sử dụng lệnh BURST (mình dùng cad08,không rõ từ cad bao nhiêu thì có lệnh này) để phá text thuộc tính thành text bình thườ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
Nếu cad của bạn có cài Express thì có thể sử dụng lệnh BURST (mình dùng cad08,không rõ từ cad bao nhiêu thì có lệnh này) để phá text thuộc tính thành text bình thường.

Hay bạn cũng có thể sử dụng file lisp này : burst.lsp

File này là file lisp nằm trong phụ trợ Express. Nếu bạn dùng các phiên bản CAD không có phụ trợ Express này thì hãy sử dụng đoạn Lisp này để thay thế.

;;;
;;;
;;;	BURST.LSP
;;;	Copyright © 1999 by Autodesk, Inc.
;;;
;;;	Your use of this software is governed by the terms and conditions of the
;;;	cấp quyền Agreement you accepted prior to installation of this software.
;;;	Please note that pursuant to the cấp quyền Agreement for this software,
;;;	"[c]opying of this computer program or its documentation except as
;;;	permitted by this cấp quyền is copyright infringement under the laws of
;;;	your country.  If you copy this computer program without permission of
;;;	Autodesk, you are violating the law."
;;;
;;;	AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
;;;	AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
;;;	MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.  AUTODESK, INC.
;;;	DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
;;;	UNINTERRUPTED OR ERROR FREE.
;;;
;;;	Use, duplication, or disclosure by the U.S. Government is subject to
;;;	restrictions set forth in FAR 52.227-19 (Commercial Computer
;;;	Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
;;;	(Rights in Technical Data and Computer Software), as applicable.
;;;
;;;  ----------------------------------------------------------------

(Defun C:BURST (/ item bitset bump att-text lastent burst-one burst
			  BCNT BLAYER BCOLOR ELAST BLTYPE ETYPE PSFLAG ENAME )

 ;-----------------------------------------------------
 ; Item from association list
 ;-----------------------------------------------------
  (Defun ITEM (N E) (CDR (Assoc N E)))
 ;-----------------------------------------------------
 ; Error Handler
 ;-----------------------------------------------------

 (acet-error-init
(list
  (list "cmdecho" 0
		"highlight" 1
  )
  T	;flag. True means use undo for error clean up.
);list
 );acet-error-init


 ;-----------------------------------------------------
 ; BIT SET
 ;-----------------------------------------------------

  (Defun BITSET (A B) (= (Boole 1 A B) B))

 ;-----------------------------------------------------
 ; BUMP
 ;-----------------------------------------------------

  (Setq bcnt 0)
  (Defun bump (prmpt)
  (Princ
	 (Nth bcnt '("\r-" "\r\\" "\r|" "\r/"))
  )
  (Setq bcnt (Rem (1+ bcnt) 4))
  )

 ;-----------------------------------------------------
 ; Convert Attribute Entity to Text Entity
 ;-----------------------------------------------------

  (Defun ATT-TEXT (AENT / TENT ILIST INUM)
  (Setq TENT '((0 . "TEXT")))
  (ForEach INUM '(8
		6
		38
		39
		62
		67
		210
		10
		40
		1
		50
		41
		51
		7
		71
		72
		73
		11
		74
	 )
	 (If (Setq ILIST (Assoc INUM AENT))
		(Setq TENT (Cons ILIST TENT))
	 )
  )
  (Setq
	 tent (Subst
			 (Cons 73 (item 74 aent))
			 (Assoc 74 tent)
			 tent
		  )
  )
  (EntMake (Reverse TENT))
  )

 ;-----------------------------------------------------
 ; Find True last entity
 ;-----------------------------------------------------

  (Defun LASTENT (/ E0 EN)
  (Setq E0 (EntLast))
  (While (Setq EN (EntNext E0))
	 (Setq E0 EN)
  )
  E0
  )

 ;-----------------------------------------------------
 ; Burst one entity
 ;-----------------------------------------------------

  (Defun BURST-ONE (BNAME / BENT ANAME ENT ATYPE AENT AGAIN ENAME
				 ENT SS-COLOR SS-LAYER SS-LTYPE mirror ss-mirror
				 mlast)
  (Setq
	 BENT   (EntGet BNAME)
	 BLAYER (ITEM 8 BENT)
	 BCOLOR (ITEM 62 BENT)
	 BCOLOR (Cond
			   ((> BCOLOR 0) BCOLOR)
			   ((= BCOLOR 0) "BYBLOCK")
			   ("BYLAYER")
			)
	 BLTYPE (Cond ((ITEM 6 BENT)) ("BYLAYER"))
  )
  (Setq ELAST (LASTENT))
  (If (= 1 (ITEM 66 BENT))
	 (Progn
		(Setq ANAME BNAME)
		(While (Setq
				  ANAME (EntNext ANAME)
				  AENT  (EntGet ANAME)
				  ATYPE (ITEM 0 AENT)
				  AGAIN (= "ATTRIB" ATYPE)
			   )
		   (bump "Converting attributes")
		   (ATT-TEXT AENT)
		)
	 )
  )
	 (Progn
		(bump "Exploding block")
		(acet-explode BNAME)
	   ;(command "_.explode" bname)
	 )
  (Setq
	 SS-LAYER (SsAdd)
	 SS-COLOR (SsAdd)
	 SS-LTYPE (SsAdd)
	 ENAME	ELAST
  )
  (While (Setq ENAME (EntNext ENAME))
	 (bump "Gathering pieces")
	 (Setq
		ENT   (EntGet ENAME)
		ETYPE (ITEM 0 ENT)
	 )
	 (If (= "ATTDEF" ETYPE)
		(Progn
		   (If (BITSET (ITEM 70 ENT) 2)
			  (ATT-TEXT ENT)
		   )
		   (EntDel ENAME)
		)
		(Progn
		   (If (= "0" (ITEM 8 ENT))
			  (SsAdd ENAME SS-LAYER)
		   )
		   (If (= 0 (ITEM 62 ENT))
			  (SsAdd ENAME SS-COLOR)
		   )
		   (If (= "BYBLOCK" (ITEM 6 ENT))
			  (SsAdd ENAME SS-LTYPE)
		   )
		)
	 )
  )
  (If (> (SsLength SS-LAYER) 0)
	 (Progn
		(bump "Fixing layers")
		(Command
		   "_.chprop" SS-LAYER "" "_LA" BLAYER ""
		)
	 )
  )
  (If (> (SsLength SS-COLOR) 0)
	 (Progn
		(bump "Fixing colors")
		(Command
		   "_.chprop" SS-COLOR "" "_C" BCOLOR ""
		)
	 )
  )
  (If (> (SsLength SS-LTYPE) 0)
	 (Progn
		(bump "Fixing linetypes")
		(Command
		   "_.chprop" SS-LTYPE "" "_LT" BLTYPE ""
		)
	 )
  )
  )

 ;-----------------------------------------------------
 ; BURST MAIN ROUTINE
 ;-----------------------------------------------------

  (Defun BURST (/ SS1)
  (setq PSFLAG (if (= 1 (caar (vports)))
				   1 0
			   )
  )
  (Setq SS1 (SsGet (list (cons 0 "INSERT")(cons 67 PSFLAG))))
  (If SS1
	 (Progn
		(Setvar "highlight" 0)
		(terpri)
		(Repeat
		   (SsLength SS1)
		   (Setq ENAME (SsName SS1 0))
		   (SsDel ENAME SS1)
		   (BURST-ONE ENAME)
		)
		(princ "\n")
	 )
  )
  )

 ;-----------------------------------------------------
 ; BURST COMMAND
 ;-----------------------------------------------------

  (BURST)

 (acet-error-restore)

);end defun


(princ)

 

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

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


×