Đến nội dung


Hình ảnh
- - - - -

Nhờ hướng dẫn sửa lisp diện tích?


  • Please log in to reply
7 replies to this topic

#1 huaductiep

huaductiep

    biết vẽ rectang

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

Đã gửi 25 July 2013 - 12:09 AM

;; free lisp from cadviet.com

Mình download trên cadviet được lisp tính diện tích như với lệnh dt2 như link gửi ở bên dưới. Mình loay hoay tìm cách sửa sao cho nó chỉ hỏi nhập tỉ lệ bản vẽ và số chữ số thập phân 1 lần đầu duy nhất thôi. Từ lần sau pick lại thì nó tự nhớ tỉ lệ và số chữ thập phân trước đó, ko hỏi nữa.. mà mình chưa tìm ra cách. Mong mọi người chỉ giúp mình với. 
Xin chân thành cám ơn mọi người đã đọc bài viết :)

http://www.cadviet.c...tich_dt2_ok.lsp

 

;;; this lisp was downloaded from http://www.cadviet.c...t-san-co/page-4
;------------------------------------tinh dien tich (dt2)-----------------------------------
(Defun c:dt2()
(setvar "cmdecho" 0)
(initget "Heso Do")
        (if (not tpo) (setq tpo 1))
        (setq SC (getint (strcat "\n Nhap ti le <" (itoa tpo) "> :")))
        (if (not SC) (setq SC tpo) (setq tpo SC))
        (if (not tp1) (setq tp1 2))
        (setq tp (getint (strcat "\n Nhap So chu so thap phan <" (itoa tp1) "> :")))
        (if (not tp) (setq tp tp1) (setq tp1 tp))
(setq pt (getpoint "\n chon diem:"))
    (if (= pt "Heso")
    (progn
(setq am (getreal "\n loccoc259.co.cc : "))
(if (and (null am) (/= ac 0))
(setq am ac)
)
(setq pt (getpoint "\n Chon diem: "))
)
(setq ac am))
 
(if (or (= am 0) (null am)) (setq am 1))
(setq s 0)
(progn 
; (setq pt (getpoint "\n Chon diem: "))
     (while pt
(setq entold (cdr (assoc 5 (entget (entlast)))))
(command "boundary" pt "")
(setq entnew (cdr (assoc 5 (entget (entlast)))))
(if (/= entold entnew)    
(progn 
                        (setq entnew (entget (entlast)))
                        (if (assoc 62 entnew)
                          (setq entnew (subst (cons 62 (+ 3 (cdr (assoc 62 entnew)))) (assoc 62 entnew) entnew))
                          (setq entnew (append entnew (list (cons 62 (+ 3 (cdr (assoc 62 (tblsearch "layer" (cdr (assoc 8 entnew))))))))))
                          )                          
                        (entmod entnew)
                        (Command "area" "o" (entlast))
(setq s (+ s (getvar "area")))
    (setq pt (getpoint "\n Chon diem: "))
(entdel (entlast))
        )
(progn
(princ "chon diem sai")
(setq pt (getpoint "\n Chon diem: "))
)
)
 )
 
            )
 
(setq dt1 (* s am SC SC))
(setq dt (/ dt1 10))
(princ dt)
(setq obj (vlax-ename->vla-object
(car (entsel "\nChon text de ghi ket qua:"))
)
)
(vla-put-TextString obj (rtos dt 2 tp))
)
 

  • 0

#2 huaductiep

huaductiep

    biết vẽ rectang

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

Đã gửi 01 August 2013 - 11:07 AM

hjx..có bác nào vào giúp em với :)


  • 0

#3 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 01 August 2013 - 11:26 AM

Đây.

http://www.cadviet.c...3/67029_abc.lsp


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


#4 huaductiep

huaductiep

    biết vẽ rectang

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

Đã gửi 01 August 2013 - 02:42 PM

Đây.

http://www.cadviet.c...3/67029_abc.lsp

Cám ơn bác. Nhưng em sử dụng thì bị báo lỗi sau:


Command: dt2

Nhap So chu so thap phan <2>:

chon diem:

Chon diem: 1.06159e+006

Chon text de ghi ket qua:; error: bad argument type: fixnump: nil

 
 Nhap So chu so thap phan <2>:
 
 chon diem:
 Chon diem:
1.06159e+006
Chon text de ghi ket qua:; error: bad argument type: fixnump: nil
 
 
 Nhap So chu so thap phan <2>:
 
 chon diem:
 Chon diem:
1.06159e+006
Chon text de ghi ket qua:; error: bad argument type: fixnump: nil
 
 
Command: dt2
 
 Nhap So chu so thap phan <2>:
 
 chon diem:
 Chon diem:
1.06159e+006

 

Chon text de ghi ket qua:; error: bad argument type: fixnump: nil
 
Command: dt2
 
 Nhap So chu so thap phan <2>:
 
 chon diem:
 Chon diem:
1.06159e+006

 

Chon text de ghi ket qua:; error: bad argument type: fixnump: nil
 
Command: dt2
 
 Nhap So chu so thap phan <2>:
 
 chon diem:
 Chon diem:
1.06159e+006
Chon text de ghi ket qua:; error: bad argument type: fixnump: nil

  • 0

#5 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 01 August 2013 - 02:49 PM

srr bạn, mình sửa mà chưa hết. Bạn sửa thêm giùm mình nhé.

sửa:

(setq tp tp2)

thành:

(setq tp 2)


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


#6 huaductiep

huaductiep

    biết vẽ rectang

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

Đã gửi 01 August 2013 - 11:32 PM

hj..được rồi. cám ơn bác nhiều lắm.
Tiện đây cho em hỏi luôn. Diễn đàn mình có topic nào làm Lisp theo yêu cầu (có phí) ko nhỉ? Vì mình thấy cái này rất thiết thực, chắc chắn sẽ nhiều người ko tiếc gì đâu và sẽ rất ủng hộ việc này.


  • 0

#7 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 02 August 2013 - 07:01 AM

Bạn tìm anh Ketxu trên forum này để đặt hàng 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.


#8 huaductiep

huaductiep

    biết vẽ rectang

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

Đã gửi 02 August 2013 - 10:46 PM

ok. Cám ơn bác Doan Van Ha nhé :)


  • 0