Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] lisp bo hatch


  • Please log in to reply
22 replies to this topic

#1 sck84

sck84

    Chưa sử dụng CAD

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

Đã gửi 08 August 2011 - 10:44 AM

Chào các bác! Vấn đề của em thế này: bvẽ của em có rất nhiều hatch nhưng bị mất hết cả nét bo (híc)! Em muốn bo lại nhưng nếu cứ kick mà edit từng thằng hatch thì chắc mất cả tháng. Em đã tìm trên diễn đàn thì thầy bài này: http://www.cadviet.c...showtopic=32577 đúng ý em nhưng lại kô down đc cái lisp đấy! Em muốn nhờ bác nào có lưu thì úp lại giúp em với! Thanks các bác!
  • 0

#2 phamngoctukts

phamngoctukts

    biết lệnh adcenter

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

Đã gửi 08 August 2011 - 11:17 AM

Chào các bác! Vấn đề của em thế này: bvẽ của em có rất nhiều hatch nhưng bị mất hết cả nét bo (híc)! Em muốn bo lại nhưng nếu cứ kick mà edit từng thằng hatch thì chắc mất cả tháng. Em đã tìm trên diễn đàn thì thầy bài này: http://www.cadviet.c...showtopic=32577 đúng ý em nhưng lại kô down đc cái lisp đấy! Em muốn nhờ bác nào có lưu thì úp lại giúp em với! Thanks các bác!

Bạn dùng thử cái này xem sao:

