Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
legiang610

Tính diện tích vẫn làm em đau đầu

Các bài được khuyến nghị

legiang610    2

Em thường xuyên phải tính diện tích các hình nhưng em có tham khảo nhiều lisp trên diễn đàn cadviet nhưng chưa có lisp nào thực sự hiệu quả.không có lisp nào tính được diện tích của vùng hack như trong ví dụ của em : http://www.cadviet.com/upfiles/2/vi_du_1_3.dwg

em mong các bác viết giúp em cái lisp thoã mãn các điều kiện:

- kick vao 1 vùng tự cad tự lập cho ta một bảng thống kê diện tích bên cạch (hiểu được cả trường hợp tính diện tích của vùng giữa hai đường bao).

- có hiệu quả đội với những đường phức tạp (như trong ví dụ)

- tự thay đổi diện tích khi vùng pick điểm ban đầu đường bao thay đổi.

hic em cad hơi gà nên các khái niệm trong cad chẳng hiểu nhiều nên mong các bác hiểu và giúp đỡ.em xin cám ơn nhiều!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ngovinh    102
Em thường xuyên phải tính diện tích các hình nhưng em có tham khảo nhiều lisp trên diễn đàn cadviet nhưng chưa có lisp nào thực sự hiệu quả.không có lisp nào tính được diện tích của vùng hack như trong ví dụ của em : http://www.cadviet.com/upfiles/2/vi_du_1_3.dwg

em mong các bác viết giúp em cái lisp thoã mãn các điều kiện:

- kick vao 1 vùng tự cad tự lập cho ta một bảng thống kê diện tích bên cạch (hiểu được cả trường hợp tính diện tích của vùng giữa hai đường bao).

- có hiệu quả đội với những đường phức tạp (như trong ví dụ)

- tự thay đổi diện tích khi vùng pick điểm ban đầu đường bao thay đổi.

hic em cad hơi gà nên các khái niệm trong cad chẳng hiểu nhiều nên mong các bác hiểu và giúp đỡ.em xin cám ơn nhiều!

khi chưa có lisp có thể dùng thủ công bằng lệnh LI để biết diện tích của mặt cắt

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
legiang610    2
khi chưa có lisp có thể dùng thủ công bằng lệnh LI để biết diện tích của mặt cắt

như thế thì nông dân quá, bác dùng cách đấy thử tính diện tích của ví dụ em đưa ra xem được ko?hic không ai giúp được em à. Bác hoành đâu rùi ta? :undecided:

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
showhangdoc    0
như thế thì nông dân quá, bác dùng cách đấy thử tính diện tích của ví dụ em đưa ra xem được ko?hic không ai giúp được em à. Bác hoành đâu rùi ta? :undecided:
cái vụ này hay đó,bác nào biết thì ra tay nghĩa hiệp với,mình thì không biết,hihihi

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
legiang610    2
cái vụ này hay đó,bác nào biết thì ra tay nghĩa hiệp với,mình thì không biết,hihihi

Không ai tính được diện tích ví dụ này của em sao? cao thủ đâu hết rùi ta :undecided:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phamthanhbinh    3.123
như thế thì nông dân quá, bác dùng cách đấy thử tính diện tích của ví dụ em đưa ra xem được ko?hic không ai giúp được em à. Bác hoành đâu rùi ta? :undecided:

Hề hề hề,

Ờ, nó nông dân thiệt, nhưng nó lại giúp cho một người không nông dân như bạn giải quyết được vấn đề của mình. Nếu bạn có cách hay hơn thì hãy làm đi, kêu ca chi nhỉ???

Còn như chưa có thì hãy ráng chờ nhé, và tạm dùng cái cách nông dân ấy mà giải quyết.

Anh em trên diễn đàn nói chung và bác Hoành nói riêng không phải sinh ra để ngồi chờ đáp ứng yêu cầu của bạn, mỗi người đều có công việc riêng của họ và chỉ khi rảnh mới có thể giúp đỡ bạn cũng như người khác được.

