Đến nội dung


Hình ảnh
- - - - -

Vấn đề tính chu vi miền kín ?


  • Please log in to reply
9 replies to this topic

#1 hieudhhh

hieudhhh

    biết pan

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

Đã gửi 31 January 2012 - 04:02 PM

Mình đã sử dụng lisp udt của bác Nguyen Hoanh và cho kết quả theo mình là chính xác khi tính diện tích miền kín. Mình đã tìm hiểu thêm các lisp trong diễn đàn để tính tổng chu vi các miền kín ấy ( hay là tổng chiều dài các đoạn làm lên miền kín ấy ) tuy nhiên cho kết quả không khả quan. Mình đã sử dụng lệnh massprop để tính chu vi cho nhiều miền kín ( dạng region ) nhưng đôi khi gặp vấn đề khi có một số region không được nhận diện. mình sử dụng thêm lisp tg.lisp của bác Bommax để tính tổng chiều dài các đường tạo nên miền kín, tuy nhiên lại thể hiện kết quả không giống với khi sử dụng lệnh massprop ( lấy kết quả chu vi của miền kín ). Mình không rành về lisp nên không biết thuật toán của các bác có vấn đề gì không, mình thì đang rất cần tính chu vi của miền kín với kết quả chính xác nhất. Hi vọng được các bác giúp đỡ !
Chân thành cảm ơn !
  • 0

#2 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 31 January 2012 - 05:13 PM

1). Bạn chú ý post bài theo đúng quy định của forum kẻo sẽ bị mod xoá.
2). Vấn đề tính chu vi là tương đối đơn giản, mà sao lại như bạn nói được nhỉ? Bạn thử gởi file bản vẽ + các file lisp lên để mọi người kiểm tra giùm xem sao nhé.
Thân thương!
  • 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.


#3 tuannguyen314169

tuannguyen314169

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 297 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 01 February 2012 - 02:49 PM

Mình đã sử dụng lisp udt của bác Nguyen Hoanh và cho kết quả theo mình là chính xác khi tính diện tích miền kín. Mình đã tìm hiểu thêm các lisp trong diễn đàn để tính tổng chu vi các miền kín ấy ( hay là tổng chiều dài các đoạn làm lên miền kín ấy ) tuy nhiên cho kết quả không khả quan. Mình đã sử dụng lệnh massprop để tính chu vi cho nhiều miền kín ( dạng region ) nhưng đôi khi gặp vấn đề khi có một số region không được nhận diện. mình sử dụng thêm lisp tg.lisp của bác Bommax để tính tổng chiều dài các đường tạo nên miền kín, tuy nhiên lại thể hiện kết quả không giống với khi sử dụng lệnh massprop ( lấy kết quả chu vi của miền kín ). Mình không rành về lisp nên không biết thuật toán của các bác có vấn đề gì không, mình thì đang rất cần tính chu vi của miền kín với kết quả chính xác nhất. Hi vọng được các bác giúp đỡ !
Chân thành cảm ơn !

Mình không hiểu bạn nói gì, vì vậy bạn cần post bản vẽ để mọi người tham khảo. Chứ nếu region không nhận được miền kín thì không phải là region/mass properties. Thank you
  • 0

#4 hieudhhh

hieudhhh

    biết pan

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

Đã gửi 03 February 2012 - 07:26 AM

Mình là thành viên mới, mọi người thông cảm, nên không rõ post bài ở đâu.
Dưới đây là file mình đang cần tính chu vi.
Mong các bạn kiểm tra giúp và giúp mình.
  • 0

#5 hieudhhh

hieudhhh

    biết pan

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

Đã gửi 03 February 2012 - 07:28 AM

Xin lỗi mình chưa biết upload file. Mong các bác kiểm tra giúp nhé
http://www.cadviet.c...104434_vidu.dwg
  • 0

#6 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 03 February 2012 - 08:29 AM

Xin lỗi mình chưa biết upload file. Mong các bác kiểm tra giúp nhé
http://www.cadviet.c...104434_vidu.dwg

