Đến nội dung


Hình ảnh
- - - - -

Tính diện tích 1 miền bằng pick điểm


  • Please log in to reply
24 replies to this topic

#1 thichmacarong

thichmacarong

    biết pan

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

Đã gửi 11 June 2007 - 09:53 AM

Hic em đang rất rất cần một lisp tính diện tích theo kiểu pick điểm để chọn vùng, giống như khi ta tạo hacht ấy, mod nào có hoặc viết hộ em thì tốt quá, em cảm ơn nhiều.
  • 0

#2 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 11 June 2007 - 10:05 AM

Hic em đang rất rất cần một lisp tính diện tích theo kiểu pick điểm để chọn vùng, giống như khi ta tạo hacht ấy, mod nào có hoặc viết hộ em thì tốt quá, em cảm ơn nhiều.


http://www.cadviet.com/forum/index.php?showtopic=855
  • 0

#3 thichmacarong

thichmacarong

    biết pan

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

Đã gửi 11 June 2007 - 10:27 AM

cảm ơn bác, nhưng em thử cái lisp đó rồi, chỉ có 2 chế độ chọn là chọn đối tượng hoặc chọn điểm, nhưng chọn điểm thì nó sẽ tính diện tích vùng tạo bởi các điểm đó, còn em muốn tính diện tích của vùng bao quanh điểm đó, tức là khi ta bấm vào một điểm thì cad sẽ tự chọn một vùng kín bao quanh điểm đó để tính diện tích, giống như ta select object trong hatch ở chế độ pick point ấy.
  • 0

#4 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 11 June 2007 - 11:25 AM

cảm ơn bác, nhưng em thử cái lisp đó rồi, chỉ có 2 chế độ chọn là chọn đối tượng hoặc chọn điểm, nhưng chọn điểm thì nó sẽ tính diện tích vùng tạo bởi các điểm đó, còn em muốn tính diện tích của vùng bao quanh điểm đó, tức là khi ta bấm vào một điểm thì cad sẽ tự chọn một vùng kín bao quanh điểm đó để tính diện tích, giống như ta select object trong hatch ở chế độ pick point ấy.


Cái này khó nhưng mà hay à nha.
HEHEHE :s_dead: HEHEH
  • 0

#5 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 11 June 2007 - 12:04 PM

Theo đúng yêu cầu, bạn thử xem nhé!
lệnh là DTM (diện tích miền)

(defun c:dtm()
(defun ctext (diem gt / lst)
(setq lst
(list
(cons 0 "TEXT")
(cons 1 gt)
(cons 10 diem)
(cons 40 (getdist p "\nChieu cao chu: "))
)
)
(entmake lst)
)
(defun dtdoituong (entdt /)
(command ".area" "o" entdt)
(command ".erase" entdt "")
(getvar "area")
)
(defun getbound(p)
(setq ent (entlast))
(command ".boundary" "A" "B" "E" "I" "Y" "" p "")
(setq ent1 (entlast))
(cond
((eq ent ent1) nil)
(t ent1)
)
)
(setq
p (getpoint "\nVao diem can tinh dien tich: ")
entpl (getbound p)
)
(if entpl
(ctext p (rtos (dtdoituong entpl)))
(alert "Diem ban chon khong kin!")
)
(princ)
)


Lisp trên rất cơ bản, chỉ tính đúng với các miền không có "lỗ thủng".
  • 1

#6 abc007

abc007

    biết vẽ arc

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

Đã gửi 12 June 2007 - 01:49 PM

lệnh là ss (ghi diện tích miền)
http://www.cadviet.com/upfiles/dien_tich.rar
Bạn thử dùng
  • 0

#7 Hung_Hatay

Hung_Hatay

    Chưa sử dụng CAD

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

Đã gửi 17 July 2008 - 03:32 PM

Theo đúng yêu cầu, bạn thử xem nhé!
lệnh là DTM (diện tích miền)