Bạn hãy bỏ cái cách réo ó mọi người đi nhé, nhất là lại gọi tên đích danh người ta như vậy. Đó là sự bất lịch sự và hơi ích kỷ đó, đồng thời đó cũng là sự thiếu tôn trọng mọi người trên diễn đàn.

Công việc của bạn có thể là rất cần, nhưng chả lẽ chỉ có của bạn mới cần, còn của mọi người thì là trò chơi à???

Vậy nên nếu bạn thật sự cần thì phải biết kiên nhẫn chờ, đồng thời cũng phải biết tận dụng mọi phương tiện có thể giúp mình giải quyết được vấn đề đó đã, còn cái hay hơn, tốt hơn, thông minh hơn hay gì gì hơn nữa thì phải ráng đợi mà thôi. Đừng có bất lịch sự như vậy, chả ai muốn giúp đâu.

Bác Ngovinh chỉ đưa ra một giải pháp tạm thời để bạn có thể xài mà giải quyết việc của bạn, có thể bác ấy bận hoặc chưa đủ thời gian để cung cấp cho bạn một phương án tối ưu. Đó đã là một điều đáng trân trọng rồi. Vậy mà bạn buông lời chê bai này nọ thì thật là .....

Mong rằng bạn hãy lưu ý và nghiêm túc hơn khi tham gia diễn đàn.

 

Cái bản vẽ của bạn post lên, mình không mở được (do chỉ xài cad2004) nên chưa rõ độ phức tạp của nó đến đâu, xong mình gợi ý bạn rằng trong CAD có lệnh AREA cho phép bạn tính toán các diện tích tổng và hiệu của các vùng kín được tạo bởi các line, polyline, ellip, cung tròn, đường tròn, ...

Bạn hãy vận dụng nó thử xem, có khi nhanh hơn là ngồi chờ phương án tối ưu đó.

 

Chúc bạn vui.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
legiang610    2
Hề hề hề,

Ờ, nó nông dân thiệt, nhưng nó lại giúp cho một người không nông dân như bạn giải quyết được vấn đề của mình. Nếu bạn có cách hay hơn thì hãy làm đi, kêu ca chi nhỉ???

Còn như chưa có thì hãy ráng chờ nhé, và tạm dùng cái cách nông dân ấy mà giải quyết.

Anh em trên diễn đàn nói chung và bác Hoành nói riêng không phải sinh ra để ngồi chờ đáp ứng yêu cầu của bạn, mỗi người đều có công việc riêng của họ và chỉ khi rảnh mới có thể giúp đỡ bạn cũng như người khác được.

Bạn hãy bỏ cái cách réo ó mọi người đi nhé, nhất là lại gọi tên đích danh người ta như vậy. Đó là sự bất lịch sự và hơi ích kỷ đó, đồng thời đó cũng là sự thiếu tôn trọng mọi người trên diễn đàn.

Công việc của bạn có thể là rất cần, nhưng chả lẽ chỉ có của bạn mới cần, còn của mọi người thì là trò chơi à???

Vậy nên nếu bạn thật sự cần thì phải biết kiên nhẫn chờ, đồng thời cũng phải biết tận dụng mọi phương tiện có thể giúp mình giải quyết được vấn đề đó đã, còn cái hay hơn, tốt hơn, thông minh hơn hay gì gì hơn nữa thì phải ráng đợi mà thôi. Đừng có bất lịch sự như vậy, chả ai muốn giúp đâu.

Bác Ngovinh chỉ đưa ra một giải pháp tạm thời để bạn có thể xài mà giải quyết việc của bạn, có thể bác ấy bận hoặc chưa đủ thời gian để cung cấp cho bạn một phương án tối ưu. Đó đã là một điều đáng trân trọng rồi. Vậy mà bạn buông lời chê bai này nọ thì thật là .....

Mong rằng bạn hãy lưu ý và nghiêm túc hơn khi tham gia diễn đàn.

 

Cái bản vẽ của bạn post lên, mình không mở được (do chỉ xài cad2004) nên chưa rõ độ phức tạp của nó đến đâu, xong mình gợi ý bạn rằng trong CAD có lệnh AREA cho phép bạn tính toán các diện tích tổng và hiệu của các vùng kín được tạo bởi các line, polyline, ellip, cung tròn, đường tròn, ...

