Đến nội dung


Hình ảnh

Thay đổi block.


  • Please log in to reply
15 replies to this topic

#1 hoa dai nhan

hoa dai nhan

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 297 Bài viết
Điểm đánh giá: 50 (tàm tạm)

Đã gửi 01 June 2012 - 10:30 AM

Dear ACE.


Có 1 vấn đề mong ACE giúp:


- Mình có khoảng 50-60 bản vẽ có cùng sử dụng khung tên (là 1 bolck).Có cách nào sửa khung tên mà chỉ sửa 1 lần mà cả 50-60 bản vẽ cùng đổi block này không? Sửa từng bản vẽ thì lâu lắm.

Thanks ACE.
  • 0

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 01 June 2012 - 10:33 AM

Bạn tìm hiểu về lệnh XREF. Khung tên dùng cho nhiều bản vẽ thì nên xref, vì chỉ sửa 1 thằng thì trăm thằng khác nhảy theo.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#3 hoa dai nhan

hoa dai nhan

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 297 Bài viết
Điểm đánh giá: 50 (tàm tạm)

Đã gửi 01 June 2012 - 11:32 AM

Bạn tìm hiểu về lệnh XREF. Khung tên dùng cho nhiều bản vẽ thì nên xref, vì chỉ sửa 1 thằng thì trăm thằng khác nhảy theo.

Bạn tìm hiểu về lệnh XREF. Khung tên dùng cho nhiều bản vẽ thì nên xref, vì chỉ sửa 1 thằng thì trăm thằng khác nhảy theo.



Khổ lỗi bản vẽ mình không vẽ mà do người khác vẽ. Mình tiếp quản bản vẽ này, giờ phải thay đổi khung tên. có ai có cách nào không?. Bản vẽ do mình vẽ thì mình dung Xref rồi.
  • 0

#4 quang_lac

quang_lac

    biết lệnh mirror

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

Đã gửi 01 June 2012 - 11:38 AM

đành phải to tay thui, copy and paste thui :D
  • 0

#5 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 01 June 2012 - 11:57 AM

Tạo 1 file Xref khung tên, giả sử là xref.dwg và vẽ khung tên vào đó. Lưu ý tạo khung tên so với tọa độ gốc sao cho lúc chèn lại không bị chênh

Giả sử các block khung tên đang có tên là "block"

=> Chèn nội dung sau vào 1 file lisp, cho vào startup, sau đó bạn bật các file cần thay đổi lên :

(acet-block-to-xref
"block" ;Ten Block
"D:/xref.dwg" ;Ten day du cua file xref
T ;Neu muon purge block sau khi thay the thi de T, khong thi de nil
)

  • 3

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


#6 hoa dai nhan

hoa dai nhan

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 297 Bài viết
Điểm đánh giá: 50 (tàm tạm)

Đã gửi 01 June 2012 - 12:26 PM

Tạo 1 file Xref khung tên, giả sử là xref.dwg và vẽ khung tên vào đó. Lưu ý tạo khung tên so với tọa độ gốc sao cho lúc chèn lại không bị chênh

Giả sử các block khung tên đang có tên là "block"

=> Chèn nội dung sau vào 1 file lisp, cho vào startup, sau đó bạn bật các file cần thay đổi lên :


(acet-block-to-xref
"block" ;Ten Block
"D:/xref.dwg" ;Ten day du cua file xref
T ;Neu muon purge block sau khi thay the thi de T, khong thi de nil
)

Tạo 1 file Xref khung tên, giả sử là xref.dwg và vẽ khung tên vào đó. Lưu ý tạo khung tên so với tọa độ gốc sao cho lúc chèn lại không bị chênh

Giả sử các block khung tên đang có tên là "block"

=> Chèn nội dung sau vào 1 file lisp, cho vào startup, sau đó bạn bật các file cần thay đổi lên :


(acet-block-to-xref
"block" ;Ten Block
"D:/xref.dwg" ;Ten day du cua file xref
T ;Neu muon purge block sau khi thay the thi de T, khong thi de nil
)



Theo cách hiểu của mình là dùng lisp này để xóa bỏ block sau đó dùng xref với khung tên mới có phải không. Như vậy mình vẫn phải mở từng bản vẽ và xref lại.
  • 0

#7 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 01 June 2012 - 01:26 PM

Bạn làm thử đi rồi hãy hiểu
  • 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


#8 hoa dai nhan

hoa dai nhan

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 297 Bài viết
Điểm đánh giá: 50 (tàm tạm)