(defun c:dtm()
(defun ctext (diem gt / lst)
(setq lst
(list
(cons 0 "TEXT")
(cons 1 gt)
(cons 10 diem)
(cons 40 (getdist p "\nChieu cao chu: "))
)
)
(entmake lst)
)
(defun dtdoituong (entdt /)
(command ".area" "o" entdt)
(command ".erase" entdt "")
(getvar "area")
)
(defun getbound(p)
(setq ent (entlast))
(command ".boundary" "A" "B" "E" "I" "Y" "" p "")
(setq ent1 (entlast))
(cond
((eq ent ent1) nil)
(t ent1)
)
)
(setq
p (getpoint "\nVao diem can tinh dien tich: ")
entpl (getbound p)
)
(if entpl
(ctext p (rtos (dtdoituong entpl)))
(alert "Diem ban chon khong kin!")
)
(princ)
)


Lisp trên rất cơ bản, chỉ tính đúng với các miền không có "lỗ thủng".

Nhờ các bạn sửa giúp lisp này để tôi có thể tính tổng diện tích cho nhiều đối tượng ( nhiều miền 1 lúc) , yêu cầu là pick chọn miền thứ 1, miền thứ 2... phải chuột , chương trình hỏi chiều cao chữ và vị trí đặt chữ mang giá trị tổng diện tích . Xin cảm ơn nhiều.
  • 0

#8 duongsatdn

duongsatdn

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 1657 Bài viết
Điểm đánh giá: 761 (tốt)

Đã gửi 17 July 2008 - 03:40 PM

nhưng chọn điểm thì nó sẽ tính diện tích vùng tạo bởi các điểm đó

Ủa, hơi lạ. Tôi chưa dùng thử lisp này, nhưng nếu chọn các điểm bao chung quanh vùng muốn tính diện tích thì hình như CAD vẫn có mà!
  • 0

#9 Snowman

Snowman

    biết lệnh mirror

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

Đã gửi 17 July 2008 - 06:35 PM

http://www.cadviet.com/upfiles/ae.lsp

