Đến nội dung


Hình ảnh
- - - - -

[Xin chỉnh sửa giúp] Lỗi lisp tính diện tích DTM.lsp nhờ các mem xem giúp


  • Please log in to reply
5 replies to this topic

#1 almodeus

almodeus

    biết vẽ arc

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

Đã gửi 14 April 2011 - 11:49 PM

Mình có cái lisp dtm.lsp nhưng không hiểu sao nó cứ báo "điểm bạn chọn không kín"...mặc dù mình đã vẽ thử một rectangle muh vẫn báo lỗi không kín...không hiểu sao nữa...

(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)
)
)
(princ "\nCADViet.com © 2007")
(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)
)

(princ "\ndtm - free lisp from www.cadviet.com")
(princ)
  • 0

#2 almodeus

almodeus

    biết vẽ arc

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

Đã gửi 26 April 2011 - 05:43 PM

co ai giup ko
  • 0

#3 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 26 April 2011 - 09:13 PM

Phiền bạn post file kèm HCN đó lên diễn đàn thì mọi người mới biết chỗ mà giúp chứ hỉ :) Mà lisp này xuất xứ từ chính nơi đây, bạn có ở đâu ^^
  • 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


#4 KHONGMINH

KHONGMINH

    biết vẽ line

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

Đã gửi 27 April 2011 - 07:38 AM

Mình có cái lisp dtm.lsp nhưng không hiểu sao nó cứ báo "điểm bạn chọn không kín"...mặc dù mình đã vẽ thử một rectangle muh vẫn báo lỗi không kín...không hiểu sao nữa...


(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)
)
)
(princ "\nCADViet.com © 2007")
(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)
)

(princ "\ndtm - free lisp from www.cadviet.com")
(princ)





Mình cũng đã từng bị như bạn,lý do ở đây là do polypine bạn chọn không kín.Bạn dùng lệnh BO để làm kín Polyline hay vùng(Regione) lại là sẽ OK.
  • 0

#5 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 27 April 2011 - 08:04 AM

Mình có cái lisp dtm.lsp nhưng không hiểu sao nó cứ báo "điểm bạn chọn không kín"...mặc dù mình đã vẽ thử một rectangle muh vẫn báo lỗi không kín...không hiểu sao nữa...

................
(command ".boundary" "A" "B" "E" "I" "Y" "" p "")
................

Thử thay dòng :
(command ".boundary" "A" "B" "E" "I" "Y" "" p "")
bằng dòng :
(command "-boundary" "_A" "_I" "_N" "" "" p "")
  • 1

#6 nhatminh_fff

nhatminh_fff

    Chưa sử dụng CAD

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

Đã gửi 14 October 2012 - 04:52 PM

Cám ơn nhé bạn :
gia_bach
  • 0