Đến nội dung


Hình ảnh
- - - - -

[Yêu Cầu] Xin Lisp dùng chống lại 1nhóm lệnh nào đó


  • Please log in to reply
16 replies to this topic

#1 NTD

NTD

    biết lệnh rotate

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

Đã gửi 14 July 2012 - 10:09 AM

Em xin Lisp dùng chống lại 1nhóm lệnh nào đó .( em ko muốn dùng khóa Lock Layer vì sẽ khóa cả Layer mà trong Layer bị khóa có nhiều đối tượng vẫn muốn thao tác )
VD : Em xin Lisp chống lại 1 nhóm lệnh Move-Rotate-Scale-ALign-Stretch . Lisp sẽ làm các đối tượng đc chọn ko thể bị các lệnh trên làm thay đổi
Ứng dụng : như ko cho ng khác cố tình hay vô tình move các điểm mốc quan trọng trong cái File Mặt Bằng Hiện Trạng của Quy Hoạch .
Chống lại các nhóm lệnh khác thì em sẽ dựa vào code của các bác để tự chế = cách thay tên lệnh
Tất nhiên các bác cho em cái khóa thì cũng cho em xin cai Lisp chìa khóa luôn để em còn Unlock lệnh Lock của các bác đc
Em cảm ơn cả nhà .Các bác có hứng với topic này thì mai đi Off Line các bác phát biểu thoái mái đi , em chỉ uống thôi :D
  • 0

#2 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 14 July 2012 - 12:02 PM

Bàn về vấn đề này không biết bao nhiêu lần rồi. mới hôm trước cũng có ông lập 1 topic tương tự. hnay lại đến lượt bạn.
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#3 NTD

NTD

    biết lệnh rotate

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

Đã gửi 14 July 2012 - 07:54 PM

Nghe bác thế nói có nghĩa là Lisp ko thể làm đc ư ? chài !
Em tưởng cái này thưc tế vì bên 3DMAX em có 1 cái Scrip có tính năng Lock y như em mô tả , đây gửi các bác xem qua biết đâu các bác lại vọc đc vấn đề này từ 1 cái đã có tương tự của MAX vói NET , VBA... hay phần mềm nào đó ngoài Lisp
http://www.cadviet.c..._objectlock.rar
  • 0

#4 NTD

NTD

    biết lệnh rotate

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

Đã gửi 14 July 2012 - 08:09 PM

Khi đưa ra yêu cầu này em có biết trong CAD cơ bản ko dùng Lisp đã có 1 lệnh là HIDEOBJECTS , đối tượng bị lệnh này chọn sẽ chống lại ảnh hưởng của của lệnh LayOn & LayThw trong bất kỳ trường hơp nào kể cả dùng LISP LayOn & LayThw
- HIDEOBJECTS là cái khóa ISOLATEOBJECTS cũng tương tự
- UNISOLATEOBJECTS chính là cái chìa của 2 cái khóa trên
  • 0

#5 NTD

NTD

    biết lệnh rotate

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

Đã gửi 14 July 2012 - 08:36 PM

Tương tự như công năng của nhóm lện trên em down trên cadviet 1 nhóm lệnh sau chống lại LayOn & LayThw & chống lại cả UNISOLATEOBJECTS nữa


(defun c:E5 (/ SSet Count Elem)

(defun Dxf (Id Obj)
(cdr (assoc Id (entget Obj)))
);end Dxf

(prompt "\nSelect object(s) to hide: ")
(cond
((setq SSet (ssget))
(repeat (setq Count (sslength SSet))
(setq Count (1- COunt)
Elem (ssname SSet Count))
(if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem)))))
(if (Dxf 60 Elem)
(entmod (subst '(60 . 1) (assoc 60 (entget Elem)) (entget Elem)))
(entmod (append (entget Elem) (list '(60 . 1))))
)
(prompt "\nEntity on a locked layer. Cannot hide this entity. ")
);end if
);end repeat
)
);end cond
(princ)
);end c:InVis

  • 0

#6 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 14 July 2012 - 08:36 PM

Em xin Lisp dùng chống lại 1nhóm lệnh nào đó .( em ko muốn dùng khóa Lock Layer vì sẽ khóa cả Layer mà trong Layer bị khóa có nhiều đối tượng vẫn muốn thao tác )
VD : Em xin Lisp chống lại 1 nhóm lệnh Move-Rotate-Scale-ALign-Stretch . Lisp sẽ làm các đối tượng đc chọn ko thể bị các lệnh trên làm thay đổi
Ứng dụng : như ko cho ng khác cố tình hay vô tình move các điểm mốc quan trọng trong cái File Mặt Bằng Hiện Trạng của Quy Hoạch .
Chống lại các nhóm lệnh khác thì em sẽ dựa vào code của các bác để tự chế = cách thay tên lệnh
Tất nhiên các bác cho em cái khóa thì cũng cho em xin cai Lisp chìa khóa luôn để em còn Unlock lệnh Lock của các bác đc
Em cảm ơn cả nhà .Các bác có hứng với topic này thì mai đi Off Line các bác phát biểu thoái mái đi , em chỉ uống thôi :D