Đã gửi 01 June 2012 - 01:46 PM

Tạo 1 file Xref khung tên, giả sử là xref.dwg và vẽ khung tên vào đó. Lưu ý tạo khung tên so với tọa độ gốc sao cho lúc chèn lại không bị chênh

Giả sử các block khung tên đang có tên là "block"

=> Chèn nội dung sau vào 1 file lisp, cho vào startup, sau đó bạn bật các file cần thay đổi lên :


(acet-block-to-xref
"block" ;Ten Block
"D:/xref.dwg" ;Ten day du cua file xref
T ;Neu muon purge block sau khi thay the thi de T, khong thi de nil
)

Tạo 1 file Xref khung tên, giả sử là xref.dwg và vẽ khung tên vào đó. Lưu ý tạo khung tên so với tọa độ gốc sao cho lúc chèn lại không bị chênh

Giả sử các block khung tên đang có tên là "block"

=> Chèn nội dung sau vào 1 file lisp, cho vào startup, sau đó bạn bật các file cần thay đổi lên :


(acet-block-to-xref
"block" ;Ten Block
"D:/xref.dwg" ;Ten day du cua file xref
T ;Neu muon purge block sau khi thay the thi de T, khong thi de nil
)


Mình vẫn chưa hiểu, bạn có thể nói rõ hơn được không.
  • 0

#9 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 01 June 2012 - 02:05 PM

Bạn chưa hiểu ở chỗ nào nhỉ ??
Trong đoạn mã mình đưa :
Thay chữ block bằng tên Block khung tên mà người ta gửi cho bạn và giờ bạn muốn thay
Thay chữ D:/xref.dwg bằng tên file xref mà bạn tạo (trong đó bạn vẽ khung tên mới của bạn)
Sau cùng thì lưu nó vào 1 lisp startup suite
Rồi bật thử 1 file bản vẽ lên và xem kết quả
Bản vẽ nào bạn mở lên thì ngay lập tức tất cả block tên là Block sẽ được thay bằng xref tên D:/xref.dwg
Muốn làm hàng loạt thì chọn tất cả bản vẽ rồi mở.
Tất nhiên cũng có thể để lisp tự động mở rồi đóng, nhưng mình thấy k cần thiết

=> Còn chỗ nào khó hiểu không bạ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


#10 hoa dai nhan

hoa dai nhan

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 297 Bài viết
Điểm đánh giá: 50 (tàm tạm)

Đã gửi 01 June 2012 - 02:45 PM

Bạn chưa hiểu ở chỗ nào nhỉ ??
Trong đoạn mã mình đưa :
Thay chữ block bằng tên Block khung tên mà người ta gửi cho bạn và giờ bạn muốn thay
Thay chữ D:/xref.dwg bằng tên file xref mà bạn tạo (trong đó bạn vẽ khung tên mới của bạn)
Sau cùng thì lưu nó vào 1 lisp startup suite
Rồi bật thử 1 file bản vẽ lên và xem kết quả
Bản vẽ nào bạn mở lên thì ngay lập tức tất cả block tên là Block sẽ được thay bằng xref tên D:/xref.dwg
Muốn làm hàng loạt thì chọn tất cả bản vẽ rồi mở.
Tất nhiên cũng có thể để lisp tự động mở rồi đóng, nhưng mình thấy k cần thiết

=> Còn chỗ nào khó hiểu không bạn ?

Bạn chưa hiểu ở chỗ nào nhỉ ??
Trong đoạn mã mình đưa :
Thay chữ block bằng tên Block khung tên mà người ta gửi cho bạn và giờ bạn muốn thay
Thay chữ D:/xref.dwg bằng tên file xref mà bạn tạo (trong đó bạn vẽ khung tên mới của bạn)
Sau cùng thì lưu nó vào 1 lisp startup suite
Rồi bật thử 1 file bản vẽ lên và xem kết quả
Bản vẽ nào bạn mở lên thì ngay lập tức tất cả block tên là Block sẽ được thay bằng xref tên D:/xref.dwg
Muốn làm hàng loạt thì chọn tất cả bản vẽ rồi mở.
Tất nhiên cũng có thể để lisp tự động mở rồi đóng, nhưng mình thấy k cần thiết

=> Còn chỗ nào khó hiểu không bạn ?



Chỗ này mình chưa hiểu bạn à: Sau cùng thì lưu nó vào 1 lisp startup suite .

Mình không biết lưu sao để được như bạn nói.
  • 0

#11 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 01 June 2012 - 03:32 PM

