Đến nội dung


Hình ảnh
- - - - -

Khoá bản vẽ bằng block non-explodable


  • Please log in to reply
12 replies to this topic

#1 linhoreka

linhoreka

    biết lệnh erase

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

Đã gửi 11 December 2010 - 04:12 PM

Trước tiên tớ đưa ra file đã khóa để xem bạn nào có cách mở không: Locked Drawing

Đây là file dvb có macro để khóa: Drawing Lock.dvb
+ Alt + F8 chạy macro DrawingLock
+ Chọn đối tượng cần khóa
+ Enter ---> Khóa

Để cho chắc ăn, trước khi khóa, ta cứ Cắt vụn bản vẽ để không chỉnh sửa được nữa :undecided: cho vui. Nhưng nhớ là cắt vụn khoảng dưới 5 mảnh là được rồi. Cắt vụn ra 1000 mảnh bản vẽ tăng dung lượng gấp 1000 đấy :wub:

Đính chính: không phải là khóa mà bị block không edit được :)

Chỉnh sửa ngày 05-01-2011:
Chủ đề này được tiếp nối ở đây: Khóa bản vẽ. Công cụ khóa bản vẽ đã được phát triển khá hoàn hảo. Mời các bạn sang xem !

  • 1

#2 linhoreka

linhoreka

    biết lệnh erase

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

Đã gửi 11 December 2010 - 05:30 PM

Mình chạy file thì bị lỗi, mong ban xen lại giúp

Tớ sử dụng bình thường trong AutoCAD 2007, 2008.
Bạn dùng CAD gì ? Lỗi thế nào bạn post thông báo lỗi lên được không ? Lỗi trong file Drawing hay file Dvb ?
  • 0

#3 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 December 2010 - 05:53 PM

Bạn ơi,cái file đầu có kèm khóa đâ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


#4 linhoreka

linhoreka

    biết lệnh erase

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

Đã gửi 11 December 2010 - 06:06 PM

Bạn ơi,cái file đầu có kèm khóa đâu^^

Đính chính: Khóa là ở file dvb dưới, còn file đầu là file kết quả chạy thử, đã bị khóa
(Mình viết lách văn vẻ cũng cẩn thận không đến nỗi mà sao mọi người không hiểu nhỉ :undecided:)
  • 0

#5 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 December 2010 - 06:29 PM

Ớ không,mình hiểu ngay là như thế,thì bạn bảo file đấy đã khóa r,n mình chạy thử thì vẫn bình thường,move copy..k bị khóa j cả,chỉ thấy bị băm ra.Hay nó chặn chức năng j mà mình chưa tést nhỉ
  • 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


#6 linhoreka

linhoreka

    biết lệnh erase

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

Đã gửi 11 December 2010 - 06:45 PM

Ớ không,mình hiểu ngay là như thế,thì bạn bảo file đấy đã khóa r,n mình chạy thử thì vẫn bình thường,move copy..k bị khóa j cả,chỉ thấy bị băm ra.Hay nó chặn chức năng j mà mình chưa tést nhỉ

Đính chính: Không phải bị khóa mà bị block không edit được.
Còn copy, move ... thì làm sao khóa được AutoCAD ?
  • 0

#7 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 December 2010 - 08:26 PM

À quả thật vậy.Hay nhỉ ^^ Tks bạn.Mình thấy bạn luôn tìm tòi các ý kiến mới :undecided:
PS : mặc dù vậy,file đã khóa vẫn có thể dùng Flatten trong bộ Express để xử nó :">
PS2 : Chỉ nguyên việc băm bản vẽ ra đã khiến đối tác khó ở lắm r ^^
  • 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 linhoreka

linhoreka

    biết lệnh erase

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

Đã gửi 11 December 2010 - 08:40 PM

À quả thật vậy.Hay nhỉ ^^ Tks bạn.Mình thấy bạn luôn tìm tòi các ý kiến mới :wub:
PS : mặc dù vậy,file đã khóa vẫn có thể dùng Flatten trong bộ Express để xử nó :">
PS2 : Chỉ nguyên việc băm bản vẽ ra đã khiến đối tác khó ở lắm r ^^

1. File tớ gứi có bị băm đâu
2. Tớ thử rồi. Flatten không xử lý được những block này. Hay bạn có bộ Express mới (2011 ?) xử lý được non-explodable block ?

:undecided: Vẫn chờ ai đó có cách nào tháo được những hình vẽ bị block này (mà không dùng VBA ...) để biết chương trình có hiệu quả hay không
  • 0

#9 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 December 2010 - 09:01 PM

PS3 Mình đã thử Flatten của Express 07,xử lý được n thời gian rất rất lâu.Nếu dùng thì chọn vài block 1 thôi :undecided:
P/S 4 : Có thể dùng đoạn lisp xinh tươi sau để enable thuộc tính Explodeable của các block,sau đó quét 1 phát mà x thoải mái :"> Nhanh mà mượt hơn phương án trước rất rất nhiều :">

(defun c:fix (/ adoc)
(vl-load-com)
(vla-startundomark
(setq adoc (vla-get-activedocument (vlax-get-acad-object)))
) ;_ end of vla-startundomark
(vlax-for blk_def (vla-get-blocks adoc)
(if (and (equal (vla-get-isxref blk_def) :vlax-false)
(equal (vla-get-islayout blk_def) :vlax-false)
) ;_ end of and
(vl-catch-all-apply '(lambda () (vla-put-explodable blk_def :vlax-true)))
) ;_ end of if
) ;_ end of vlax-for
(vla-endundomark adoc)
(princ)
) ;_ end of defun

  • 2

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 linhoreka

linhoreka

    biết lệnh erase

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

Đã gửi 11 December 2010 - 10:16 PM

:wub: không chơi với những người bẻ khóa bằng VBA, Visual Lisp mà ! Đề nghị ketxu xóa đoạn code kia đi, lưu hành nội bộ, anh em biết với nhau thôi :undecided:
  • 0

#11 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 December 2010 - 10:40 PM

Ấy, lại như cái bạn j hồi trước băm ra r k lưu bản gốc ấy thì a e đến khổ ^^.N nói chung cách này là ổn đó.Mong bạn tiếp tục đào xới các phương án để mình mót :">
PS : về vấn đề chống trộm,mình đang nghĩ đến hook đọc Machine HDD Number gắn kèm bản vẽ,mang sang máy khác check k phải máy mình -> tự động xóa hết ^^
P/S phụ : trên này k biết tuổi tác thế nào,nhiều khi xưng hô ngài ngại ^^
  • 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


#12 linhoreka

linhoreka

    biết lệnh erase

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

Đã gửi 11 December 2010 - 11:21 PM

:undecided: ketxu lấy cái gì đọc HDD Number và xóa bản vẽ ? Nếu lấy Lisp hay VBA thì người ta chỉ cần disable Lisp hay VBA đi là xong.
Ai biết về lập trình ARX để tạo đối tượng mới không nhỉ ? Đối tượng mới tạo ra có explode được không ? Nếu explode được hết thì bài toán khóa bản vẽ = pó tay với người biết lập trình rồi
  • 0

#13 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 December 2010 - 11:39 PM

Mình đã viết và dùng VBA,n khóa kiểu này thì k khác như khóa cái cửa ở giữa hàng rào hoa.Mình vẫn đang thắc mắc tại sao máy mình chẳng có thông báo j khi bản vẽ kèm mã VBA cả,nên khi mọi người nói disable VBA mình cũng hok hiểu ntn ^^
  • 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