Bạn hãy vận dụng nó thử xem, có khi nhanh hơn là ngồi chờ phương án tối ưu đó.

 

Chúc bạn vui.

hehe em sẽ rút kinh nghiệm, nhưng bác hơi nặng lời đấy , như bác mới là mất lịch sự đấy.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
legiang610    2
hehe em sẽ rút kinh nghiệm, nhưng bác hơi nặng lời đấy , như bác mới là mất lịch sự đấy.

em chắc chắn bác ngovinh chưa mở bản ví dụ của em ra, nếu bác mở ra rồi thi bác đã không khuyên em nên dùng LI, nếu dùng LI mà được thì em dùng rùi, với lại em post vào mục auto lisp la mún các cao thủ lisp nghĩ cách giúp đỡ, em tin ko chỉ mình em gặp vấn đề này, mong các bác hiểu cho

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
trinhvqh    222

Bác Bình bình thường vui tính thế mà khi bực cũng tuôn ra một tràn

Đó là bác chưa mở bản vẽ của legiang610 chứ nếu mở được thì chắc "thêm một tràn nữa" :undecided:

 

Ở đây legiang610 dùng Spline (Fit) sau đó hatch vào vùng này

Nếu dùng lệnh Area hoặc List của Autocad cũng bó tay. com, không tính được diện tích

 

Cho nên, trước tiên để tính được diện tích theo cách nông dân nhất bạn phải dùng Line, Arc, Polyline để tạo hình đã

 

Còn điều bạn mong muốn hoàn toàn có thể giải quyết được.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
tivanteo    17

Đúng là bạn dùng Spline để vẽ không thể tính diện tích bằng lệnh area được theo mình trước tiên bạn lên chuyển spl sang pl sau đó dùng lisp này, lisp chuyển có trên diễn đàn bạn hãy vui lòng tìm

cũng lên sáng tạo một chút chứ đừng có réo người khác, như bác Bình nói đúng quả là mất lịch sự

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
legiang610    2
Đúng là bạn dùng Spline để vẽ không thể tính diện tích bằng lệnh area được theo mình trước tiên bạn lên chuyển spl sang pl sau đó dùng lisp này, lisp chuyển có trên diễn đàn bạn hãy vui lòng tìm

cũng lên sáng tạo một chút chứ đừng có réo người khác, như bác Bình nói đúng quả là mất lịch sự

thử làm xem được hay ko nhé. nói thì dễ thui nhưng làm thì ko đâu,hi đúng là đồ vô văn hóa

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ngovinh    102
cái vụ này hay đó,bác nào biết thì ra tay nghĩa hiệp với,mình thì không biết,hihihi
Nghĩa hiệp là gì hử anh???!!!!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ngovinh    102
Đúng là bạn dùng Spline để vẽ không thể tính diện tích bằng lệnh area được theo mình trước tiên bạn lên chuyển spl sang pl sau đó dùng lisp này, lisp chuyển có trên diễn đàn bạn hãy vui lòng tìm

cũng lên sáng tạo một chút chứ đừng có réo người khác, như bác Bình nói đúng quả là mất lịch sự

Không cần phải chuyển spl sang pl sau đó dùng lisp này, lisp chuyển có trên diễn đàn bạn hãy vui lòng tìm Li cho biết hết!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ngovinh    102
thử làm xem được hay ko nhé. nói thì dễ thui nhưng làm thì ko đâu,hi đúng là đồ vô văn hóa

:undecided: :blink: :blink:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ngovinh    102
như thế thì nông dân quá, bác dùng cách đấy thử tính diện tích của ví dụ em đưa ra xem được ko?hic không ai giúp được em à. Bác hoành đâu rùi ta? :undecided:

Hàng ngày anh ăn gì : thủy sản, khoáng sản??!! anh có ăn cơm gạo và rau dưa của nông dân không??!!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
kangkang    0
Hàng ngày anh ăn gì : thủy sản, khoáng sản??!! anh có ăn cơm gạo và rau dưa của nông dân không??!!