Lệnh AE: tính diện tích nhiều vùng liên tiếp bằng cách pick điểm, có đánh dấu vùng đã chọn bằng pline màu đỏ (chú ý: đừng undo hoặc cancer giữa chừng, nếu ko là ....rác bản vẽ lắm đấy :lol: (Mình lười sửa nên chưa hoàn chỉnh lắm- các bác cản thận khi dùng vậy :rolleyes:
(Khuyến mại thêm lệnh kx, ky, kz: tính và điền giá trị khoảng cách giữa các điểm)
  • 2

. - ' * ' - .. - ... "Sống trong đời sống cần có một tấm lòng..." . - ' * ' - .. -
-----------------------------------------------------------------------------------

Hình đã gửi Hình đã gửi


#10 dovanlinh

dovanlinh

    biết vẽ arc

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

Đã gửi 18 July 2008 - 12:17 PM

Theo đúng yêu cầu, bạn thử xem nhé!
lệnh là DTM (diện tích miền)

cái này bác viết lâu rôi nhưng nay em mới thấy nên lấy về dùng thử . cảm ơn bác nhé!
  • 0
49XD1

#11 xunghe

xunghe

    biết zoom

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

Đã gửi 09 December 2008 - 10:15 AM

Hic em đang rất rất cần một lisp tính diện tích theo kiểu pick điểm để chọn vùng, giống như khi ta tạo hacht ấy, mod nào có hoặc viết hộ em thì tốt quá, em cảm ơn nhiều.


tôi đang dung list của ban đang cần đấy, no cung khá hay, tính được toàn bộ các hình chi bằng một cái lick chuột, và tính với mọi tỷ lệ. ban tham khảo nha
http://www.cadviet.c...files/tdt_1.lsp
  • 0

#12 thanhtuanvl

thanhtuanvl

    biết pan

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

Đã gửi 17 June 2010 - 08:19 PM

tôi đang dung list của ban đang cần đấy, no cung khá hay, tính được toàn bộ các hình chi bằng một cái lick chuột, và tính với mọi tỷ lệ. ban tham khảo nha
http://www.cadviet.c...files/tdt_1.lsp

Mong các bạn giúp tôi hiệu chỉnh lisp trên như sau : text diện tích chỉ lấy 1 số lẻ thay vì 3 số.Thank all.
  • 0

#13 thanhtuanvl

thanhtuanvl

    biết pan

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

Đã gửi 18 June 2010 - 04:20 PM

Mong các bạn giúp tôi hiệu chỉnh lisp trên như sau : text diện tích chỉ lấy 1 số lẻ thay vì 3 số.Thank all.

ai vào giúp mình với.
  • 0

#14 dkkx3a

dkkx3a

    biết lệnh trim

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

Đã gửi 18 June 2010 - 05:23 PM

ai vào giúp mình với.


Mình đã sửa lại một chút, giờ số lẻ bạn có thể điều khiển bằng lệnh Units (un) của CAD nhé:

http://www.cadviet.c...les/2/tdt_1.lsp
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#15 thanhtuanvl

thanhtuanvl

    biết pan

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

Đã gửi 20 June 2010 - 12:30 PM

Mình đã sửa lại một chút, giờ số lẻ bạn có thể điều khiển bằng lệnh Units (un) của CAD nhé:

http://www.cadviet.c...les/2/tdt_1.lsp


Thank's.
  • 0

#16 thanhtuanvl

thanhtuanvl

    biết pan

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

Đã gửi 20 June 2010 - 08:02 PM

Mình đã sửa lại một chút, giờ số lẻ bạn có thể điều khiển bằng lệnh Units (un) của CAD nhé:

http://www.cadviet.c...les/2/tdt_1.lsp

Ai giúp mình edit tí.làm cho lisp trên lấy 1 số lẻ mà ko cần đk lệnh units.vì thấy hơi bất tiện.Thank all.
  • 0

#17 thanhtuanvl

thanhtuanvl

    biết pan

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

Đã gửi 21 June 2010 - 12:07 AM

Ai giúp mình edit tí.làm cho lisp trên lấy 1 số lẻ mà ko cần đk lệnh units.vì thấy hơi bất tiện.Thank all.

ACE nào rãnh vào giúp mình tí nhé.
  • 0

#18 dkkx3a

dkkx3a

    biết lệnh trim

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

Đã gửi 21 June 2010 - 07:53 AM

ACE nào rãnh vào giúp mình tí nhé.


Đây bạn, nhưng mình nghĩ có thể chỉnh sửa qua lệnh UN vẫn cơ động hơn.
Sửa hộ bạn:
http://www.cadviet.c.../tdt_1_sole.lsp
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#19 thanhtuanvl

thanhtuanvl

    biết pan

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

Đã gửi 23 June 2010 - 12:02 PM

Đây bạn, nhưng mình nghĩ có thể chỉnh sửa qua lệnh UN vẫn cơ động hơn.
Sửa hộ bạn:
http://www.cadviet.c.../tdt_1_sole.lsp

Thank's.Vì bản vẽ mình tính dt chỉ lấy 1 số lẻ,còn lại các số khác thì lấy 2-3 số lẻ nên xài lệnh Un thấy bất tiện.
  • 0

#20 trioby1

trioby1

    biết pan

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

Đã gửi 14 October 2010 - 10:53 PM

Tôi đã down về và dùng thử của các bạn rồi thì thấy nó xài tốt. Nhưng tôi thấy 1 cái bất tiện là:
- Tôi chỉ định nghĩa được 1 lần tỉ lệ, ví dụ: tôi chọn tỉ lệ 1/20, rồi tính diện tích của các hình, xuất ra kết quả, rồi tôi tính diện tích của các hình khác với tỉ lệ khác, tôi sử dụng lại lênh tdt thì nó lại không hiện ra tỉ lệ để chọn mà nó vẫn tính với tỉ lệ khai báo ban đầu.
- Mà muốn khai báo với tỉ lệ khác thì lại phải thoát ra rồi vào lại file, sử dụng lại lệnh thì nó mới cho khai báo tỉ lệ.
Mong các bác fix dùm lỗi này nha(mỗi lần sử dụng lệnh là nó luôn luôn hiện ra chọn tỉ lệ muốn tính diện tích).
  • 0