Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu]Lisp edit hatch không đè lên Text


  • Please log in to reply
10 replies to this topic

#1 hochoaivandot

hochoaivandot

    biết dimradius

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

Đã gửi 14 December 2011 - 09:55 PM

Trước khi dùng Lisp, các text bị các hatch đè lên
Hình đã gửi
Sau khi dùng Lisp, các text không bị hatch đè lên
Hình đã gửi

Yêu cầu:
1. Tên lệnh HAT
2. Thao tác nhập dữ liệu: Chỉ chọn các Text
3. Kết quả:
+ Hatch không đè lên text như hình vẽ
+ Không vẽ lại các đối tượng đường biên và đối tượng Hatch (Bí quá thì đành phải vẽ lại thôi, nhưng nếu vẽ lại thì nhất thiết phải giống hệt property)

Gởi file dwg đính kèm: http://www.cadviet.c...ucaulisphat.dwg
  • 0

Dương Bá Diệp

 

www.cadonline.duyxuyen.vn 

 

Thành viên nhóm CADMAGIC

 


#2 soluuhuong2903

soluuhuong2903

    biết vẽ rectang

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

Đã gửi 14 December 2011 - 10:08 PM

mình cũng đã thử viết lisp giống yêu cầu của bạn nhưng trình kém quá, viết ko nổi.hehe.hatch khó chơi lắm.mong các cao thủ ra tay giúp bạn ấy
  • 0

#3 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 14 December 2011 - 10:37 PM

Theo như bản vẽ bạn đính kèm thì thấy rằng: bạn hatch sau khi trên bản vẽ đã có 3 hình kín và 2 text. Vậy sao bạn không chọn cách hatch bằng cách pick điểm vào trong hình kín (chứ không phải pick trực tiếp trên đường bao của hình)?
Còn nếu bạn muốn đặt bài toán như vậy thì để ngâm cứu xem sao, hy vọng có thể được đấy.
  • 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.


#4 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 14 December 2011 - 11:11 PM

:) Bác HHVD thử cái này nhé.Code đơn giản n k public, bác HH dịch là ra ngay. Có thể bật bật Selectable Group để đạt hiệu ứng Associative sau khi chạy lisp bác nhé ^^ Lệnh HHVD
FIle fas
http://www.cadviet.c...4067_hhvd_1.rar
  • 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


#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 14 December 2011 - 11:17 PM

:) Bác HHVD thử cái này nhé.Code đơn giản n k public, bác HH dịch là ra ngay. Có thể bật bật Selectable Group để đạt hiệu ứng Associative sau khi chạy lisp bác nhé ^^ Lệnh HHVD
http://www.cadviet.c.../24067_hhvd.rar


Lỗi:
Trích dẫn:
Command:
HHVD _.wipeout Specify first point or [Frames/Polyline] <Polyline>: _frame
Enter mode [ON/OFF] <OFF>: _off
Command:
Select objects: Specify opposite corner: 1 found

Select objects:
"no function definition: ACET-SS-TO-LIST"
Với lại: code ngắn thì chơi đẹp public luôn cho vui cửa vui nhà Ket ơ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.


#6 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 14 December 2011 - 11:59 PM


Lỗi:
Trích dẫn:
Command:
HHVD _.wipeout Specify first point or [Frames/Polyline] <Polyline>: _frame
Enter mode [ON/OFF] <OFF>: _off
Command:
Select objects: Specify opposite corner: 1 found

Select objects:
"no function definition: ACET-SS-TO-LIST"
Với lại: code ngắn thì chơi đẹp public luôn cho vui cửa vui nhà Ket ơi!


E để để bác HHVD chọc ngoáy thôi. Open thì e đã Open rùi, hok liên quan gì đến xấu mí đẹp cả ^^
Lỗi như kia trong file VLX thì bác dịch ngược ra Fas là nhé ^^ (link trên e sửa thành fas rồ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


#7 hochoaivandot

hochoaivandot

    biết dimradius

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

Đã gửi 15 December 2011 - 08:42 AM

:) Bác HHVD thử cái này nhé.Code đơn giản n k public, bác HH dịch là ra ngay. Có thể bật bật Selectable Group để đạt hiệu ứng Associative sau khi chạy lisp bác nhé ^^ Lệnh HHVD
FIle fas
http://www.cadviet.c...4067_hhvd_1.rar