trùi ui ông này nhỏ mọn quá, hic bon chen dễ sợ lun, người ta ko bít hỏi mà các bác sợ thật, hic gà như em chắc ko dám hỏi rùi, sợ lỡ miệng lại bị ăn chửi :undecided:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
tivanteo    17
thử làm xem được hay ko nhé. nói thì dễ thui nhưng làm thì ko đâu,hi đúng là đồ vô văn hóa

Đúng là bó tay

thôi các bác khỏi cần ý kiến gì với thằng cha này hết thuốc chữa rồi muốn làm thế nào thì mặc cha nhà nó

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
kangkang    0
Đúng là bó tay

thôi các bác khỏi cần ý kiến gì với thằng cha này hết thuốc chữa rồi muốn làm thế nào thì mặc cha nhà nó

hỏi tí thế bác làm được ko chỉ em lun với ? em thử mà ko được nè, hic mình gà wa

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ngovinh    102
trùi ui ông này nhỏ mọn quá, hic bon chen dễ sợ lun, người ta ko bít hỏi mà các bác sợ thật, hic gà như em chắc ko dám hỏi rùi, sợ lỡ miệng lại bị ăn chửi :undecided:

Nhằm rồi! phải gọi là bà mới đúng, bon chen cái gì cơ chứ ???

bạn legiang610 nói: "nông dân quá" thì em hỏi có ăn gì của nông dân không? có ghét người ưa của không? có xuất thân từ nông dân không? có giỏi hơn nông dân không? có nhiều tiền bằng nông dân không?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ngovinh    102
Đúng là bó tay

thôi các bác khỏi cần ý kiến gì với thằng cha này hết thuốc chữa rồi muốn làm thế nào thì mặc cha nhà nó

Thuốc có nhiều lắm ứ! nhưng giá thuốc hơi bị đắt!!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
kangkang    0
Nhằm rồi! phải gọi là bà mới đúng, bon chen cái gì cơ chứ ???

bạn legiang610 nói: "nông dân quá" thì em hỏi có ăn gì của nông dân không? có ghét người ưa của không? có xuất thân từ nông dân không? có giỏi hơn nông dân không? có nhiều tiền bằng nông dân không?

hi thì ra là bà, chẳng trách chấp nhặt từng câu chữ, hi hỏi thật bà một câu nhé đã bao giờ bạn nói như vậy chưa? nếu chưa từng thì tui chắc phải tin bồ tát có thật rùi, hi sorry nếu làm bà ko vui nha, nhưng sống trên đời cần có một tấm lòng, cứ chấp nhặt khó sống lém :undecided:

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phamthanhbinh    3.123
hi thì ra là bà, chẳng trách chấp nhặt từng câu chữ, hi hỏi thật bà một câu nhé đã bao giờ bạn nói như vậy chưa? nếu chưa từng thì tui chắc phải tin bồ tát có thật rùi, hi sorry nếu làm bà ko vui nha, nhưng sống trên đời cần có một tấm lòng, cứ chấp nhặt khó sống lém :undecided:

Hề hề hề,

Là ông hay là bà gì thì cũng là một thành viên trong cộng đồng Cadviet này, mong rằng mọi người hãy tôn trọng nhau và tôn trọng diễn đàn. Đừng vì những điều nhỏ nhặt không thỏa mãn được cá nhân mình mà làm phiền tới những người khác.

Việc giúp đỡ hỗ trợ lẫn nhau là việc bình thường, tuy nhiên cũng mong rằng mọi người phải thật sự cùng cố gắng chứ không phải chỉ ỷ lại vào sự giúp đỡ của người khác.

Một tấm lòng dù to dù nhỏ cũng đều đáng quý cả, nhưng nếu như chỉ biết yêu cầu người khác có còn mình dửng dưng thì thật là .....

Sống trên đời mỗi người tự lựa chọn cách sống và làm việc cho mình và cũng sẽ phải tự chịu trách nhiệm về cách sống cũng như cách làm việc đó.