Chỗ này mình chưa hiểu bạn à: Sau cùng thì lưu nó vào 1 lisp startup suite .
Mình không biết lưu sao để được như bạn nói.

Trả lời thay anh Ketxu:
Bạn tạo 1 file lisp với duy nhất 1 dòng code (các thông số theo ghi chú của anh Ketxu ở trên):
(acet-block-xref "block" "D:/xref.dwg" T)
Sau đó dùng lệnh AP. Khi dialoge của lệnh này hiện ra, bạn Load file đó, rồi chọn nút "Contents..." để Add nó vào.
Kế tiếp, cứ mỗi lần bạn mở 1 file chứa block khung tên là lập tức nó tự đổi thành xref cho bạn. Ngủ khoẻ chưa nào?
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#12 hoa dai nhan

hoa dai nhan

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 297 Bài viết
Điểm đánh giá: 50 (tàm tạm)

Đã gửi 01 June 2012 - 04:01 PM

MINH

Trả lời thay anh Ketxu:
Bạn tạo 1 file lisp với duy nhất 1 dòng code (các thông số theo ghi chú của anh Ketxu ở trên):
(acet-block-xref "block" "D:/xref.dwg" T)
Sau đó dùng lệnh AP. Khi dialoge của lệnh này hiện ra, bạn Load file đó, rồi chọn nút "Contents..." để Add nó vào.
Kế tiếp, cứ mỗi lần bạn mở 1 file chứa block khung tên là lập tức nó tự đổi thành xref cho bạn. Ngủ khoẻ chưa nào?

Trả lời thay anh Ketxu:
Bạn tạo 1 file lisp với duy nhất 1 dòng code (các thông số theo ghi chú của anh Ketxu ở trên):
(acet-block-xref "block" "D:/xref.dwg" T)
Sau đó dùng lệnh AP. Khi dialoge của lệnh này hiện ra, bạn Load file đó, rồi chọn nút "Contents..." để Add nó vào.
Kế tiếp, cứ mỗi lần bạn mở 1 file chứa block khung tên là lập tức nó tự đổi thành xref cho bạn. Ngủ khoẻ chưa nào?



Mình đã làm theo chỉ dẫn của các bạn nhưng vẫn không có kết quả. nó báo: error: no function definition: ACET-BLOCK-TO-XREF.

Còn đây là code lisp: (acet-block-to-xref
"GKC-A1_2008R1"
"XR"
T
)

Mình gà wa.
  • 0

#13 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 01 June 2012 - 04:26 PM

Mình đã làm theo chỉ dẫn của các bạn nhưng vẫn không có kết quả. nó báo: error: no function definition: ACET-BLOCK-TO-XREF.
Còn đây là code lisp: (acet-block-to-xref
"GKC-A1_2008R1"
"XR"
T
)
Mình gà wa.

Bạn đã làm đúng. Mình srr vì chưa kiểm tra kỹ.
Bạn insert dòng này vào trên cùng của lisp rồi thử lại nhé:
(load "BLOCKTOXREFSUP.LSP")
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#14 hoa dai nhan

hoa dai nhan

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 297 Bài viết
Điểm đánh giá: 50 (tàm tạm)

Đã gửi 01 June 2012 - 05:16 PM

Thanks, mình đã làm được rồi
  • 0

#15 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 01 June 2012 - 05:19 PM

Viết đến 78 bài rồi, bạn hãy gửi nút Like This bác ĐVH đi kèm lời thanks :)
Tham gia diễn đàn nào bây giờ cũng vậy !
  • 1

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


#16 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 01 June 2012 - 05:43 PM

Tạo 1 file Xref khung tên, giả sử là xref.dwg và vẽ khung tên vào đó. Lưu ý tạo khung tên so với tọa độ gốc sao cho lúc chèn lại không bị chênh

Giả sử các block khung tên đang có tên là "block"

=> Chèn nội dung sau vào 1 file lisp, cho vào startup, sau đó bạn bật các file cần thay đổi lên :


(acet-block-to-xref
"block" ;Ten Block
"D:/xref.dwg" ;Ten day du cua file xref
T ;Neu muon purge block sau khi thay the thi de T, khong thi de nil
)

Ket luôn có những hàm rất chuyên nghiệp. TH này mình làm bán thủ công như sau :
(command "_.insert" "tenblockcu=tenblockmoi" "y" ^C)
với đk file block mới nằm trong thư mục cùng với bản vẽ hiện hành hoặc đường dẫn cad hoặc ghi đầy đủ
  • 0