(defun c:bh( / sl n)
(setq sl (acet-ss-to-list(ssget '((0 . "HATCH")))))
(foreach n sl
(command "hatchedit" n "b" "p" "y" "")
)
)

  • 4
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!

#3 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 08 August 2011 - 11:20 AM

Mình cũng không down được, nên viết tạm lại cho bạn cái khác đây. Tạo Bound bằng Pline nhé
(defun c:bh ()
(princ "\nCh\U+1ECDn c\U+00E1c Hatch c\U+1EA7n t\U+1EA1o l\U+1EA1i Boundary : ")
((lambda (ss / n e)
(setq n (sslength ss))
(while (setq e (ssname ss (setq n (1- n))))
(command "-hatchedit" e "B" "P" "")
)
)
(ssget (list (cons 0 "HATCH")))
))
P/S : Chậm rồi ^^
  • 4

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 sck84

sck84

    Chưa sử dụng CAD

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

Đã gửi 08 August 2011 - 11:27 AM

Bạn dùng thử cái này xem sao:


(defun c:bh( / sl n)
(setq sl (acet-ss-to-list(ssget '((0 . "HATCH")))))
(foreach n sl
(command "hatchedit" n "b" "p" "y" "")
)
)

cám ơn bác nhiều nhé! lisp này dùng phê quá
  • 0

#5 sck84

sck84

    Chưa sử dụng CAD

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

Đã gửi 08 August 2011 - 11:40 AM

cám ơn 2 bác phamngoctukts và bác ketxu! lisp các bác dùng rất hay nhưng cho em hỏi có cách nào biến các đường bo thành đường pl thay vì đường line như lệnh của 2 bác kô?
  • 0

#6 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 08 August 2011 - 12:50 PM

cám ơn 2 bác phamngoctukts và bác ketxu! lisp các bác dùng rất hay nhưng cho em hỏi có cách nào biến các đường bo thành đường pl thay vì đường line như lệnh của 2 bác kô?

Hề hề hề,
Bạn dùng líp chưa vậy??? làm sao bạn biết cái đường bo mới tạo toàn là line???
Hề hề hề
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#7 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 08 August 2011 - 01:48 PM

Hề hề hề,
Bạn dùng líp chưa vậy??? làm sao bạn biết cái đường bo mới tạo toàn là line???
Hề hề hề

Hề hề hề...
Câu đố của em là:
không cần phải dùng líp dùng... lủng gì hết!
Từ AutoCAD2011 đã có thể giải quyết được vấn đề trên một cách ngon ghẻ,
ý quên phải nói là ngon lành mới đúng!

Hề hề hề...Xin trân trọng kính mời các bác tham gia giải đố cho vui!
  • 1

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

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


#8 sck84

sck84

    Chưa sử dụng CAD

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

Đã gửi 08 August 2011 - 02:15 PM

Ế Hế Hế... Kính thưa 2 bác là em xài rồi, thấy toàn ra line nên mới nói vậy! Có gì chưa đúng xin bác chỉ giáo. Cad 2011 thì em xin chịu, con lap em là hàng già.
  • 0

#9 phamngoctukts

phamngoctukts

    biết lệnh adcenter

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

Đã gửi 08 August 2011 - 02:22 PM

Ế Hế Hế... Kính thưa 2 bác là em xài rồi, thấy toàn ra line nên mới nói vậy! Có gì chưa đúng xin bác chỉ giáo. Cad 2011 thì em xin chịu, con lap em là hàng già.

Hề hề Sao ra line được nhỉ??? Cái này chắc phải hỏi autodesk quá.
@hoan: cái này hoàn toàn dùng lệnh trong cad thôi. thực ra dùng lisp cho nó nhanh đỡ phải thao tác nhiều lần.
  • 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!

#10 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 08 August 2011 - 03:06 PM

Hề hề Sao ra line được nhỉ??? Cái này chắc phải hỏi autodesk quá.
@hoan: cái này hoàn toàn dùng lệnh trong cad thôi. thực ra dùng lisp cho nó nhanh đỡ phải thao tác nhiều lần.

Hề hề hề,
Thực tình thì mình chửa xài được cái lisp của bác và bác Ketxu do vưỡn xài CAD2004.
Tuy nhiên cứ theo cái suy luận mò của mình thì: cái ni(command "hatchedit" n "b" "p" "y" "")có thể là sẽ cho ra line do cái tham số "y" Vì hình như cái "Y" này là đồng ý explode cái polyline tạo được thì phải.
Còn cái ni: (command "-hatchedit" e "B" "P" "") thì hổng thấy có cửa nào cho ra line cả. Vậy nên mới théc méc với bác sck84. Mong các bác chớ giận.
Phen này chắc cài luôn thằng CAD2012 cho nó có đồ tét chớ không có cũng nóng cái mũi đáo để.
Hề hề hề,....
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#11 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 08 August 2011 - 03:22 PM

Hề hề hề,
Thực tình thì mình chửa xài được cái lisp của bác và bác Ketxu do vưỡn xài CAD2004.
Tuy nhiên cứ theo cái suy luận mò của mình thì: cái ni(command "hatchedit" n "b" "p" "y" "")có thể là sẽ cho ra line do cái tham số "y" Vì hình như cái "Y" này là đồng ý explode cái polyline tạo được thì phải.
Còn cái ni: (command "-hatchedit" e "B" "P" "") thì hổng thấy có cửa nào cho ra line cả. Vậy nên mới théc méc với bác sck84. Mong các bác chớ giận.
Phen này chắc cài luôn thằng CAD2012 cho nó có đồ tét chớ không có cũng nóng cái mũi đáo để.
Hề hề hề,....

Đúng đấy bác ạ, tự vì bác vưỡn xài CAD2004 nên "hổng thấy có cửa nào" ù ...cho ra line cả! Bác cứ thử liều đánh bạc một phen: cài luôn "cái luôn thằng CAD2012", sẽ có rất nhiều cửa ..."ù"... suông bác ạ!
  • 1

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

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


#12 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 08 August 2011 - 03:26 PM

Đúng đấy bác ạ, tự vì bác vưỡn xài CAD2004 nên "hổng thấy có cửa nào " ù ...cho ra line cả! Bác cứ thử liều, đánh bạc một phen: cài "cái luôn thằng CAD2012" sẽ có rất nhiều ...cửa "ù"... suông bác ạ!


  • 0

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

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


#13 phamngoctukts

phamngoctukts

    biết lệnh adcenter

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

Đã gửi 08 August 2011 - 03:30 PM

Hề hề hề,
Thực tình thì mình chửa xài được cái lisp của bác và bác Ketxu do vưỡn xài CAD2004.
Tuy nhiên cứ theo cái suy luận mò của mình thì: cái ni(command "hatchedit" n "b" "p" "y" "")có thể là sẽ cho ra line do cái tham số "y" Vì hình như cái "Y" này là đồng ý explode cái polyline tạo được thì phải.
Còn cái ni: (command "-hatchedit" e "B" "P" "") thì hổng thấy có cửa nào cho ra line cả. Vậy nên mới théc méc với bác sck84. Mong các bác chớ giận.
Phen này chắc cài luôn thằng CAD2012 cho nó có đồ tét chớ không có cũng nóng cái mũi đáo để.
Hề hề hề,....

Không phải thế đâu Bác Bình ạ. Cái tham số "y" là của thằng này: Associate hatch
with new boundary? [Yes/No] <Y>: cái lisp của em nó thừa dấu "" :lol:
Em đã thử nhiều lần toàn cho ra pline thế mà sck84 lại nói nó cho ra toàn line. Cái này đúng là Hỏi Chúa Chúa còn hỏi chấm
  • 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!

#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 08 August 2011 - 03:44 PM

Không phải thế đâu Bác Bình ạ. Cái tham số "y" là của thằng này: Associate hatch
with new boundary? [Yes/No] <Y>: cái lisp của em nó thừa dấu "" :lol:
Em đã thử nhiều lần toàn cho ra pline thế mà sck84 lại nói nó cho ra toàn line. Cái này đúng là Hỏi Chúa Chúa còn hỏi chấm

Chu cha! Có chuyện lạ đời vậy sao (ra line)? Vậy thì nên mở ngay topic "Các lỗi oái oăm trong Cad" thôi.
SCK84 thử hatch vào 1 circle rồi dùng 2 lệnh trên xem nó có ra line không nhé?
Thân thương!
  • 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.


#15 vetgo

vetgo

    biết vẽ polygon

  • Members
  • PipPip
  • 76 Bài viết
Điểm đánh giá: 17 (tàm tạm)

Đã gửi 08 August 2011 - 04:03 PM

100% ra Lwpolyline. Mình đã test thử lúc nãy rồi mà. Lisp này khá hay đấy!
  • 0
Nếu nội dung post là có ích, xin tick + để thăng hàm lên lương...

#16 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 08 August 2011 - 04:05 PM

@hoan: cái này hoàn toàn dùng lệnh trong cad thôi. thực ra dùng lisp cho nó nhanh đỡ phải thao tác nhiều lần.

Hề hề hề,
Thực ra thì phải là : dùng lisp cho nó ....... máu các bác nhể.
Hề hề hề,
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#17 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 08 August 2011 - 04:09 PM

Em đã thử nhiều lần toàn cho ra pline thế mà sck84 lại nói nó cho ra toàn line. Cái này đúng là Hỏi Chúa Chúa còn hỏi chấm

Hề hề hề,
Cái này phải gọi là : Hỏi Chúa Chúa còn hỏi Thầy tu, hỏi thầy tu, thầy tu còn hỏi các xơ, hỏi các xơ thời các xơ bảo hãy đợi đấy......
Hề hề hề,...
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#18 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 08 August 2011 - 09:35 PM

Ế Hế Hế... Kính thưa 2 bác là em xài rồi, thấy toàn ra line nên mới nói vậy! Có gì chưa đúng xin bác chỉ giáo. Cad 2011 thì em xin chịu, con lap em là hàng già.

Với các đời CAD mình đang dùng thì không có chuyện ra Line, vì khi recreate Boundary, CAD chỉ cho 2 lựa chọn là Region và Pline. Bạn có thể cho mình biết bản CAD bạn đang dùng, chụp màn hình lúc thực hiện lisp và Properties chỉ đích thị nó là Line ??
Hoặc bạn thay chữ "P" trong lisp thành "R" để tạo Region xem có bình thường không ? Hoặc BH với đường cong xem cái Line nó tròn méo như thế nào ??
  • 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


#19 hochoaivandot

hochoaivandot

    biết dimradius

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

Đã gửi 16 August 2011 - 09:04 AM

Chào cadviet!
Mình đã check điều mà sck84 nêu. Quả thật có trường hợp biên hatch tạo ra LINE các anh ạ!
Đó là khi các HATCH chồng lên nhau như hình vẽ sau:
Hình đã gửi
Link ban ve!
Mọi người kiểm tra giúp với. Không biết có 1 biến hệ thống nào can thiệp không nữa?? :blink:
  • 0

Dương Bá Diệp

 

www.cadonline.duyxuyen.vn 

 

Thành viên nhóm CADMAGIC

 


#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 16 August 2011 - 10:00 AM

Chào cadviet!
Mình đã check điều mà sck84 nêu. Quả thật có trường hợp biên hatch tạo ra LINE các anh ạ!
Đó là khi các HATCH chồng lên nhau như hình vẽ sau:
Hình đã gửi
Link ban ve!
Mọi người kiểm tra giúp với. Không biết có 1 biến hệ thống nào can thiệp không nữa?? :blink:

Đã check trên bản vẽ bạn gởi. Nó vẫn ra LWPOLYLINE, nhưng dạng rời chứ không kín. Không phải LINE đâu.
  • 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.