Xem bản vẽ của bạn thì phát hiện ra bạn bị nhầm lẫn khi để các hình trùng lên nhau, vì vậy mà các kết quả tính toán là khác nhau. Khi bạn dùng lệnh MASSPROP để tính chu vi thì chỉ những region mới được tính còn các đối tượng khác như line, pline, arc, elip, spline không được tính. Trong khi nếu bạn dùng các lệnh viết bằng lisp của 1 số tác giả thì nó sẽ tính chiều dài của tất cả đối tượng từ region cho đến line, pline, arc, elip, spline. Vì vậy mà kết quả là khác nhau.
Hãy kiểm tra lại sự trùng nhau của các hình nhé bạ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.


#7 hieudhhh

hieudhhh

    biết pan

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

Đã gửi 06 February 2012 - 07:23 AM

Mình đã kiểm tra lại, và không thấy có gì khả quan với những thắc mắc của mình cả, Mình xin gửi kèm
ví dụ dưới đây. Trong ví dụ có 7 đối tượng region, mình dùng lệnh Massprop thì cad đã trả lời có 7 đối tượng được nhận, tuy nhiên chỉ có 2 region được tính toán, 5 đối tượng không được tính. Trong khi tính riêng lẻ từng region 1 thì không có region nào bị lỗi, mình đã kiểm tra xem có đối tượng nào nằm trùng nhau không nhưng không thấy. Mong các bạn kiểm tra giúp giùm
http://www.cadviet.c...4434_vidu_1.dwg
  • 0

#8 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 06 February 2012 - 07:41 AM

Mình đã kiểm tra lại, và không thấy có gì khả quan với những thắc mắc của mình cả, Mình xin gửi kèm
ví dụ dưới đây. Trong ví dụ có 7 đối tượng region, mình dùng lệnh Massprop thì cad đã trả lời có 7 đối tượng được nhận, tuy nhiên chỉ có 2 region được tính toán, 5 đối tượng không được tính. Trong khi tính riêng lẻ từng region 1 thì không có region nào bị lỗi, mình đã kiểm tra xem có đối tượng nào nằm trùng nhau không nhưng không thấy. Mong các bạn kiểm tra giúp giùm
http://www.cadviet.c...4434_vidu_1.dwg

Lisp này tính đuợc 7 đối tượng Region trên file bạn gửi :

(defun c:dt(/ i e ss)
(vl-load-com)
(princ "\nChon REGION :")
(if (setq ss (ssget (list (cons 0 "REGION"))))
(progn
(setq i -1)
(while (setq e (ssname ss (setq i (1+ i))))
(princ "\nDien tich la : " )
(princ (vla-get-area (vlax-ename->vla-object e)))) ) )
(princ))

  • 1

#9 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 06 February 2012 - 08:31 AM

Mình đã kiểm tra lại, và không thấy có gì khả quan với những thắc mắc của mình cả, Mình xin gửi kèm
ví dụ dưới đây. Trong ví dụ có 7 đối tượng region, mình dùng lệnh Massprop thì cad đã trả lời có 7 đối tượng được nhận, tuy nhiên chỉ có 2 region được tính toán, 5 đối tượng không được tính. Trong khi tính riêng lẻ từng region 1 thì không có region nào bị lỗi, mình đã kiểm tra xem có đối tượng nào nằm trùng nhau không nhưng không thấy. Mong các bạn kiểm tra giúp giùm
http://www.cadviet.c...4434_vidu_1.dwg

Trong file Cad bạn gởi trước đây thì có nhiều hình đè lên nhau. Còn trong file cad này thì kết quả tính sai là do thế này:
Trích dẫn help của lệnh massprop: If you select multiple regions, only those that are coplanar with the first selected region are accepted.
Nghĩa là khi bạn chọn nhiều region thì chỉ những region đồng phẳng với region được chọn đầu tiên mới được tính. Trong file của bạn, nếu xét từ trái qua phải thì region 1 và 5 là đồng phẳng (z=16469.3207), region 2,3,4,6,7 là đồng phẳng (z=0). Do đó nó chỉ tính hoặc 2 region 1 và 5 hoặc 5 region 2,3,4,6,7 tuỳ theo region nào là region được chọn đầu tiên. Chắc bạn đã hiểu?
  • 2

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


#10 hieudhhh

hieudhhh

    biết pan

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

Đã gửi 07 February 2012 - 07:32 AM

Có lẽ đây là câu trả lời mình cần. Thanks bác !
  • 0