Cái khoá đó đây nè:
Bạn dùng CAD2012 thử Move-Rotate-Scale-ALign-Stretch đoạn Line này thử xem:
http://www.cadviet.c...3/4652_khoa.dwg
  • 1

#7 NTD

NTD

    biết lệnh rotate

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

Đã gửi 14 July 2012 - 08:46 PM

Cái khoá đó đây nè:
Bạn dùng CAD2012 thử Move-Rotate-Scale-ALign-Stretch đoạn Line này thử xem:
http://www.cadviet.c...3/4652_khoa.dwg


Ôi vãi chưởng , đúng cái em cần rồi , Bác dạy em đi , chài ơi , sao cadviet lắm cao thủ thế , hay tại trình CAD của em lởm quá !
  • 0

#8 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 14 July 2012 - 09:01 PM


Ôi vãi chưởng , đúng cái em cần rồi , Bác dạy em đi , chài ơi , sao cadviet lắm cao thủ thế , hay tại trình CAD của em lởm quá !

Bạn xem video nhé
http://www.youtube.com/watch?v=YCXQXHCeGDQ
Với Line ta khoá 2 đầu
Với Pline ta khoá các đỉnh của nó
Với Point thì khoá điểm của nó
.....
Với các đối tượng khác, bạn tự suy ra phải khoá ở đâu rồi, phải không bạn?
  • 2

#9 NTD

NTD

    biết lệnh rotate

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

Đã gửi 14 July 2012 - 09:43 PM

Chài Premetric rơi đúng vùng chưa biết của em , em sẽ voc nó nhiều hơn vì thấy cái này có nhiều ứng dụng quá,
Nhưng vấn đề là mới vọc 5p đã khóa và mở khóa ngon lành ==> khóa này chưa chắc , ai biêt về Premetric sẽ mở ngon lành
Mà khóa kiểu này xem ra mất công sức quá thậm chí ko khả thi nếu phải làm với 1 hàng trăm đối tượng
Nếu bác Tue_NV viết đc 1 Lisp làm sao để cho chon nhiều đối tượng và tự động nhận dạng đối tượng & cũng tự động chon điểm khóa hết lại thì may ra mới đưa vô thưc tế để khóa bản Hiên Trạng QH đc . Tất nhiên chìa khóa thì em mong "mấy thằng tình địch" của em nố ko vô đây đọc để mà biết :D
Hay bác viết 1 Lisp về lênh Lock khác lệnh LockLayer cơ bản theo em là thực tế nhất . Đoạn code em gửi ở trên em thấy làm đc điều tương tự
  • 0

#10 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 14 July 2012 - 09:57 PM

Chài Premetric rơi đúng vùng chưa biết của em , em sẽ voc nó nhiều hơn vì thấy cái này có nhiều ứng dụng quá,
Nhưng vấn đề là mới vọc 5p đã khóa và mở khóa ngon lành ==> khóa này chưa chắc , ai biêt về Premetric sẽ mở ngon lành
Mà khóa kiểu này xem ra mất công sức quá thậm chí ko khả thi nếu phải làm với 1 hàng trăm đối tượng
Nếu bác Tue_NV viết đc 1 Lisp làm sao để cho chon nhiều đối tượng và tự động nhận dạng đối tượng & cũng tự động chon điểm khóa hết lại thì may ra mới đưa vô thưc tế để khóa bản Hiên Trạng QH đc . Tất nhiên chìa khóa thì em mong "mấy thằng tình địch" của em nố ko vô đây đọc để mà biết :D
Hay bác viết 1 Lisp về lênh Lock khác lệnh LockLayer cơ bản theo em là thực tế nhất . Đoạn code em gửi ở trên em thấy làm đc điều tương tự

Bạn có thể dùng cách này
Block bản vẽ Hiên Trạng QH thành 1 Block duy nhất và Khoá cái Block đó là xong

Lưu ý: Cách khoá này là để đề phòng người khác vô tình move,stretch..... đối tượng thôi nghe bạn.
  • 1

#11 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 14 July 2012 - 10:29 PM

