Đến nội dung


Hình ảnh

TÁCH BLOCK TỪ FILE!


  • Please log in to reply
4 replies to this topic

#1 MANHHUNGXDA

MANHHUNGXDA

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 926 Bài viết
Điểm đánh giá: 458 (tốt)

Đã gửi 29 September 2010 - 10:04 PM

Gửi các bác!

e có 1 file cad gồm nhiều block khác nhau, giờ em muốn tách các block này thành các file riêng (mỗi block là 1 file cad riêng, tên file là tên block) rồi lưu vào thư mục ổ C: chẳng hạn.

Cách nông dân là copy từng cái, kể hơi mất thời gian, bác nào có cách khác không giúp em với
Xin cảm ơn!

  • 0
Hãy ước cho trọn 1 ước mơ!

#2 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 29 September 2010 - 10:32 PM

Gửi các bác!

e có 1 file cad gồm nhiều block khác nhau, giờ em muốn tách các block này thành các file riêng (mỗi block là 1 file cad riêng, tên file là tên block) rồi lưu vào thư mục ổ C: chẳng hạn.

Cách nông dân là copy từng cái, kể hơi mất thời gian, bác nào có cách khác không giúp em với
Xin cảm ơn!

Anh gõ W >>> sẽ hiện bảng write block >>> click chọn Block >>> chọn tên block >>>> ok sẽ có một file dwg mang tên block
  • 1

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#3 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 29 September 2010 - 10:54 PM

Gửi các bác!

e có 1 file cad gồm nhiều block khác nhau, giờ em muốn tách các block này thành các file riêng (mỗi block là 1 file cad riêng, tên file là tên block) rồi lưu vào thư mục ổ C: chẳng hạn.

Cách nông dân là copy từng cái, kể hơi mất thời gian, bác nào có cách khác không giúp em với
Xin cảm ơn!

Của bác đây. lệnh taob chọn block muốn tạo thành file mới. các file mới được tạo ra trong thư mục c:\wblock

(defun c:taob ()
(setq ss (ssget '((0 . "insert")))
i 0
)
(command "shell" "md c:\\wblock")
(while (< i (sslength ss))
(setq name (ssname ss i)
tenblock (cdr (assoc 2 (entget name)))
diem (cdr (assoc 10 (entget name)))
)
(command "wblock")
(command
(strcat "c:\\wblock\\" tenblock ".dwg"))
(command "" diem name "")
(setq i (1+ i))
)
)

  • 2
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#4 MANHHUNGXDA

MANHHUNGXDA

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 926 Bài viết
Điểm đánh giá: 458 (tốt)

Đã gửi 29 September 2010 - 11:23 PM

Cam ơn bạn, mình thấy nó chạy tốt nhưng có hai nhưọc điểm

1-Các block dạng thuộc tính thì nó không được
2-Phải chọn từng block

Bạn có cách khác không, giup mình với!
Ví dụ với file này xem
http://www.cadviet.c...files/3/222.dwg
  • 0
Hãy ước cho trọn 1 ước mơ!

#5 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 30 September 2010 - 12:42 AM

Cam ơn bạn, mình thấy nó chạy tốt nhưng có hai nhưọc điểm

1-Các block dạng thuộc tính thì nó không được
2-Phải chọn từng block

Bạn có cách khác không, giup mình với!
Ví dụ với file này xem
http://www.cadviet.c...files/3/222.dwg

Của bạn đây. Mình không dành về loại block này lắm nên khi nó xử lí đến thằng block này thì nó bị dừng lại. Bán cứ ấn enter để tiếp tục đến khi kết thúc.

;; free lisp from cadviet.com

(defun c:taob ()
(setq ss (ssget '((0 . "insert")))
i 0
)
(command "shell" "md c:\\wblock")
(while (< i (sslength ss))
(setq name (ssname ss i)
tenblock (cdr (assoc 2 (entget name)))
diem (cdr (assoc 10 (entget name)))
)
(command "wblock")
(command
(strcat "c:\\wblock\\" (vl-string-left-trim "*" tenblock) ".dwg"))
(command "" diem name "")
(setq i (1+ i))
)
)

  • 1
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!