Đến nội dung


Hình ảnh
- - - - -

[Đã xong] lisp Hatch (gạch, bê tông, kính) - hay


  • Please log in to reply
68 replies to this topic

#21 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 27 December 2011 - 07:06 AM

các bác ơi giúp em vấn đề này với, cái lisp hatch này muốn khi hatch nó không đè lên số như hình bền thì làm thế nào để nhanh và thuận tiện cho công việc em làm nhỉ
......

Hình đã gửi

Nếu đã lỡ Hatch đè lên số thì bạn mang thêm "mặt nạ" cho Text bằng lệnh Textmask. Đảm bảo Text sẽ đè lên hatch
Lệnh Textmask : một lệnh trong bộ phụ trợ Express
  • 0

#22 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 27 December 2011 - 06:29 PM

cái này hatch rất nhanh nhưng có nhược điểm là bị đè lên số. có bác nào sửa giúp lại để khi hatch nó không bị đè lên số giúp em với. cảm ơn rất nhiều!
  • 0

#23 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 30 December 2011 - 06:26 PM

chán nhỉ, không ai sửa được lisp này cho mình nhỉ? :mellow:
  • 0

#24 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 02 January 2012 - 10:46 PM

ý của bạn là sao? lệnh HB hay HH5 ko xài được
  • 0

#25 dragontalon0802

dragontalon0802

    biết lệnh erase

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

Đã gửi 06 January 2012 - 08:04 PM

Tình hình là dựa vào gợi ý của bác Ketxu và lisp sẵn của bác Tue_NV nhưng em vẫn ko viết được lisp theo đúng yêu cầu. Nhờ bác Tue_NV bỏ chút thời gian giúp em nhé.
mô tả:

Lệnh H1 thì cad tự động chuyển sang layer "aaa"(có sẵn trong bản vẽ) và hỏi kiểu chọn hatch
p/s để chọn điểm hoặc đường bo, sau đó tự động hatch solid

Thanks bác.
  • 0

#26 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 06 January 2012 - 09:56 PM

Mình thật không hiểu nối sau topic này
http://www.cadviet.c...showtopic=61454
Điều bạn k thể làm được là gì ?
  • 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


#27 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 06 January 2012 - 10:05 PM

bác Ketxu ơi giúp em sửa cái lisp hatch (HH5) tạo luôn mặt lạ cho số giúp em để khi hatch nó tự hiểu và không đè lên số với được không a? trân thành cảm ơn bác ketxu!
  • 0

#28 dragontalon0802

dragontalon0802

    biết lệnh erase

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

Đã gửi 06 January 2012 - 10:11 PM

Mình thật không hiểu nối sau topic này
http://www.cadviet.c...showtopic=61454
Điều bạn k thể làm được là gì ?


Em hoàn toàn ko hiểu về ngôn ngữ viết lisp, dựa vào gợi ý và xem lisp các bác viết rồi chắp vá nhưng ko thành công.
Và sau khi mò mẫm ko được thì đến giai đoạn nản rồi bác ạ.
Em đành lên đây nhờ các bác dành chút thời gian viết vậy, nếu ko được thì chắc cũng ko mò mẫm nữa đâu.
Có lẽ bác sẽ mắng là "ăn sẵn, lợi dụng..." nhưng em xin nhận hết ạ. Em ko đam mê nên ko tiếp tục nghiên cứu đâu ạ.
Cảm ơn bác đã dành rất nhiều thời gian và sự nhiệt tình cho em.
  • 0

#29 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 06 January 2012 - 10:28 PM

bác Ketxu ơi giúp em sửa cái lisp hatch (HH5) tạo luôn mặt lạ cho số giúp em để khi hatch nó tự hiểu và không đè lên số với được không a? trân thành cảm ơn bác ketxu!

Bạn dùng textmask như bác Tuệ đã gợi ý ởi bài #21 chưa ? Hay bạn chưa đọc ?
Có thể ngó qua lisp này sau khi hatch :
http://www.cadviet.c...ndpost&p=186080


Em hoàn toàn ko hiểu về ngôn ngữ viết lisp, dựa vào gợi ý và xem lisp các bác viết rồi chắp vá nhưng ko thành công.
Và sau khi mò mẫm ko được thì đến giai đoạn nản rồi bác ạ.
Em đành lên đây nhờ các bác dành chút thời gian viết vậy, nếu ko được thì chắc cũng ko mò mẫm nữa đâu.
Có lẽ bác sẽ mắng là "ăn sẵn, lợi dụng..." nhưng em xin nhận hết ạ. Em ko đam mê nên ko tiếp tục nghiên cứu đâu ạ.
Cảm ơn bác đã dành rất nhiều thời gian và sự nhiệt tình cho em.

