Đến nội dung


Hình ảnh
- - - - -

[Xin lisp] Chỉnh sửa nhanh Scale Hatch, đổi nhanh nhiều góc cho hàng loạt hatch


  • Please log in to reply
19 replies to this topic

#1 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 09 April 2012 - 10:23 AM

E tìm mãi mà không có ở đâu. Bác nào có lisp như thế cho e xin với ự....Chỉnh sửa nhanh Scale Hatch, đổi nhanh nhiều góc cho hàng loạt hatch
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 09 April 2012 - 11:46 AM

E tìm mãi mà không có ở đâu. Bác nào có lisp như thế cho e xin với ự....Chỉnh sửa nhanh Scale Hatch, đổi nhanh nhiều góc cho hàng loạt hatch

Dùng lệnh HE -> Chỉnh 1 mẫu Hatch điển hình
Bạn dùng lệnh MA + kết hợp với 'FI
  • 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 09 April 2012 - 09:44 PM

Chọn tất cả các Hatch cần chỉnh, bật Properties (Ctrl + 1) lên rồi chỉnh bạn ạ :)
  • 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


#4 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 10 April 2012 - 04:41 PM

Dùng lệnh HE -> Chỉnh 1 mẫu Hatch điển hình
Bạn dùng lệnh MA + kết hợp với 'FI

Dạ, FI không lọc được các hatch theo góc xoay phải không bác?.
E có nhiều hatch cùng màu, cùng kiểu, nhưng mỗi hatch có góc xoay khác nhau. Nếu FI rồi MA thì đưa toàn bộ các hatch về cùng scale thì được nhưng về cùng 1 góc hết thì không được rùi bác ah.
Thanhks các bác, theo cách của bác ketxu thì e chỉnh scale hatch oki roài.(vẫn giữ nguyên được góc xoay riêng của từng hatch)
Nhưng còn góc xoay, muốn mỗi hatch có góc xoay khác nhau cùng cộng thêm hay trừ đi 1 góc thì làm thế nào các bác nhỉ? Mong tiếp tục được chỉ giáo ah! :D
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#5 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 10 April 2012 - 05:05 PM

Dạ, FI không lọc được các hatch theo góc xoay phải không bác?.
E có nhiều hatch cùng màu, cùng kiểu, nhưng mỗi hatch có góc xoay khác nhau. Nếu FI rồi MA thì đưa toàn bộ các hatch về cùng scale thì được nhưng về cùng 1 góc hết thì không được rùi bác ah.
Thanhks các bác, theo cách của bác ketxu thì e chỉnh scale hatch oki roài.(vẫn giữ nguyên được góc xoay riêng của từng hatch)
Nhưng còn góc xoay, muốn mỗi hatch có góc xoay khác nhau cùng cộng thêm hay trừ đi 1 góc thì làm thế nào các bác nhỉ? Mong tiếp tục được chỉ giáo ah! :D

Cái này e rằng cad không làm được, lisp thì khả dĩ
  • 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.


#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 10 April 2012 - 05:12 PM

Cái này e rằng cad không làm được, lisp thì khả dĩ

CAD làm được chứ? Nhưng mà lâu thôi!
  • 0

#7 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 10 April 2012 - 05:19 PM

CAD làm được chứ? Nhưng mà lâu thôi!

Ý là làm hàng loạt ấy chứ!
  • 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.


#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 10 April 2012 - 05:22 PM

Dạ, FI không lọc được các hatch theo góc xoay phải không bác?.
........

Lệnh Fi không lọc được các hatch theo góc xoay . Sorry bạn!.
Dùng Quick select thì có thể lọc được Hatch theo góc xoay.
  • 0

#9 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 11 April 2012 - 08:37 AM

Cái này e rằng cad không làm được, lisp thì khả dĩ

Bác có cái lisp khả dĩ đấy chưa ah, hí hí......cho e xin đi. E search cả gu gồ mà chỉ lên 1 trang có nhắc đến nó, nhưng ko thấy link down..
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#10 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 11 April 2012 - 08:39 AM

Bác có cái lisp khả dĩ đấy chưa ah, hí hí......cho e xin đi. E search cả gu gồ mà chỉ lên 1 trang có nhắc đến nó, nhưng ko thấy link down..

Chưa có cái khả dĩ của bạn. Đợi nhé!
  • 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.


#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 April 2012 - 08:52 AM

Chỉnh scale hay chỉnh góc bạn :) ?

P/s :

(defun c:ch(/ a c)
(vl-load-com)
(if (and
(ssget (list (cons 0 "HATCH")))
(setq a (getangle "\nGoc cong them :"))
(setq c (getreal "\nScale moi :"))
)
(vlax-for object (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (wcmatch (vla-get-ObjectName object) "AcDbHatch")
(or
(vla-put-PatternAngle object (+ (vla-get-PatternAngle object) a))
(vla-put-PatternScale object c)
)
)
)
)
)

  • 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


#12 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 11 April 2012 - 09:12 AM

Chỉnh scale hay chỉnh góc bạn :) ?

P/s :