Cái khoá đó đây nè:
Bạn dùng CAD2012 thử Move-Rotate-Scale-ALign-Stretch đoạn Line này thử xem:
http://www.cadviet.c...3/4652_khoa.dwg

Nó kg có tác dụng với cad2008 trở xuống thì phải
  • 0

#12 NTD

NTD

    biết lệnh rotate

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

Đã gửi 14 July 2012 - 10:29 PM

Chuẩn luôn bác ạ .
  • 0

#13 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 14 July 2012 - 10:52 PM

Nó kg có tác dụng với cad2008 trở xuống thì phải

Chào bác TrungNgaMy
CAD2012 có tính năng này, CAD2008 trở xuống thì không có. Không biết CAD2009 -> CAD2011 có hay không?
Tue_NV thường dùng tính năng này để khoá đối tượng, đề phòng mình lỡ tay move,stretch... nhầm đối tượng đó
Và còn 1 số tính năng rất hay trong Parametric nữa bác ạ.
  • 0

#14 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 14 July 2012 - 11:00 PM

Lisp thì phải load vào mới có tác dụng. File đó luôn luôn được load lisp của 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


#15 tuoichuot84

tuoichuot84

    biết vẽ ellipse

  • Members
  • PipPip
  • 50 Bài viết
Điểm đánh giá: 5 (bình thường)

Đã gửi 14 July 2012 - 11:31 PM

Chào bác TrungNgaMy
CAD2012 có tính năng này, CAD2008 trở xuống thì không có. Không biết CAD2009 -> CAD2011 có hay không?
Tue_NV thường dùng tính năng này để khoá đối tượng, đề phòng mình lỡ tay move,stretch... nhầm đối tượng đó
Và còn 1 số tính năng rất hay trong Parametric nữa bác ạ.

E dùng Cad2010, cũng có cái Parametric bác ah!
  • 0
Tóc bạc ko thể hiện trí tuệ, nó chỉ là dấu vết của thời gian!

#16 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 15 July 2012 - 03:47 PM

Em xin Lisp dùng chống lại 1nhóm lệnh nào đó .( em ko muốn dùng khóa Lock Layer vì sẽ khóa cả Layer mà trong Layer bị khóa có nhiều đối tượng vẫn muốn thao tác )
VD : Em xin Lisp chống lại 1 nhóm lệnh Move-Rotate-Scale-ALign-Stretch . Lisp sẽ làm các đối tượng đc chọn ko thể bị các lệnh trên làm thay đổi
Ứng dụng : như ko cho ng khác cố tình hay vô tình move các điểm mốc quan trọng trong cái File Mặt Bằng Hiện Trạng của Quy Hoạch .
.......

Câu trả lời của Tue_NV thỏa mãn yêu cầu và ứng dụng bạn đặt ra rồi nhé!

Chài Premetric rơi đúng vùng chưa biết của em , em sẽ voc nó nhiều hơn vì thấy cái này có nhiều ứng dụng quá,
.......
Hay bác viết 1 Lisp về lênh Lock khác lệnh LockLayer cơ bản theo em là thực tế nhất . Đoạn code em gửi ở trên em thấy làm đc điều tương tự

CAD có cung cấp mã dxf 60 : Hiện ẩn đối tượng (thuộc tính Visible)
Chưa cung cấp mã dxf để quy định việc khóa, mở khóa đối tượng
Và điều tương tự không làm được vì mình là người sử dụng. Muốn điều tương tự xảy ra thì bạn đi hỏi Nhà sản xuất ấy :unsure:
  • 1

#17 NTD

NTD

    biết lệnh rotate

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

Đã gửi 15 July 2012 - 07:36 PM

Câu trả lời của Tue_NV thỏa mãn yêu cầu và ứng dụng bạn đặt ra rồi nhé!

CAD có cung cấp mã dxf 60 : Hiện ẩn đối tượng (thuộc tính Visible)
Chưa cung cấp mã dxf để quy định việc khóa, mở khóa đối tượng
Và điều tương tự không làm được vì mình là người sử dụng. Muốn điều tương tự xảy ra thì bạn đi hỏi Nhà sản xuất ấy :unsure:


Ừ thì thôi ko khóa đc ng biết về Parametric & ng sủ dụng CAD đời thấp hơn thì dùng để khóa ....chính bản thân mình cũng đc , chống lại việc vô tình cầu thả của bản thân cũng tốt rồi . Mong sao mấy thằng cu ở cty nó đếch biết cái topic này vì nó đã biết Parametric đâu lại còn xài CAD2012 nữa , yên tâm rồi , keke :D
Cảm ơn bác Tue !
  • 0