Đúng là không những không đam mê, bạn còn k nhiệt tình nữa.
Trong cái yêu cầu ở bên topic kia, mình viết cho bạn theo đúng tiêu chí "ăn sẵn.." rồi đó chứ, nhưng bạn cũng chỉ phán mỗi câu "Không dùng được..."
Mà cái chuyện muôn thuở ở Topic nào viết lisp theo yêu cầu người viết cũng phải nhắc người dùng là nhấn F2 đọc thông báo lỗi khi dùng mà post lên, lẽ nào bạn (các bạn) chưa một lần từng nghe qua ? Nhắc nhiều đến mức sự nhiệt tình của những người viết cũng rơi rụng, chán đế không buồn nhắc nữa, nên sản phẩm kết cục cũng không đi đến đầu đến đũa.
Mình cũng xuất thân từ người đi học mót, cũng bị các bác ở 4room mắng nhiều, nhưng cũng may được tí hứng thú nhẫn nhịn, người ta còn nói là người ta còn muốn mình tốt hơn. GIờ cũng mong mỗi câu hỏi ra đều có người mắng. Khi tập tọe được thì cũng nhiệt huyết giúp đỡ mọi người khi có 1 yêu cầu, dù mình chẳng có tí vốn liếng gì, thậm chí bỏ cả việc sếp giao, cặm cụi tìm kiếm, đêm ngủ cũng không ngon vì vắt óc nghĩ những vấn đề chẳng phải của mình. Nhiều người trên 4room cũng vậy. Vậy mà, đại đa số đều coi đây là nơi để gửi yêu cầu theo đúng nghĩa đen, không tự thân vận động, khiến các bác nhiệt huyết ngày 1 rời xa 4room..Thật đáng buồn.

Bạn không tiếp tục nghiên cứu cũng có lý của bạn, nhưng cái sự vụ Hatch này, thật đã có quá nhiều ví dụ, và nó chỉ là edit lại Chữ "A" thành chữ "B", rất rõ ràng, chứ k liên quan gì đến cấu trúc lệnh cả
  • 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


#30 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 06 January 2012 - 10:53 PM

em có dùng lệnh Textmask trước khi hatch nhưng sao nó vẫn đè lên trữ? em biết anh đang bực mình nhưng quả thực em cũng đang sợ.
  • 0

#31 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 06 January 2012 - 11:08 PM

em có dùng lệnh Textmask trước khi hatch nhưng sao nó vẫn đè lên trữ? em biết anh đang bực mình nhưng quả thực em cũng đang sợ.

Bạn thử dùng lệnh textmask hoặc Lisp trong link mình gửi sau khi đã Hatch xem có được không ?
  • 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


#32 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 06 January 2012 - 11:25 PM

em dùng textmask sau đó chon Dim rồi dùng HH5 nhưng vẫn cứ hatch đè lên số, còn cái lisp bác gửi kia cũng vẫn vậy, hatch kín cả khung thì nó không đè lên số còn hatch theo cái lisp em gửi bao xung quanh 1 phần thì không được.
em có đoạn code này thì hatch được như vậy nhưng phải tạo khung bao sau đó mới hatch được hơi lâu hơn cái kia 1 chút:
(defun c:H5( / A B C)
(command "-osnap" "none")
(command "-layer" "m" "Hatch" "c" "8" "" "")
(SETQ A (GETPOINT "CHON DIEM : "))
(command "-boundary" A "")
(setq B (ssget "L"))
(command "offset" "0.8" B A "")
(setq C (ssget "L"))
(SETQ A (GETPOINT "CHON DIEM : "))
(command "bhatch" "P" "ANSI31" "4" "0" A "")
(COMMAND "-LAYER" "N" "HATCH" "")(PRINC)
(COMMAND "CHPROP" (ssget "L") "" "c" "8" "LA" "HATCH" "")
(command "erase" B "")
(command "erase" C "")(prompt "\nDA TAO HATCH XONG!")(princ)
(command "-osnap" "End,Mid,Int,Perp"))
  • 0

#33 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 06 January 2012 - 11:39 PM

- Quái nhỉ, những cái số bạn đang nói là Text, sao giờ lại lòi ra là chọn DIM ?
- Mình có nói là bạn dùng lệnh Textmask hoặc Lisp kia SAU khi bạn chạy lisp của bạn rồi, mà bạn vẫn lặp lại điệp khúc "sau khi dùng textmask...rồi dùng hh5 " ?
- Mình đã nhắc bạn cho code vào thẻ code chưa ? Nếu chưa từng thì giờ mình nhắc vậy, bạn vui lòng edit nhé :)
  • 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


#34 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 06 January 2012 - 11:51 PM

dạ em xin lỗi! em vẫn hỏi vấn đề bữa trước và có hình minh họa là kích thước mà!
  • 0

#35 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 07 January 2012 - 07:22 AM

Vậy là tất cả đều nhầm, do bạn post nhõn cái hình ảnh , cả mình và bác Tuệ đều nghĩ đó là text. Trên ảnh cũng k ai nghĩ nó là Dimension cả (k có mũi tên, extension line...) Bạn lại phải ngâm lại cái nội quy post file hình ảnh kèm File minh họa rồi :)
Cả lệnh Textmask và lisp mình gửi đều chỉ tác động đến lisp, đều có bước chọn Text, sử dụng đến bước này bạn phải hiểu là đã nhầm nhọt rồi chứ nhỉ... Haiza...Bạn vui lòng post DWG ver thấp để mọi người cùng xem
  • 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