Mọi lời góp ý và nhắc nhở trên diễn đàn đều chỉ có tính chất tham khảo chứ chả ai bắt buộc được ai cả. Hãy tự ngẫm và rút ra điều gì đó có ích cho mình thì hơn là việc tranh chấp hơn thua trên diễn đàn.

Hề hề hề.....

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ngovinh    102
Đúng là bạn dùng Spline để vẽ không thể tính diện tích bằng lệnh area được theo mình trước tiên bạn lên chuyển spl sang pl sau đó dùng lisp này, lisp chuyển có trên diễn đàn bạn hãy vui lòng tìm

cũng lên sáng tạo một chút chứ đừng có réo người khác, như bác Bình nói đúng quả là mất lịch sự

thử làm xem được hay ko nhé. nói thì dễ thui nhưng làm thì ko đâu,hi đúng là đồ vô văn hóa
hi thì ra là bà, chẳng trách chấp nhặt từng câu chữ, hi hỏi thật bà một câu nhé đã bao giờ bạn nói như vậy chưa? nếu chưa từng thì tui chắc phải tin bồ tát có thật rùi, hi sorry nếu làm bà ko vui nha, nhưng sống trên đời cần có một tấm lòng, cứ chấp nhặt khó sống lém :D

Hi hi hi hi :undecided: :blink: :blink: :D

Các anh đùa dai quá! em lỡ đà đùa theo, ai dỗi hơi chấp nhặt làm cái gì? Hì hì hì buồn cười quá. Câu hỏi đưa ra, có người trả lời đúng, có người trả lời không đúng, thậm chí trả lời sai là chuyện thường. Có gì cần trao đổi, chúng ta cứ tranh luận thẳng thắng không nên nói câu : “như thế thì nông dân quá” cũng không nên nói nhau là “đồ vô văn hóa”… trên diễn đàn nên là nơi giao lưu học hỏi lẫn nhau và thư giãn

Đây là bài học kinh nghiệm, nếu có gì lỡ lời em cũng mong được các anh chị thông cảm!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ngovinh    102
1) Dùng lệnh Cad:

 

- Gõ lệnh bo (boundary), pick vào vùng cần tính -> 1 pline kín được tạo thành.

- Select nó, gõ lệnh mo sẽ thấy diện tích. Nếu không cần đến nó nữa thì bấm del.

 

2) Dùng lisp:

 

Gõ lệnh are, toàn bộ thao tác trên được thực hiện tự động.

 

(defun c:gb(/ p ss S frome cur toe tt)
(setq p (getpoint "\n Pick 1 diem vao mien trong hinh kin :") 
ss (ssadd) S 0)
(while p
(setq frome (entlast))
(command ".boundary" p "")
(setq toe (entlast));; 
(setq cur frome
)
   (while (not (eq cur toe))
(setq cur (entnext cur)
	ss (ssadd cur ss))
(command "area" "S" "O" ss "" "")
(setq tt (getvar "area"))
(setq S (+ S tt))
    )
 (command "area" "A" "O" "L" "" "")
 (setq tt (getvar "area"))
 (setq S (+ S (* tt 2))) 
(sssetfirst ss ss)
(setq p (getpoint "\n Pick 1 diem vao mien trong hinh kin :"))

)
(if (> (sslength ss) 0)
(alert (strcat "Area = " (rtos S 2 2)))
(alert "\n Ban chua Pick vao mien kin nao ca ")
)
(command "erase" ss "")
(Princ)
)

@ ndn386 : Bạn muốn thêm 3 chữ số thập phân thì thay dòng này

(alert (strcat "Area = " (rtos S 2 2)))

thành dòng :

(alert (strcat "Area = " (rtos S 2 3)))

thay số 2 thành số 3 : chính là chữ số thập phân đó bạn

Chốt lại vấn đề đã có rất rất nhiều nhiều lisp trên diễn đàn, chỉ vì không sử dụng chức năng tìm kiếm, mà một số câu nói không hay đã tuôn ra… :D :D :wacko: :wacko: :wacko: :wacko: :wacko: :wacko: :undecided: :blink: :blink: :wacko: :D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×