Cảm ơn bác ketxu nhé.
Bác đến La Mã bằng đường chim bay thông minh thật.
Trước đây mình cũng từng nghĩ đến wipeout, nhưng sợ hắn che luôn biên, Không ngờ bác kết hợp luôn thằng draworder nũa.
Cái group hiểu quả như Associative thiệt --->độc
Có bác nào đi đường chính mà đến đích chưa nhỉ?

- Ketxu xem thử mặc dù thấy bác khóa biến osmode rồi, nhung khi mình bật chế độ Osnap All thì Lisp không chạy, còn Osnap No thì chạy ầm ầm (Luc đầu chạy không đc tưởng lisp bị lỗi chứ)
  • 0

Dương Bá Diệp

 

www.cadonline.duyxuyen.vn 

 

Thành viên nhóm CADMAGIC

 


#8 Detailing

Detailing

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 667 Bài viết
Điểm đánh giá: 278 (khá)

Đã gửi 15 December 2011 - 09:03 AM

Có bác nào đi đường chính mà đến đích chưa nhỉ?

Bạn thử Hatch 1 hình kín -> (entget(entlast))
thêm text vào -> Hatch lại hình kín đó + text -> (entget(entlast))
so sánh 2 cái đó coi có dc ý tưởng nào ko. chú ý cái mã 330 nhe
Good luck!
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#9 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 15 December 2011 - 09:08 AM


Cảm ơn bác ketxu nhé.
Bác đến La Mã bằng đường chim bay thông minh thật.
Trước đây mình cũng từng nghĩ đến wipeout, nhưng sợ hắn che luôn biên, Không ngờ bác kết hợp luôn thằng draworder nũa.
Cái group hiểu quả như Associative thiệt --->độc
Có bác nào đi đường chính mà đến đích chưa nhỉ?

- Ketxu xem thử mặc dù thấy bác khóa biến osmode rồi, nhung khi mình bật chế độ Osnap All thì Lisp không chạy, còn Osnap No thì chạy ầm ầm (Luc đầu chạy không đc tưởng lisp bị lỗi chứ)

Đường đó là đường gây ít lỗi đó bác, vì mình không phải tạo lại đối tượng phức tạp như Hatch ^^
Trong code Ket viết nhanh để lấy hướng, còn bác hoàn toàn có thể xử lý nó thuần code mình viết, thậm chí k dùng acet textmask hoặc command draworder chi cho mệt, Ket liệt ra đây :
1 - Viết hàm lấy Boundingbox list của *Text (chú ý text nghiêng theo UCS : cái này khó nhất, nếu ngại có thể xoay UCS trước khi lấy)
2 - List ename Text
3 - Duyệt qua từng objText
- Nếu ssget "cp" Bounding box của objText không chứa đối tượng nào hoặc có nhưng không chứa Hatch thì bỏ qua
- Nếu có ssget này => đặt ssBien = tập chọn ss không chứa Hatch
+ Dùng hàm entmake WipeOut tạo theo bounding box của objText
+ Nếu có ssBien : Duyệt qua từng vlaObject objBien trong ssBien + Text : (vla-copy objBien)(vla-delete objBien) => chú ý bước này, khi copy đối tượng ta đã lấy toàn bộ thông tin của đối tượng (có thể bao gồm các dữ liệu mở rộng). Đồng thời đối tượng vừa copy được tạo sau WipeOut nên mặc định CAD sẽ coi nó có thứ tự front so với WipeOut

Phần osnap e cũng lấy hàm của ACET cho nhanh, bác tự chỉnh bằng tay chắc k còn vấn đề gì
  • 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 xuandung87hp

xuandung87hp

    biết vẽ circle

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

Đã gửi 15 December 2011 - 09:27 AM

Thử dùng lệnh Textmask xem thế nào
  • 0

#11 luukhach

luukhach

    Chưa sử dụng CAD

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

Đã gửi 18 February 2016 - 06:07 PM

Thử dùng lệnh Textmask xem thế nào

Chính xác, đúng theo yêu cầu.

Cám ơn "xuandung"


  • 0