Đến nội dung


Hình ảnh

Thắc mắc ghi cao độ của bác Tue_NV


  • Please log in to reply
4 replies to this topic

#1 mrphamnha

mrphamnha

    biết pan

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

Đã gửi 07 March 2013 - 07:39 PM

; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.c...p-nh-cao/page-2
 
 
(defun c:dcd(/ tlv blm blname dmo cdm cd dm cdmi dmoc bl)
 
(setvar "attreq" 1)
 
(setvar "cmdecho" 0)
 
(setq oldim (getvar "DimZin"))
 
(setvar "Dimzin" 0)
 
(setq tlv (/ 1 (getreal "\n Nhap ti le ve : 1/")))
 
(setq bl (car(entsel "\n Pick chon Block mau / Text mau :")))
 
(setq blm (entget bl))
 
(setq dmo (getpoint "\n Pick diem moc : "))
 
 
 
(setq cdm (getreal "\n Nhap cao do cua diem moc \ Enter pick text cao do : "))
 
(if (null cdm) (setq cdm (atof (cdr(assoc 1 (entget(car (entsel "pick text cao do : ")))))))  )
 
(if cdm (progn
 
(if (= cdm 0) (setq cd (strcat "%%p" (rtos cdm 2 2))))
 
(if (> cdm 0) (setq cd (strcat "+" (rtos cdm 2 2))))
 
(if (< cdm 0) (setq cd (rtos cdm 2 2)))
 
(command "copy" bl "" "_non" (cdr(assoc 10 blm)) "_non" dmo)
 
(if (and (wcmatch (cdr(assoc 0 (entget (entlast)))) "INSERT") (= (cdr(assoc 66 (entget (entlast)))) 1))
 
     (setq el (entget (entnext (entlast)) )))
 
(if (wcmatch (cdr(assoc 0 (entget (entlast)))) "TEXT") (setq el (entget (entlast))) )
 
(entmod (subst (cons 1 cd) (assoc 1 el) el))
 
(setq dmoc dmo)
 
(while (setq dm (getpoint dmoc "\n Pick diem tiep theo :"))
 
(if (> (cadr dm) (cadr dmo))  (setq cdmi (+ (* (- (cadr dm) (cadr dmo)) tlv) cdm) ) )
 
(if (<= (cadr dm) (cadr dmo))  (setq cdmi (- cdm (* (- (cadr dmo) (cadr dm)) tlv) ) ) )
 
(if (= cdmi 0) (setq cdi (strcat "%%p" (rtos cdmi 2 2))))
 
(if (> cdmi 0) (setq cdi (strcat "+" (rtos cdmi 2 2))))
 
(if (< cdmi 0) (setq cdi (rtos cdmi 2 2)))
 
(command "copy" bl "" "_non" (cdr(assoc 10 blm)) "_non" dm)
 
(if (and (wcmatch (cdr(assoc 0 (entget (entlast)))) "INSERT") (= (cdr(assoc 66 (entget (entlast)))) 1))
 
     (setq el (entget (entnext (entlast)) )))
 
(if (wcmatch (cdr(assoc 0 (entget (entlast)))) "TEXT") (setq el (entget (entlast))) )
 
(entmod (subst (cons 1 cdi) (assoc 1 el) el))
 
(setq dmoc dm)
 
)
 
(setvar "Dimzin" oldim)
 
))
 
(princ)
 
)
 
bản vẽ của em như sau http://www.cadviet.c...321_hc_mong.dwg
sau khi dùng lệnh như này : 
Command: dcd
 
 Nhap ti le ve : 1/200
 
 Pick chon Block mau / Text mau :
 Pick diem moc :
 Nhap cao do cua diem moc  Enter pick text cao do : 46
 
 Pick diem tiep theo :
 Pick diem tiep theo :*Cancel*
; error: An error has occurred inside the *error* functiontoo many arguments
 
Bác nào cho em hỏi lỗi trên là như nào, em click vào các vị trí như trong bản vẽ, em đã chuyển hệ trục tọa độ về vị trí điểm 1( cao trình +46) rồi. nhưng sau khi click lên vị trí 2 ( đúng ra là +48,57) tại sao nó lại nhảy lên vị trí 3 và 4 mà vẫn không đúng cao trình .
Cảm ơn cả nhà nhiều

Bài viết đã được chỉnh sửa nội dung bởi mrphamnha: 07 March 2013 - 07:45 PM

  • 0

#2 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 07 March 2013 - 11:39 PM

Ít nhất thì chính bạn đã tạo nên lỗi: thay vì enter hoặc space thì bạn lại nhấn esc.


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

mrphamnha

    biết pan

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

Đã gửi 08 March 2013 - 04:40 PM

sau khi e đã click thì nó nhảy lên vị trí 3 và 4 luôn nên không click nữa và ấn esc


  • 0

#4 mrphamnha

mrphamnha

    biết pan

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

Đã gửi 09 March 2013 - 11:05 PM

ai giúp e với nào. @@


  • 0

#5 mrphamnha

mrphamnha

    biết pan

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

Đã gửi 12 March 2013 - 10:11 AM

Bác nào hộ e với.hi


  • 0