Đế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

#41 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 January 2012 - 04:36 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.

Nó là lệnh. 2 lệnh này đã được sử dụng trong hàm chính. Còn việc định nghĩa trước hay sau thì tuỳ quan điểm của người viết. Nếu viết nó riêng ra thì khi load file hàm này sẽ hiệu lực, còn viết nó trong hàm chính thì nó chỉ có hiệu lực khi hàm chính được gọi. Không có vấn đề gì rối ở đây cả, chỉ là do bạn chưa hiểu hết bản chất thôi. Cứ từ từ mà!
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.


#42 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

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

Nó là lệnh. 2 lệnh này đã được sử dụng trong hàm chính. Còn việc định nghĩa trước hay sau thì tuỳ quan điểm của người viết. Nếu viết nó riêng ra thì khi load file hàm này sẽ hiệu lực, còn viết nó trong hàm chính thì nó chỉ có hiệu lực khi hàm chính được gọi. Không có vấn đề gì rối ở đây cả, chỉ là do bạn chưa hiểu hết bản chất thôi. Cứ từ từ mà!
Thân thương!

Lh1 và Lh là 2 hàm con
1./ Nếu viết nó riêng ra thì hàm con có hiệu lực khi bất kì hàm chính nào gọi nó,

2./ Còn nếu viết trực tiếp trong hàm chính :
Khi Load Main function có các Local Function viết trong Main function
Nếu trong hàm chính ta không giải phóng các hàm con (Local function) thì các hàm con vẫn sẽ có hiệu lực như Trường hợp 1 ở trên vậy.
Chỉ khi trong hàm chính viết hàm con và hàm chính giải phóng các hàm con thì lúc này hàm con mới không còn hiệu lực khi các Main function khác gọi đến nó
  • 1

#43 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 January 2012 - 08:53 PM

Lh1 và Lh là 2 hàm con
1./ Nếu viết nó riêng ra thì hàm con có hiệu lực khi bất kì hàm chính nào gọi nó,

2./ Còn nếu viết trực tiếp trong hàm chính thì có lẽ bạn DVH đã nhầm lẫn.
Khi Load Main function có các Local Function viết trong Main function
Nếu trong hàm chính ta không giải phóng các hàm con (Local function) thì các hàm con vẫn sẽ có hiệu lực như Trường hợp 1 ở trên vậy.
Chỉ khi trong hàm chính viết hàm con và hàm chính giải phóng các hàm con thì lúc này hàm con mới không còn hiệu lực khi các Main function khác gọi đến nó

1). Đang ý kiến thì bác Tue_NV sửa lại, nên thôi. Nghĩa là: viết bên ngoài thì nó có hiệu lực bất cứ lúc nào được gọi.
2). Viết bên trong trong thì nó chỉ có ý nghĩa:
2a). Ban đầu nó vô nghĩa. Chỉ khi hàm chính được gọi ít nhất 1 lần thì nó mới có ý nghĩa.
2b). Sau khi được gọi 1 lần thì nó có hiệu lực.
2c). Nó mất hiệu lực khi được giải phóng (như là 1 tên biến trong hàm chính). Cách giải phóng hàm con như là 1 biến cũng gây ra lỗi???
Tôi đâu có nhầm nhỉ?
  • 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.


#44 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 08 January 2012 - 09:02 PM

Nó là lệnh. 2 lệnh này đã được sử dụng trong hàm chính. Còn việc định nghĩa trước hay sau thì tuỳ quan điểm của người viết. Nếu viết nó riêng ra thì khi load file hàm này sẽ hiệu lực, còn viết nó trong hàm chính thì nó chỉ có hiệu lực khi hàm chính được gọi. Không có vấn đề gì rối ở đây cả, chỉ là do bạn chưa hiểu hết bản chất thôi. Cứ từ từ mà!
Thân thương!

Sorry bạn!
Tue_NV có sự nhầm lẫn ở từ chỉ có hiệu lực của bạn.
Khi load mainfunction có các local function lồng trong nó (mà không giải phóng Local function) thì các Local function luôn có hiệu lực khi các Mainfunction khác gọi nó.
Có thể mình chưa hiểu hết ý của bạn. Sorry, sorry, quan trọng là hiểu cốt lõi vấn đề là như thế.
Tue_NV đã sửa lại bài viết trên của mình rồi
Thanks bạn
  • 1

#45 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 08 January 2012 - 09:45 PM

... Haiza...Bạn vui lòng post DWG ver thấp để mọi người cùng xem
- anh Ketxu ơi, em không hiểu ý anh, em hiểu là gửi file CAD thấp nên em gửi để các anh giúp. quả thật là em hỏi nhiểu quá nên các anh nản nên không giúp được rồi?
  • 0

#46 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 - 11:06 PM

Hehe hai bác Doan Van Ha va bác Tue_NV giải thích rõ ràng quá...
Đọc xong cái này giống như được đã thông tư tưởng zậy.
Giền cái món lập trình Lisp này rồi hehe...
Thanks hai bác nhiều nhiều.
  • 0

#47 truongbeo2511

truongbeo2511

    biết zoom

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

Đã gửi 12 January 2014 - 10:10 AM