#36 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 07 January 2012 - 10:07 AM

oh, tại em làm ở mảng cấp sổ nhà đất nên hình nhà và đất không có mũi tên, còn đường mới dùng tới mũi tên.
dạ đây là hình minh họa em gửi rất mong các anh giúp đỡ!
http://www.cadviet.c...89068_banve.dwg
  • 0

#37 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 07 January 2012 - 07:35 PM

Bạn đọc lại bài trước của mình thật kỹ nhé :) Tks 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


#38 avi612

avi612

    biết lệnh move

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

Đã gửi 07 January 2012 - 10:33 PM

Em dùng code của bác Tue_NV và cho chỉnh lại một chút theo nhu cầu sử dụng của mình nhưng mà khi chỉnh có phần em không hiểu.
Xin bác Tue_NV và mọi người giải thích dùm em ý nghĩa của hai phần code lisp em bôi đen bên dưới.

(defun c:h1(/ p dt ans ten sc ang dt)
(setvar "cmdecho" 0)
(initget "B G K")
(setq ans (getkword "\n Chon kieu hatch < B/G/K > :"))
(initget "P S")
(setq ansp (getkword "\n Chon kieu pick diem hay chon doi tuong < P/S > :"))
(setq tl1 (getreal "\n Nhap ti le hatch: "))
(setq p nil dt t)
;(WHILE (or (not p) (not dt))
(if (= ans "B")
(progn
(setq ten "AR-CONC" sc tl1 ang 0.0
ten2 "ANSI32" sc2 (* tl1 10.0) ang 0.0)
(if (= ansp "P")
(progn
(while (setq p (getpoint "\n Chon 1 diem trong vung can hatch :"))
(lh1 p ten sc ang)
(lh1 p ten2 sc2 ang)
)
)
(progn
(princ "\n Chon doi tuong can hatch :")
(while (setq dt (ssget) )
(lh dt ten sc ang)
(lh dt ten2 sc2 ang)
)
)
)
)
)
(if (= ans "G")
(progn
(setq ten "ANSI31" sc tl1 ang 0.0)
(if (= ansp "P")
(progn
(while (setq p (getpoint "\n Chon 1 diem trong vung can hatch :"))
(lh1 p ten sc ang)
)
)
(progn
(princ "\n Chon doi tuong can hatch :")
(while (setq dt (ssget) )
(lh dt ten sc ang)
)
)
)

)
)
(if (= ans "K")
(progn
(setq ten "AR-RROOF" sc tl1 ang 45.0)
(if (= ansp "P")
(progn
(while (setq p (getpoint "\n Chon 1 diem trong vung can hatch :"))
(lh1 p ten sc ang)
)
)
(progn
(princ "\n Chon doi tuong can hatch :")
(while (setq dt (ssget) )
(lh dt ten sc ang)
)
)
)
)
)
;);WHILE
(princ)
)
;;;;;;;;
(defun lh1(p name tle goc)
(setvar "hpgaptol" 50.0)
(vl-cmdf "bhatch" "P" name tle goc p "")
)
;;;;;;;;;;
(defun lh(dt name tle goc)
(setvar "hpgaptol" 50.0)
(vl-cmdf "bhatch" "P" name tle goc "S" dt "" "")
)


  • 0

#39 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 07 January 2012 - 10:58 PM

Em dùng code của bác Tue_NV và cho chỉnh lại một chút theo nhu cầu sử dụng của mình nhưng mà khi chỉnh có phần em không hiểu.
Xin bác Tue_NV và mọi người giải thích dùm em ý nghĩa của hai phần code lisp em bôi đen bên dưới.
(defun lh1(p name tle goc)
(setvar "hpgaptol" 50.0)
(vl-cmdf "bhatch" "P" name tle goc p "")
)
;;;;;;;;;;
(defun lh(dt name tle goc)
(setvar "hpgaptol" 50.0)
(vl-cmdf "bhatch" "P" name tle goc "S" dt "" "")
)

Đây là 2 hàm tạo Hatch.
Hàm ở trên tạo Hatch theo: tên, tỉ lê, góc và 1 điểm bên trong đối tượng.
Hàm ở dưới tạo Hatch theo: tên, tỉ lê, góc và đối tượng.
(setvar "hpgaptol" 50.0) là đặt giá trị khoảng hở max của đối tượng (nếu nó không kín)
  • 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.


#40 avi612

avi612

    biết lệnh move

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

Đã gửi 08 January 2012 - 03:32 PM

Ủa, vậy trong hàm này Lisp hiểu kí hiệu "lh1 và lh" là một biến hay là tên lệnh. Nếu là 1 biết thì mình không thấy nó được khai báo còn là một tên lệnh thì sao, đến cuối cùng mới định nghĩa nó mà phía bên trên mình đã thấy nó xuất hiện trong thân hàm rồi.
Chà, rối quá.
Không có căn bản về Lisp nên mót mấy món này mình có hỏi tào lao thì mấy bác đừng cười nha.
  • 0