(defun c:ch(/ a c)
(vl-load-com)
(if (and
(ssget (list (cons 0 "HATCH")))
(setq a (getangle "\nGoc cong them :"))
(setq c (getreal "\nScale moi :"))
)
(vlax-for object (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (wcmatch (vla-get-ObjectName object) "AcDbHatch")
(or
(vla-put-PatternAngle object (+ (vla-get-PatternAngle object) a))
(vla-put-PatternScale object c)
)
)
)
)
)

Hí hí, chuẩn chuẩn quá............. :P Cả scale và góc cộng trừ thêm đều oki.
  • 1

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#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 April 2012 - 09:17 AM

À quên. lúc đầu mình để chọn tạp nham nên phải kiểm tra nó là Hatch hay không, cho vào Filter của ssget rồi thì thôi k kiểm tra nữa, bạn sửa lại như này cho gọn :

(defun c:ch(/ a c)
(vl-load-com)
(if (and
(ssget (list (cons 0 "HATCH")))
(setq a (getangle "\nGoc cong them :"))
(setq c (getreal "\nScale moi :"))
)
(vlax-for object (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
(vla-put-PatternAngle object (+ (vla-get-PatternAngle object) a))
(vla-put-PatternScale object c)
)
)
)
Nên kết hợp Fi hoặc Qs để chọn ra Hatch mình cần trước rồi dùng lệnh cũng đc :)
  • 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


#14 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 11 April 2012 - 09:21 AM

Chỉnh scale hay chỉnh góc bạn :) ?

P/s :


(defun c:ch(/ a c)
(vl-load-com)
(if (and
(ssget (list (cons 0 "HATCH")))
(setq a (getangle "\nGoc cong them :"))
(setq c (getreal "\nScale moi :"))
)
(vlax-for object (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (wcmatch (vla-get-ObjectName object) "AcDbHatch")
(or
(vla-put-PatternAngle object (+ (vla-get-PatternAngle object) a))
(vla-put-PatternScale object c)
)
)
)
)
)

Ket ơi! Chú ý thêm cái (cdr (assoc 70)) nếu bằng 1 nữa!
  • 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.


#15 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 April 2012 - 09:24 AM

Nếu dùng Autolisp thì cần, nhưng Vl thì không sao bác ạ :) Bác cứ check với Solid ^^
  • 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


#16 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 11 April 2012 - 09:28 AM

Nếu dùng Autolisp thì cần, nhưng Vl thì không sao bác ạ :) Bác cứ check với Solid ^^

Trong đám hatch có solid là nó không nhúc nhích đâu. Đã test rồi.
  • 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.


#17 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 April 2012 - 09:36 AM

Cái j không nhúc nhích bác ơi ^^ Bác gửi file CAD ketxu test cùng với (cad 2008)
Hatch Solid không có mã 41 (scale) và 52 (angle), nhưng Properties thì lại có PatternAngle và PatternScale, thế mới thích ^^
  • 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


#18 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 11 April 2012 - 09:52 AM

Cái j không nhúc nhích bác ơi ^^ Bác gửi file CAD ketxu test cùng với (cad 2008)
Hatch Solid không có mã 41 (scale) và 52 (angle), nhưng Properties thì lại có PatternAngle và PatternScale, thế mới thích ^^

srr, sai lầm nghiêm trọng! OK
  • 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.


#19 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 11 April 2012 - 10:21 AM

À quên. lúc đầu mình để chọn tạp nham nên phải kiểm tra nó là Hatch hay không, cho vào Filter của ssget rồi thì thôi k kiểm tra nữa, bạn sửa lại như này cho gọn :


(defun c:ch(/ a c)
(vl-load-com)
(if (and
(ssget (list (cons 0 "HATCH")))
(setq a (getangle "\nGoc cong them :"))
(setq c (getreal "\nScale moi :"))
)
(vlax-for object (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
(vla-put-PatternAngle object (+ (vla-get-PatternAngle object) a))
(vla-put-PatternScale object c)
)
)
)
Nên kết hợp Fi hoặc Qs để chọn ra Hatch mình cần trước rồi dùng lệnh cũng đc :)

muốn thể hiện trên dòng nhắc lệnh: Goc cong them thành Goc cong them (Goc hien tai:50) với 50 là con số thể hiện góc xoay hiện tại của hatch đó. Tương tự cho scale Scale moi thành Scale moi (10)
. Làm thế nào bác nhỉ?
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#20 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 11 April 2012 - 10:34 AM

muốn thể hiện trên dòng nhắc lệnh: Goc cong them thành Goc cong them (Goc hien tai:50) với 50 là con số thể hiện góc xoay hiện tại của hatch đó. Tương tự cho scale Scale moi thành Scale moi (10)
. Làm thế nào bác nhỉ?

Từ VD này bạn tự sáng tác cho 2 trường hợp của bạn:
(or *stp* (setq *stp* 2))
(setq stp (getint (strcat "\nSo chu so thap phan <" (itoa *stp*) ">: ")))
(if (not stp) (setq stp *stp*) (setq *stp* stp))
Trong lisp, giá trị góc hiện hành và tỉ lệ hiện hành có thể thay đổi tuỳ theo hatch được chọn. Không lẽ cứ mỗi hatch thì bạn lại phải nhập "Goc cong them" và "Scale moi"? Còn nếu nhập chung 1 giá trị thì lấy cái hiện hành của hatch nào để làm mặc định?
  • 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.