mình có bản vẽ mặt đứng với mặt cắt trong đồ án, ông thầy bảo là phải có hatch vật liệu cho mặt đứng và mặt cắt, nhưng mà mình đã hacth bê tông ở mặt cắt ròi

còn mặt đứng thì toàn là kính với tường thì hacth thế nào ạ ? mọi ngừoi giúp em với ko thì e bị loại đồ án mất 

file bản vẽ của em đây, mọi ngừoi giúp e với 

 

https://drive.google...dit?usp=sharing

em lập topic mà ko ai vào giúp em cả 


  • 0

#48 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 06 April 2015 - 12:06 PM

Định mở mục mới nhưng viết ở đây luôn cho tiện kg biết đc kg.

Mình có một vài xử lý trên Hatch nhưng nó phức tạp quá khi Hatch dính chùm nhau.

Nhờ các bạn viết giúp mình đoạn lisp kiểm tra và tách những hatch "dính chùm" thành những hatch độc lập như file sau:

http://www.cadviet.c...4/37170_vd4.dwg

Cám ơn các bạn


  • 0

#49 conghoa

conghoa

    biết lệnh attdef

  • Members
  • PipPipPipPipPipPip
  • 411 Bài viết
Điểm đánh giá: 88 (tàm tạm)

Đã gửi 06 April 2015 - 01:41 PM

Định mở mục mới nhưng viết ở đây luôn cho tiện kg biết đc kg.

Mình có một vài xử lý trên Hatch nhưng nó phức tạp quá khi Hatch dính chùm nhau.

Nhờ các bạn viết giúp mình đoạn lisp kiểm tra và tách những hatch "dính chùm" thành những hatch độc lập như file sau:

http://www.cadviet.c...4/37170_vd4.dwg

Cám ơn các bạn

Bạn chọn Hatch cần tách_ đánh Hatchedit_Tích vào Separate Hatches _ Ok là dc 


  • 1

#50 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 06 April 2015 - 02:33 PM

Cám ơn bạn. Ý mình là trên bản vẽ có hàng ngàn hatch Lisp phải tìm ra để xử lý. Theo chỉ dẫn của bạn mình làm đc TH thông thường.

 

Cũng có loại hatch không biết hình thành kiểu gí mà kg làm vậy được bạn ạ.http://www.cadviet.c...37170_vd4_1.dwg

Cái hatch đó còn kg tính đc diện tích, tách nó ra đc may ra, mình chưa làm đc TH này


  • 0

#51 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 06 April 2015 - 03:51 PM

Cũng phải tìm cách nào để tính diện tích và xử lý tách nó ra chứ nhỉ. Mình thử "nắm" cạnh của nó ở chỗ trùng đỉnh kéo ra thì đc một hatch bình thường, tuy nhiên nó đã khác tọa độ chu vi và diện tích.


  • 0

#52 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 07 April 2015 - 09:32 AM

Vẫn dùng -HATCHEDIT, chọn recreate Boundary => polyline

explode polyline

hatch với các đối tượng đã explode (với HPSEPARATE=1)


  • 1

#53 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 07 April 2015 - 09:44 AM

Cám ơn ndtnv.

Có thể kiểm tra nhanh bằng lisp sự hiện hữu của hatch kiểu đó trong rất nhiều hatch trên bản vẽ đc kg


  • 0

#54 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 07 April 2015 - 09:56 AM

Kiểm tra DXF 71.


  • 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.


#55 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 07 April 2015 - 10:29 AM

Kiểm tra DXF 71.

Cũng chưa chính xác lắm đâu bác. Đối với những Hatch tính đc DT thường thì nó =1.

Mình gặp TH Hatch ban đầu kg tính dc DT =0, dxf 71 =0. Nhưng khi nắm cạnh cái hatch này (vị trí trùng đỉnh) kéo ra nó sẽ tính đc diện tích nhưng code 71 vẫn =0


  • 0

#56 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 07 April 2015 - 11:04 AM

Thế thì lên đời tí:

(vlax-get-property (vlax-ename->vla-object (car (entsel))) 'AssociativeHatch)

:vlax-true nếu Associative

:vlax-false nếu non-Associative


  • 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.


#57 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 07 April 2015 - 11:29 AM

Thế thì lên đời tí:

(vlax-get-property (vlax-ename->vla-object (car (entsel))) 'AssociativeHatch)

:vlax-true nếu Associative

:vlax-false nếu non-Associative

Vẫn vậy bác ơi. Cả 2 TH đều tra về vlax-false nhưng trong đó 1 cái có diện tích: http://www.cadviet.c...37170_vd5_1.dwg

:vlax-false là trị kiểu gì vậy bác. Nếu muốn từ nó trả về  T hay nil thì làm sao


  • 0

#58 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 07 April 2015 - 11:36 AM

Cảm phiền save 2007 để test xem 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.


#59 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 07 April 2015 - 11:44 AM

Đây bạn, xem giúp nhé: http://www.cadviet.c...37170_vd5_2.dwg


  • 0

#60 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 07 April 2015 - 12:08 PM

Tôi đang nói tới Associative hay không. Còn việc có S hay không thì bạn dùng của ndtnv ở bên kia mà kiểm tra. Bạn có thể gởi file mà kiểm tra nó tốn time lên xem thử.


  • 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.