Đến nội dung


Hình ảnh

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


  • Please log in to reply
2 replies to this topic

#1 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 01 December 2008 - 06:42 PM

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!!!!
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#2 gp14

gp14

    DO TUAN GIAP

  • Moderator
  • PipPipPipPipPipPipPip
  • 1860 Bài viết
Điểm đánh giá: 1120 (rất tốt)

Đã gửi 01 December 2008 - 07:27 PM

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.
  • 0

#3 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 01 December 2008 - 08:31 PM

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.
  • 0