Đến nội dung


Hình ảnh
- - - - -

[Nhờ chỉnh sửa] Nhờ hoàn thiện lisp phun điểm mia địa chính ra Autocad


  • Please log in to reply
55 replies to this topic

#1 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 11 March 2012 - 10:52 PM

- hiện tại em phải dùng 5 thao tác riêng biệt để xuất được các điểm đo ra ngoài màn hình AutoCAD là:
1: Dùng lệnh chế biến File (CB) để chế biến File từ dạng thô của máy đo sang File tọa độ góc, cạnh dạng .TXT
2; Dùng lệnh phun điểm mia (PDM) để phun tọa độ ra ngoài màn hình AutoCAD.
3: Dùng lệnh vẽ lưới (VL) để xác định góc cạnh, tọa độ của trạm máy.
4: Dùng lệnh lấy trạm máy ™ để lấy tọa độ của trạm máy.
5: Sau đó mới dùng lệnh phun điểm mia (PDM) để phun tọa độ ra ngoài màn hình AutoCAD.

Nhờ các anh em trên diễn đàn giúp em hoàn thiện lisp phun tọa độ lên màn hình Autocad là gộp các lisp riêng lẻ thành 1 lệnh chế biến (CB) với nội dung như sau:
Mở AutoCAD ra và gõ lệnh chế biến (CB) sau đó tìm đến đường dẫn chứa File thô trút số liệu từ máy đo ra là có thể xuất tọa độ điểm đo ra ngoài màn hình và chỉ việc nối các điểm mia là xong mà không phải thực hiện từng thao tác như trước nữa!

Còn nếu khó và phức tạp quá thì có thể giúp em gộp bước 1 và 2 thành 1 ở trên để phun điểm mia ra và tự làm các bước còn lại theo cách thủ công như cũ.
Cảm ơn các anh em rất nhiều!
ĐÂY LÀ CODE CẦN ANH EM SỬA GIÚP:

[font=Arial][size=2]
[/size][/font]
;khong dung chenh cao, chi su dung de thanh lap ban do dia chinh
(defun c:cb (/ ch i FN FD sosanh j trammay
ccmay tramdh ccguong canhng hm hg goctd
canhb gocdung cd dem tam
)
(setq
FN (getfiled "NhËp file nguån : "
""
""
4
)
)
(setq i (strlen FN))
(setq ch "")
(while (/= ch "\\")
(setq ch (substr FN i 1))
(setq i (- i 1))
)
(setq xuat (substr FN 1 (+ i 1)))
(setq FD (getstring "Nhap ten file ket qua : "))
(setq FD (strcat xuat FD))
(setq FD (open FD "w"))
; (setq mo (getreal "Nhap sai so MO cua may (giay) : "))
(if (= mo nil)
(progn (setq mo 0)
(princ "\n")
(princ " Lay MO=0")
(princ "\n")
)
)
(setq mo (/ mo 3600))
(setq FN (open FN "r"))
(while (and (setq PR (read-line FN)) (/= PR ""))
(progn
(setq i 1)
(setq sosanh "")
(setq ch "")
(while (/= ch " ")
(setq ch (substr PR i 1))
(setq i (+ i 1))
)
(setq sosanh (substr PR 1 (- i 2)))
(cond ((= sosanh "STN")
(progn
;///////////////////////lay ten tram may//////////
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq trammay (substr PR i (- j i 1)))
;//////////////////////lay chieu cao may/////////
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccmay (substr PR i (- j i 2)))
(write-line (strcat "TR " trammay) FD)
) ;end progn
) ;end cond1
((= sosanh "BS")
(progn
;///////////////////////lay ten tram dinh huong//////////
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq tramdh (substr PR i (- j i 1)))
;//////////////////////lay chieu cao guong/////////
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccguong (substr PR i (- j i 2)))
(setq tam "bs")
) ;end progn
) ;end cond2
((= sosanh "SD")
(progn
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (= ch " ")
(setq i j)
)
)
(setq gocbang (substr PR i (- j i 1)))
;///////////////////////////////
(setq i j)
(setq j (+ j 2))
(setq ch "")
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq goctd (substr PR i (- j i 1)))
;////////////////////////////////
(setq i j)
(setq j (+ j 2))
(setq ch " ")
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq canhng (substr PR i (- j i 1)))
;/////////////////////////////////////
(setq hg (atof ccguong))
(setq hm (atof ccmay))
(setq gocdung (- (- 90.0 (dpgtod (atof goctd))) mo))
(setq gocdung (/ (* gocdung pi) 180))
(setq canhng (atof canhng))
(setq canhb (* canhng (cos gocdung)))
(setq h (+ (- hg hm) (* canhng (sin gocdung))))
(setq cd (strlen gocbang))
(setq i cd)
(setq dem 0)
(setq ch "")
(while (/= ch ".")
(setq ch (substr gocbang i 1))
(setq i (- i 1))
(setq dem (+ dem 1))
)
(if (= dem 6)
(setq gocbang (substr gocbang 1 (- cd 1)))
)
(if (= tam "bs")
(write-line
(strcat "DH "
(dd tramdh)
(dd gocbang)
" "
(rtos canhb 2 3)
)
FD
)
(write-line
(strcat (dd stt)
(dd gocbang)
" "
(rtos canhb 2 3)
)
FD
)
)
) ;end progn
) ;end cond3
((= sosanh "SS")
(progn
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq stt (substr PR i (- j i 1)))
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccguong (substr PR i (- j i 2)))
(setq tam "ss")
) ;end progn
) ;end cond4
)
) ;end progn
) ;end while
(close FN)
(close FD)
(princ "\n")
(princ "\nOK!")
(princ)
)
------------------------------------------------------------------------------------------------------------------------------------------------------------------
;******chuong trinh phun diem mia cho file duoc che bien tu may TOPCON 223**********
; DUNG CHO BAN DO DIA CHINH *
;* TR DCII-04 1014424.593 516275.846 *
;* TR DCII-07 1014339.861 516213.914 *
;* TR DCII-03 1014491.054 516180.297 *
;* TR DCII-06 1014670.141 516433.592 *
;* TR DCTI-04 *
;* DH DCII-03 *
;* 1 355.1447 66.896 *
;* 2 355.1519 47.576 *
;* 3 1.4545 48.375 *
;************************************************************************
(defun c:pdm (/ tam ms PR FN thunhat
tentram caodotram xtram ytram htram
tentrammay tendh
)
(bdau)
(setq tam ())
(setq ms (getreal "Nhap vao mau so ty le : "))
(setq
FN (getfiled "NhËp file nguån : "
""
""
4
)
)
(progn
(command "-osnap" "")
(setvar "cmdecho" 0)
(setvar "luprec" 8)
(setvar "pdmode" 0)
(command "-layer" "m" "diem" "c" "red" "" "")
; (command "-layer" "m" "caodo" "c" "cyan" "" "")
(command "-layer" "m" "sothutu" "c" "magenta" "" "")
(command "-layer" "m" "khongche" "c" "red" "" "")
(setq st (/ ms 1000))
(setq st1 st)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
(setq FN (open FN "r"))
(while (and (setq PR (read-line FN)) (/= PR ""))
(progn
(setq PR (strcat "(" PR ")"))
(setq PR (read PR))
(setq thunhat (nth 0 PR))
(if
(numberp thunhat)
(gapsoA)
(gaptramA)
)
) ;end progn
) ;end while
) ;end progn
;;;;;ket thuc viet lenh
(close FN)
(command "zoom" "e")
(kthuc)
(princ "\nVAY LA XONG!)*****")
(princ)
)
(defun gaptramA (/ x y)
(setq thunhat (convtostr thunhat))
(if (= thunhat "TR")
(progn
(setq ktra (nth 3 PR))
(if (/= ktra nil) ;GAP TRAM CHUA TOA DO GOC
(progn
(setq tentram (convtostr (nth 1 PR)))
(setq Y (nth 2 PR))
(setq X ktra)
; (setq h (nth 4 PR))
(setq tam (append tam (list (list tentram x y ))))
) ;GAP TRAM DO THUC TE
(progn
(setq tentrammay (convtostr (nth 1 PR)))
; (if (/= (nth 2 PR) nil)
; (setq caodotram (nth 2 PR))
; (setq caodotram 0)
; )
(laytdgoc tentrammay)
(setq tdtram1 (list (+ xtram (* 2 st)) ytram ))
(setq xxtram xtram)
(setq yytram ytram)
(setq tdtram (list xtram ytram))
(command "-layer" "s" "khongche" "")
;(command "point" tdtram)
(command "insert" "cdkc" tdtram st st "")
(setq sss (strlen tentrammay))
(setq tdtram2 (list (+ xtram (* 2 st) );(* (/ sss 2) st))
(- ytram (* 0.65 st))
)
)
; (command "insert"
; "l"
; tdtram1
; (* st sss)
; (* st sss)
; ""
; )
(command "-style"
"mota"
"txt.shx"
st
"1"
"0"
"n"
"n"
"n"
)
(command "text" "j" "bl" tdtram1 "" tentrammay)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
; (command "-layer" "s" "khongche" "")
; (command "text" "j" "tl" tdtram2 "" (rtos htram 2 2))
)
)
) ;end progn
(if (= thunhat "DH") ;else
(progn
(setq tendh (convtostr (nth 1 PR)))
(laytdgoc tendh)
(setq tddh (list xtram ytram ))
(setq tddh1 (list (+ xtram (* 2 st)) ytram ))
(command "-layer" "s" "khongche" "")
(command "insert" "cdkc" tddh st st "")
;(command "point" tddh)
(setq sss (strlen tendh))
(setq tddh2 (list (+ xtram (* 2 st)); (* (/ sss 2) st))
(- ytram (* 0.65 st))
)
)
;(command "insert"
; "l"
; tddh1
; (* st sss)
; (* st sss)
; ""
;)[/size][/font]
[font=Arial][size=2](command "-style"
"mota"
"txt.shx"
st
"1"
"0"
"n"
"n"
"n"
)
(command "text" "j" "bl" tddh1 "" tendh)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
; (command "-layer" "s" "khongche" "")
; (command "text" "j" "tl" tddh2 "" (rtos htram 2 1))
)
)
)
)
(defun gapsoA (/ gocbang kc goctd tdx tdy tdz td dentah)
(setq gocbang (nth 1 PR))
(setq kc (nth 2 PR))
; (setq dentah (nth 3 PR))
(setq gocbang (dpgtod gocbang))
(setq gocbang (- 360 gocbang))
(setq gocbang (+ (/ (* gocbang pi) 180) (angle tdtram tddh)))
(setq tdX (+ xxtram (* kc (cos gocbang))))
(setq tdY (+ yytram (* kc (sin gocbang))))
; (if (/= dentah nil)
; (setq tdz (+ caodotram (nth 2 tdtram) dentah))
; (setq tdz 0)
; )
(setq td (list tdx tdy))
(setq td1 (list (+ tdx (* 0.5 st)) (+ tdy (* 0.3 st)) ))
(setq td2 (list (+ tdx (* 0.5 st)) (- tdy (* 0.3 st)) ))
(command "-layer" "s" "diem" "")
;(command "insert" "cdc" td st st "")
(command "point" td)
(command "-style"
"mota"
"txt.shx"
(* st 2)
"1"
"0"
"n"
"n"
"n"
)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
(command "-layer" "s" "sothutu" "")
(command "text" td "" thunhat)
; (command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
; (command "-layer" "s" "caodo" "")
; (command "text" "tl" td "" (rtos tdz 2 1))
)
------------------------------------------------------------------------------------
chuong trinh tinh toa do diem dua vao goc va canh nhap vao
(defun c:vl () ;/ diemgoc diemdh goc canh)
(bdau)
(command "-layer" "m" "veluoi" "c" "cyan" "" "")
(command "-layer" "m" "point" "c" "red" "" "")
(command "-layer" "m" "text" "c" "yellow" "" "")
(setq diemgoc (getpoint "\nChon diem goc : "))
(setq diemdh (getpoint "\nChon diem dinh huong : "))
(setq goc (getreal "\nNhap goc(do.phutgiay) : "))
(setq canh (getreal "\nNhap chieu dai canh : "))
(setq tendiem (getstring "Nhap ten diem : "))
(setq goc2 (dpgtod goc))
(setq goc1 (/ (* goc2 pi) 180))
(setq gocbang (- (* 2 pi) goc1))
(setq gocbang (+ gocbang (angle diemgoc diemdh)))
(setq x1 (nth 0 diemgoc))
(setq y1 (nth 1 diemgoc))
(setq x2 (nth 0 diemdh))
(setq y2 (nth 1 diemdh))
(setq x3 (+ x1 (* canh (cos gocbang))))
(setq y3 (+ y1 (* canh (sin gocbang))))
(setq td3 (list x3 y3))
(command "-layer" "s" "point" "")
(command "point" td3)
(command "-layer" "s" "veluoi" "")
(command "line" diemgoc td3 "")
(command "-layer" "s" "text" "")
(command "-style" "mota" "txt.shx" 2 "1" "0" "n" "n" "n")
(command "text" td3 "" tendiem)
(kthuc)
)
------------------------------------------------------------------------------------
; CHUONG TRINH LAY TOA DO 1 DIEM SAP XEP THEO X : Y : Z XUAT TRANG TEXT
(defun C:TM (/ DIEM)
(command "osnap" "endpoint")
(setq DIEM (getpoint "Chon tram may can lay toa do"))
(princ "\n TOA DO TRAM MAY: ")
(princ (rtos (cadr DIEM) 2 3))
(princ " ")
(princ (rtos (car DIEM) 2 3))
(princ " ")
(princ (rtos (caddr DIEM) 2 3))
(princ)
) ;END DEFUN
---------------------------------------------------------------------------------------


  • 0

#2 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 11 March 2012 - 10:53 PM

- hiện tại em phải dùng 5 thao tác riêng biệt để xuất được các điểm đo ra ngoài màn hình AutoCAD là:
1: Dùng lệnh chế biến File (CB) để chế biến File từ dạng thô của máy đo sang File tọa độ góc, cạnh dạng .TXT
2; Dùng lệnh phun điểm mia (PDM) để phun tọa độ ra ngoài màn hình AutoCAD.
3: Dùng lệnh vẽ lưới (VL) để xác định góc cạnh, tọa độ của trạm máy.
4: Dùng lệnh lấy trạm máy ™ để lấy tọa độ của trạm máy.
5: Sau đó mới dùng lệnh phun điểm mia (PDM) để phun tọa độ ra ngoài màn hình AutoCAD.

Nhờ các anh em trên diễn đàn giúp em hoàn thiện lisp phun tọa độ lên màn hình Autocad là gộp các lisp riêng lẻ thành 1 lệnh chế biến (CB) với nội dung như sau:
Mở AutoCAD ra và gõ lệnh chế biến (CB) sau đó tìm đến đường dẫn chứa File thô trút số liệu từ máy đo ra là có thể xuất tọa độ điểm đo ra ngoài màn hình và chỉ việc nối các điểm mia là xong mà không phải thực hiện từng thao tác như trước nữa!

Còn nếu khó và phức tạp quá thì có thể giúp em gộp bước 1 và 2 thành 1 ở trên để phun điểm mia ra và tự làm các bước còn lại theo cách thủ công như cũ.
Cảm ơn các anh em rất nhiều!
ĐÂY LÀ CODE CẦN ANH EM SỬA GIÚP:

C[font=Arial][size=2]

[/size][/font][/size][/font]
[font=Arial][size=2] ;******\\\\\\\\\**chuong trinh che bien cho may TOPCON 223*********\\\\\\\\\\\\\\*********////////
;khong dung chenh cao, chi su dung de thanh lap ban do dia chinh
(defun c:cb (/ ch i FN FD sosanh j trammay
ccmay tramdh ccguong canhng hm hg goctd
canhb gocdung cd dem tam
)
(setq
FN (getfiled "NhËp file nguån : "
""
""
4
)
)
(setq i (strlen FN))
(setq ch "")
(while (/= ch "\\")
(setq ch (substr FN i 1))
(setq i (- i 1))
)
(setq xuat (substr FN 1 (+ i 1)))
(setq FD (getstring "Nhap ten file ket qua : "))
(setq FD (strcat xuat FD))
(setq FD (open FD "w"))
; (setq mo (getreal "Nhap sai so MO cua may (giay) : "))
(if (= mo nil)
(progn (setq mo 0)
(princ "\n")
(princ " Lay MO=0")
(princ "\n")
)
)
(setq mo (/ mo 3600))
(setq FN (open FN "r"))
(while (and (setq PR (read-line FN)) (/= PR ""))
(progn
(setq i 1)
(setq sosanh "")
(setq ch "")
(while (/= ch " ")
(setq ch (substr PR i 1))
(setq i (+ i 1))
)
(setq sosanh (substr PR 1 (- i 2)))
(cond ((= sosanh "STN")
(progn
;///////////////////////lay ten tram may//////////
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq trammay (substr PR i (- j i 1)))
;//////////////////////lay chieu cao may/////////
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccmay (substr PR i (- j i 2)))
(write-line (strcat "TR " trammay) FD)
) ;end progn
) ;end cond1
((= sosanh "BS")
(progn
;///////////////////////lay ten tram dinh huong//////////
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq tramdh (substr PR i (- j i 1)))
;//////////////////////lay chieu cao guong/////////
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccguong (substr PR i (- j i 2)))
(setq tam "bs")
) ;end progn
) ;end cond2
((= sosanh "SD")
(progn
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (= ch " ")
(setq i j)
)
)
(setq gocbang (substr PR i (- j i 1)))
;///////////////////////////////
(setq i j)
(setq j (+ j 2))
(setq ch "")
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq goctd (substr PR i (- j i 1)))
;////////////////////////////////
(setq i j)
(setq j (+ j 2))
(setq ch " ")
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq canhng (substr PR i (- j i 1)))
;/////////////////////////////////////
(setq hg (atof ccguong))
(setq hm (atof ccmay))
(setq gocdung (- (- 90.0 (dpgtod (atof goctd))) mo))
(setq gocdung (/ (* gocdung pi) 180))
(setq canhng (atof canhng))
(setq canhb (* canhng (cos gocdung)))
(setq h (+ (- hg hm) (* canhng (sin gocdung))))
(setq cd (strlen gocbang))
(setq i cd)
(setq dem 0)
(setq ch "")
(while (/= ch ".")
(setq ch (substr gocbang i 1))
(setq i (- i 1))
(setq dem (+ dem 1))
)
(if (= dem 6)
(setq gocbang (substr gocbang 1 (- cd 1)))
)
(if (= tam "bs")
(write-line
(strcat "DH "
(dd tramdh)
(dd gocbang)
" "
(rtos canhb 2 3)
)
FD
)
(write-line
(strcat (dd stt)
(dd gocbang)
" "
(rtos canhb 2 3)
)
FD
)
)
) ;end progn
) ;end cond3
((= sosanh "SS")
(progn
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq stt (substr PR i (- j i 1)))
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccguong (substr PR i (- j i 2)))
(setq tam "ss")
) ;end progn
) ;end cond4
)
) ;end progn
) ;end while
(close FN)
(close FD)
(princ "\n")
(princ "\nOK!")
(princ)
)
------------------------------------------------------------------------------------------------------------------------------------------------------------------
;******chuong trinh phun diem mia cho file duoc che bien tu may TOPCON 223**********
; DUNG CHO BAN DO DIA CHINH *
;* TR DCII-04 1014424.593 516275.846 *
;* TR DCII-07 1014339.861 516213.914 *
;* TR DCII-03 1014491.054 516180.297 *
;* TR DCII-06 1014670.141 516433.592 *
;* TR DCTI-04 *
;* DH DCII-03 *
;* 1 355.1447 66.896 *
;* 2 355.1519 47.576 *
;* 3 1.4545 48.375 *
;************************************************************************
(defun c:pdm (/ tam ms PR FN thunhat
tentram caodotram xtram ytram htram
tentrammay tendh
)
(bdau)
(setq tam ())
(setq ms (getreal "Nhap vao mau so ty le : "))
(setq
FN (getfiled "NhËp file nguån : "
""
""
4
)
)
(progn
(command "-osnap" "")
(setvar "cmdecho" 0)
(setvar "luprec" 8)
(setvar "pdmode" 0)
(command "-layer" "m" "diem" "c" "red" "" "")
; (command "-layer" "m" "caodo" "c" "cyan" "" "")
(command "-layer" "m" "sothutu" "c" "magenta" "" "")
(command "-layer" "m" "khongche" "c" "red" "" "")
(setq st (/ ms 1000))
(setq st1 st)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
(setq FN (open FN "r"))
(while (and (setq PR (read-line FN)) (/= PR ""))
(progn
(setq PR (strcat "(" PR ")"))
(setq PR (read PR))
(setq thunhat (nth 0 PR))
(if
(numberp thunhat)
(gapsoA)
(gaptramA)
)
) ;end progn
) ;end while
) ;end progn
;;;;;ket thuc viet lenh
(close FN)
(command "zoom" "e")
(kthuc)
(princ "\nVAY LA XONG!)*****")
(princ)
)
(defun gaptramA (/ x y)
(setq thunhat (convtostr thunhat))
(if (= thunhat "TR")
(progn
(setq ktra (nth 3 PR))
(if (/= ktra nil) ;GAP TRAM CHUA TOA DO GOC
(progn
(setq tentram (convtostr (nth 1 PR)))
(setq Y (nth 2 PR))
(setq X ktra)
; (setq h (nth 4 PR))
(setq tam (append tam (list (list tentram x y ))))
) ;GAP TRAM DO THUC TE
(progn
(setq tentrammay (convtostr (nth 1 PR)))
; (if (/= (nth 2 PR) nil)
; (setq caodotram (nth 2 PR))
; (setq caodotram 0)
; )
(laytdgoc tentrammay)
(setq tdtram1 (list (+ xtram (* 2 st)) ytram ))
(setq xxtram xtram)
(setq yytram ytram)
(setq tdtram (list xtram ytram))
(command "-layer" "s" "khongche" "")
;(command "point" tdtram)
(command "insert" "cdkc" tdtram st st "")
(setq sss (strlen tentrammay))
(setq tdtram2 (list (+ xtram (* 2 st) );(* (/ sss 2) st))
(- ytram (* 0.65 st))
)
)
; (command "insert"
; "l"
; tdtram1
; (* st sss)
; (* st sss)
; ""
; )
(command "-style"
"mota"
"txt.shx"
st
"1"
"0"
"n"
"n"
"n"
)
(command "text" "j" "bl" tdtram1 "" tentrammay)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
; (command "-layer" "s" "khongche" "")
; (command "text" "j" "tl" tdtram2 "" (rtos htram 2 2))
)
)
) ;end progn
(if (= thunhat "DH") ;else
(progn
(setq tendh (convtostr (nth 1 PR)))
(laytdgoc tendh)
(setq tddh (list xtram ytram ))
(setq tddh1 (list (+ xtram (* 2 st)) ytram ))
(command "-layer" "s" "khongche" "")
(command "insert" "cdkc" tddh st st "")
;(command "point" tddh)
(setq sss (strlen tendh))
(setq tddh2 (list (+ xtram (* 2 st)); (* (/ sss 2) st))
(- ytram (* 0.65 st))
)
)
;(command "insert"
; "l"
; tddh1
; (* st sss)
; (* st sss)
; ""
;)[/size][/font]
[font=Arial][size=2](command "-style"
"mota"
"txt.shx"
st
"1"
"0"
"n"
"n"
"n"
)
(command "text" "j" "bl" tddh1 "" tendh)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
; (command "-layer" "s" "khongche" "")
; (command "text" "j" "tl" tddh2 "" (rtos htram 2 1))
)
)
)
)
(defun gapsoA (/ gocbang kc goctd tdx tdy tdz td dentah)
(setq gocbang (nth 1 PR))
(setq kc (nth 2 PR))
; (setq dentah (nth 3 PR))
(setq gocbang (dpgtod gocbang))
(setq gocbang (- 360 gocbang))
(setq gocbang (+ (/ (* gocbang pi) 180) (angle tdtram tddh)))
(setq tdX (+ xxtram (* kc (cos gocbang))))
(setq tdY (+ yytram (* kc (sin gocbang))))
; (if (/= dentah nil)
; (setq tdz (+ caodotram (nth 2 tdtram) dentah))
; (setq tdz 0)
; )
(setq td (list tdx tdy))
(setq td1 (list (+ tdx (* 0.5 st)) (+ tdy (* 0.3 st)) ))
(setq td2 (list (+ tdx (* 0.5 st)) (- tdy (* 0.3 st)) ))
(command "-layer" "s" "diem" "")
;(command "insert" "cdc" td st st "")
(command "point" td)
(command "-style"
"mota"
"txt.shx"
(* st 2)
"1"
"0"
"n"
"n"
"n"
)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
(command "-layer" "s" "sothutu" "")
(command "text" td "" thunhat)
; (command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
; (command "-layer" "s" "caodo" "")
; (command "text" "tl" td "" (rtos tdz 2 1))
)
------------------------------------------------------------------------------------
chuong trinh tinh toa do diem dua vao goc va canh nhap vao
(defun c:vl () ;/ diemgoc diemdh goc canh)
(bdau)
(command "-layer" "m" "veluoi" "c" "cyan" "" "")
(command "-layer" "m" "point" "c" "red" "" "")
(command "-layer" "m" "text" "c" "yellow" "" "")
(setq diemgoc (getpoint "\nChon diem goc : "))
(setq diemdh (getpoint "\nChon diem dinh huong : "))
(setq goc (getreal "\nNhap goc(do.phutgiay) : "))
(setq canh (getreal "\nNhap chieu dai canh : "))
(setq tendiem (getstring "Nhap ten diem : "))
(setq goc2 (dpgtod goc))
(setq goc1 (/ (* goc2 pi) 180))
(setq gocbang (- (* 2 pi) goc1))
(setq gocbang (+ gocbang (angle diemgoc diemdh)))
(setq x1 (nth 0 diemgoc))
(setq y1 (nth 1 diemgoc))
(setq x2 (nth 0 diemdh))
(setq y2 (nth 1 diemdh))
(setq x3 (+ x1 (* canh (cos gocbang))))
(setq y3 (+ y1 (* canh (sin gocbang))))
(setq td3 (list x3 y3))
(command "-layer" "s" "point" "")
(command "point" td3)
(command "-layer" "s" "veluoi" "")
(command "line" diemgoc td3 "")
(command "-layer" "s" "text" "")
(command "-style" "mota" "txt.shx" 2 "1" "0" "n" "n" "n")
(command "text" td3 "" tendiem)
(kthuc)
)
------------------------------------------------------------------------------------
; CHUONG TRINH LAY TOA DO 1 DIEM SAP XEP THEO X : Y : Z XUAT TRANG TEXT
(defun C:TM (/ DIEM)
(command "osnap" "endpoint")
(setq DIEM (getpoint "Chon tram may can lay toa do"))
(princ "\n TOA DO TRAM MAY: ")
(princ (rtos (cadr DIEM) 2 3))
(princ " ")
(princ (rtos (car DIEM) 2 3))
(princ " ")
(princ (rtos (caddr DIEM) 2 3))
(princ)
) ;END DEFUN
---------------------------------------------------------------------------------------[/size][/font]

[font=Arial][size=2]


  • 0

#3 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 12 March 2012 - 06:48 AM

File đầu vào đầu ra, ảnh minh họa của bạn đâu ?
  • 1

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 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 12 March 2012 - 09:42 AM


Hề hề hề,
1/- Nếu bạn muốn có lisp mới thì hãy làm như bác ketxu nói. Gửi bản vẽ đầu vào và đầu ra lên, may ra có người giúp được bạn.
2/- Nếu vẫn muốn xài đồ cũ thì đơn giản chỉ là bạn biến các đoạn code cũ thành các function con rồi nhét chung nó vào một lệnh là được.
Tỷ như đoạn code:

(defun c:cb (/ ch i FN FD sosanh j trammay
ccmay tramdh ccguong canhng hm hg goctd
canhb gocdung cd dem tam
)
(setq
FN (getfiled "NhËp file nguån : "
""
""
4
)
)
(setq i (strlen FN))
(setq ch "")
(while (/= ch "\\")
(setq ch (substr FN i 1))
(setq i (- i 1))
)
(setq xuat (substr FN 1 (+ i 1)))
(setq FD (getstring "Nhap ten file ket qua : "))
(setq FD (strcat xuat FD))
(setq FD (open FD "w"))
; (setq mo (getreal "Nhap sai so MO cua may (giay) : "))
(if (= mo nil)
(progn (setq mo 0)
(princ "\n")
(princ " Lay MO=0")
(princ "\n")
)
)
(setq mo (/ mo 3600))
(setq FN (open FN "r"))
(while (and (setq PR (read-line FN)) (/= PR ""))
(progn
(setq i 1)
(setq sosanh "")
(setq ch "")
(while (/= ch " ")
(setq ch (substr PR i 1))
(setq i (+ i 1))
)
(setq sosanh (substr PR 1 (- i 2)))
(cond ((= sosanh "STN")
(progn
;///////////////////////lay ten tram may//////////
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq trammay (substr PR i (- j i 1)))
;//////////////////////lay chieu cao may/////////
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccmay (substr PR i (- j i 2)))
(write-line (strcat "TR " trammay) FD)
) ;end progn
) ;end cond1
((= sosanh "BS")
(progn
;///////////////////////lay ten tram dinh huong//////////
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq tramdh (substr PR i (- j i 1)))
;//////////////////////lay chieu cao guong/////////
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccguong (substr PR i (- j i 2)))
(setq tam "bs")
) ;end progn
) ;end cond2
((= sosanh "SD")
(progn
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (= ch " ")
(setq i j)
)
)
(setq gocbang (substr PR i (- j i 1)))
;///////////////////////////////
(setq i j)
(setq j (+ j 2))
(setq ch "")
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq goctd (substr PR i (- j i 1)))
;////////////////////////////////
(setq i j)
(setq j (+ j 2))
(setq ch " ")
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq canhng (substr PR i (- j i 1)))
;/////////////////////////////////////
(setq hg (atof ccguong))
(setq hm (atof ccmay))
(setq gocdung (- (- 90.0 (dpgtod (atof goctd))) mo))
(setq gocdung (/ (* gocdung pi) 180))
(setq canhng (atof canhng))
(setq canhb (* canhng (cos gocdung)))
(setq h (+ (- hg hm) (* canhng (sin gocdung))))
(setq cd (strlen gocbang))
(setq i cd)
(setq dem 0)
(setq ch "")
(while (/= ch ".")
(setq ch (substr gocbang i 1))
(setq i (- i 1))
(setq dem (+ dem 1))
)
(if (= dem 6)
(setq gocbang (substr gocbang 1 (- cd 1)))
)
(if (= tam "bs")
(write-line
(strcat "DH "
(dd tramdh)
(dd gocbang)
" "
(rtos canhb 2 3)
)
FD
)
(write-line
(strcat (dd stt)
(dd gocbang)
" "
(rtos canhb 2 3)
)
FD
)
)
) ;end progn
) ;end cond3
((= sosanh "SS")
(progn
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq stt (substr PR i (- j i 1)))
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccguong (substr PR i (- j i 2)))
(setq tam "ss")
) ;end progn
) ;end cond4
)
) ;end progn
) ;end while
(close FN)
(close FD)
(princ "\n")
(princ "\nOK!")
(princ)
)
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bạn hãy thử làm như sau:
a/- bỏ các ký tự c: phía sau defun đi dể thành:

(defun cb (/ ch i FN FD sosanh j trammay
ccmay tramdh ccguong canhng hm hg goctd
canhb gocdung cd dem tam
)
(setq
FN (getfiled "NhËp file nguån : "
""
""
4
)
)
(setq i (strlen FN))
(setq ch "")
(while (/= ch "\\")
(setq ch (substr FN i 1))
(setq i (- i 1))
)
(setq xuat (substr FN 1 (+ i 1)))
(setq FD (getstring "Nhap ten file ket qua : "))
(setq FD (strcat xuat FD))
(setq FD (open FD "w"))
; (setq mo (getreal "Nhap sai so MO cua may (giay) : "))
(if (= mo nil)
(progn (setq mo 0)
(princ "\n")
(princ " Lay MO=0")
(princ "\n")
)
)
(setq mo (/ mo 3600))
(setq FN (open FN "r"))
(while (and (setq PR (read-line FN)) (/= PR ""))
(progn
(setq i 1)
(setq sosanh "")
(setq ch "")
(while (/= ch " ")
(setq ch (substr PR i 1))
(setq i (+ i 1))
)
(setq sosanh (substr PR 1 (- i 2)))
(cond ((= sosanh "STN")
(progn
;///////////////////////lay ten tram may//////////
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq trammay (substr PR i (- j i 1)))
;//////////////////////lay chieu cao may/////////
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccmay (substr PR i (- j i 2)))
(write-line (strcat "TR " trammay) FD)
) ;end progn
) ;end cond1
((= sosanh "BS")
(progn
;///////////////////////lay ten tram dinh huong//////////
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq tramdh (substr PR i (- j i 1)))
;//////////////////////lay chieu cao guong/////////
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccguong (substr PR i (- j i 2)))
(setq tam "bs")
) ;end progn
) ;end cond2
((= sosanh "SD")
(progn
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (= ch " ")
(setq i j)
)
)
(setq gocbang (substr PR i (- j i 1)))
;///////////////////////////////
(setq i j)
(setq j (+ j 2))
(setq ch "")
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq goctd (substr PR i (- j i 1)))
;////////////////////////////////
(setq i j)
(setq j (+ j 2))
(setq ch " ")
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq canhng (substr PR i (- j i 1)))
;/////////////////////////////////////
(setq hg (atof ccguong))
(setq hm (atof ccmay))
(setq gocdung (- (- 90.0 (dpgtod (atof goctd))) mo))
(setq gocdung (/ (* gocdung pi) 180))
(setq canhng (atof canhng))
(setq canhb (* canhng (cos gocdung)))
(setq h (+ (- hg hm) (* canhng (sin gocdung))))
(setq cd (strlen gocbang))
(setq i cd)
(setq dem 0)
(setq ch "")
(while (/= ch ".")
(setq ch (substr gocbang i 1))
(setq i (- i 1))
(setq dem (+ dem 1))
)
(if (= dem 6)
(setq gocbang (substr gocbang 1 (- cd 1)))
)
(if (= tam "bs")
(write-line
(strcat "DH "
(dd tramdh)
(dd gocbang)
" "
(rtos canhb 2 3)
)
FD
)
(write-line
(strcat (dd stt)
(dd gocbang)
" "
(rtos canhb 2 3)
)
FD
)
)
) ;end progn
) ;end cond3
((= sosanh "SS")
(progn
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq stt (substr PR i (- j i 1)))
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccguong (substr PR i (- j i 2)))
(setq tam "ss")
) ;end progn
) ;end cond4
)
) ;end progn
) ;end while
(close FN)
(close FD)
(princ "\n")
(princ "\nOK!")
(princ)
)
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sau đó gõ thêm các dòng code sau đây và load chạy thủ xem có khác gì không nhé.
(defun c:test ()
(cb)
)

3/- Nếu bạn thấy nó Ok thì cứ bổn cũ soạn lại với các đoạn code lệnh còn lại và nhét chung nó vào trong hàm C:test là sẽ có cái lệnh test chạy tất cả các hàm con của bạn thôi.

Chúc thành công
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#5 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 12 March 2012 - 06:19 PM

Cảm ơn bác ketxu và phanthanhbinh đã quan tâm!
- Em dùng đoạn code gộp của bác phanthanhbinh nó vẫn chạy lisp nhưng khi lưu kết quả thì không có gì trong file vừa lưu!
- Em gửi file solieu thô khi trút từ máy đo, solieu đã chế biến sơ và solieu sau khi phun điểm tạm để vẽ lưới lấy tọa độ lưu vào file đã xử lý rồi phun ra điểm mia địa chính (Kèm theo bản vẽ sau khi xử lý xong)
Rất cần các anh em giúp đỡ để có thể thực hiện 1 công đoạn cho ra bản vẽ 1!http://www.cadviet.c...89068_banve.rar
  • 0

#6 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 13 March 2012 - 09:25 PM

các bác giúp em với hoặc có cái nào có thể giải quyết được tương tự cũng được!
  • 0

#7 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 14 March 2012 - 08:44 AM

Bước 2 và 5 giống nhau hả bạn :mellow:
Theo bác Bình dạy thì bạn cứ soạn file (k cần sửa tên nhé)

(defun c:chay()


(c:cb) ;1
(c:pdm) ;2
(c:vl) ;3
(c:tm) ;4
(c:pdm) ;5
)


rồi copy tất cả các mã vào trong file này => load + chạy lệnh chay
  • 1

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


#8 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 14 March 2012 - 12:15 PM

Cảm ơn bác ketxu và phanthanhbinh đã quan tâm!
- Em dùng đoạn code gộp của bác phanthanhbinh nó vẫn chạy lisp nhưng khi lưu kết quả thì không có gì trong file vừa lưu!
- Em gửi file solieu thô khi trút từ máy đo, solieu đã chế biến sơ và solieu sau khi phun điểm tạm để vẽ lưới lấy tọa độ lưu vào file đã xử lý rồi phun ra điểm mia địa chính (Kèm theo bản vẽ sau khi xử lý xong)
Rất cần các anh em giúp đỡ để có thể thực hiện 1 công đoạn cho ra bản vẽ 1!http://www.cadviet.c...89068_banve.rar


Cảm ơn bác ketxu và phanthanhbinh đã quan tâm!
- Em dùng đoạn code gộp của bác phanthanhbinh nó vẫn chạy lisp nhưng khi lưu kết quả thì không có gì trong file vừa lưu!
- Em gửi file solieu thô khi trút từ máy đo, solieu đã chế biến sơ và solieu sau khi phun điểm tạm để vẽ lưới lấy tọa độ lưu vào file đã xử lý rồi phun ra điểm mia địa chính (Kèm theo bản vẽ sau khi xử lý xong)
Rất cần các anh em giúp đỡ để có thể thực hiện 1 công đoạn cho ra bản vẽ 1!http://www.cadviet.c...89068_banve.rar

Hề hề hề,
Bạn dùng đoạn code của mình thì nó chả ra cái gì là đúng rùi, bởi vì mình chỉ làm ví dụ cho một lệnh của bạn . trong khi muốn ra cái gì thì bạn phải chạy tới 4-5 lệnh chi đó cơ mà.
Bạn phải áp dụng cách đó cho tất cả các lệnh của bạn và nhét nó vào chung trong một lệnh mới hy vọng có kết quả chứ,
Hãy đọc kỹ bài của mình và bác ketxu và làm thử coi sao nhé. Mình tin rằng nếu bạn làm đúng thì sẽ có cái lệnh chạy gộp mà không phải chạy riêng từng lệnh một như trước. Thực chất vẫn là sử dụng các lisp bạn đã post nên nếu nó không ra kết quả gì thì bạn cần check lại các lisp đã post.
Vì mình không phải dân chuyên ngành của bạn nên đọc nó cũng như mù dở, vậy nên chỉ có thể nói lý thuyết suông như vầy, mong bạn chớ chấp trách làm chi...
Hề hề hề,....
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#9 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 14 March 2012 - 10:37 PM

anh ketxu ơi, đúng là cái lisp của em nó có vấn để rồi. mấy bưa trước vẫn chạy vô tư, không hiểu sao gần đây chạy không được. không biết có con virut nào nó nhẩy vào can thiệp không nưa, anh giúp em sửa lỗi với.
nó bị lỗi như sau:

Command: cb
Nhap ten file ket qua : SOLIEUDAXULY.TXT
; error: no function definition: DPGTOD
  • 0

#10 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 14 March 2012 - 11:10 PM

Không tìm thấy hàm DPGTOD
Bạn dùng chương trình search nội dung (defun DPGTOD để tìm nội dung hàm đó cho vào lisp của bạn
  • 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


#11 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 15 March 2012 - 07:02 AM

Em thấy trong đó có đoạn : (setq gocdung (- (- 90.0 (dpgtod (atof goctd))) mo))
search nội dung (defun DPGTOD để tìm nội dung hàm đó cho vào lisp cả trên diễn đàn và google mà không có hàm đó.
nếu anh có cho và sửa cho em với! :)
  • 0

#12 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 15 March 2012 - 11:02 AM


Em thấy trong đó có đoạn : (setq gocdung (- (- 90.0 (dpgtod (atof goctd))) mo))
search nội dung (defun DPGTOD để tìm nội dung hàm đó cho vào lisp cả trên diễn đàn và google mà không có hàm đó.
nếu anh có cho và sửa cho em với! :)

Hề hề hề.
1/- Các lisp trên bạn đã tùng chạy được trên máy của bạn hay chạy ở đâu??? Nếu chạy được ở đâu thì chứng tỏ trên máy đó có cái function dpgtod mà bạn bị thiếu. hãy tìm cái function này ngay trên cái máy đó chứ còn trên google hay trên diễn đàn thì mình e không thấy được đâu. Lý do là vì các lisp đó của bạn do người viết làm ra để sử dụng riêng cho một mục tiêu đã định chứ không hẳn là để public. Vậy nên các function có thể cũng được đặt theo cái hứng của người viết mà chỉ họ mới hiểu thôi. Trên các diễn đàn pulic thường ít có những của độc như vậy bạn ạ.
2/- Cứ theo như mình đoán thì cái function này là để chuyển đổi cái goctd thành một góc chi đó có liên quan tới việc tính toán gocdung. Do vậy bằng vào kinh nghiệm nghề nghiệp của bạn có thể suy luận ra được cái function này cần phải ra sao. Từ đó bạn thử viết lại nó và đem ra dùng thử xem có như ý không?
Do mình là dân ngoại ngạch nên chả hiểu gì về mối liên quan giữa biến gocdung và biến goctd cả. Vậy nên không thể giúp bạn hơn được, chỉ nói lên cái cách nghĩ của mình để bạn tham khảo thôi.

Chúc bạn thành công.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#13 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 15 March 2012 - 12:33 PM

oh đúng là phức tạp thật bác phamthanhbinh nhỉ. thực ra em cũng chẳng hiểu gì về lisp nhưng khi chuyển qua lĩnh vực đo đạc thì em thấy nó bổ trợ cho công việc khá tốt.
- anh bạn cùng làm đã cài cho em cái chương trình đó trước khi cái máy của em bị virut và phải cài lại. bầy giờ anh đó đã chuyển công tác và em thì không liên hệ được với anh đó.
- em cần cái lisp nào có thể giải quyết được công việc của em nó đơn giản hơn mà dễ sử dụng theo số liệu em trút từ máy đo như lúc đầu em gửi.
nhờ các anh em giúp em với.
  • 0

#14 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 16 March 2012 - 10:29 PM

Em tìm thấy hàm (defun DPGTOD rồi nhưng vẫn không được vậy bác ketxu nhỉ?

;******\\\\\\\\\**chuong trinh che bien cho may TOPCON 223*********\\\\\\\\\\\\\\*********////////
;khong dung chenh cao, chi su dung de thanh lap ban do dia chinh
(defun c:chay()
(c:cb) ;1
(c:pdm) ;2
(c:vl) ;3
(c:tm) ;4
(c:pdm) ;5
)
(defun c:cb (/ ch i FN FD sosanh j trammay
ccmay tramdh ccguong canhng hm hg goctd
canhb gocdung cd dem tam
)
(setq
FN (getfiled "NhËp file nguån : "
""
""
4
)
)
(setq i (strlen FN))
(setq ch "")
(while (/= ch "\\")
(setq ch (substr FN i 1))
(setq i (- i 1))
)
(setq xuat (substr FN 1 (+ i 1)))
(setq FD (strcat (getstring "Nhap ten file ket qua (khong can .txt): ") ".txt" ) )
(setq FD (strcat xuat FD))
(setq FD (open FD "w"))
; (setq mo (getreal "Nhap sai so MO cua may (giay) : "))
(if (= mo nil)
(progn (setq mo 0)
(princ "\n")
(princ " Lay MO=0")
(princ "\n")
)
)
(setq mo (/ mo 3600))
(setq FN (open FN "r"))
(while (and (setq PR (read-line FN)) (/= PR ""))
(progn
(setq i 1)
(setq sosanh "")
(setq ch "")
(while (/= ch " ")
(setq ch (substr PR i 1))
(setq i (+ i 1))
)
(setq sosanh (substr PR 1 (- i 2)))
(cond ((= sosanh "STN")
(progn
;///////////////////////lay ten tram may//////////
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq trammay (substr PR i (- j i 1)))
;//////////////////////lay chieu cao may/////////
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccmay (substr PR i (- j i 2)))
(write-line (strcat "TR " trammay) FD)
) ;end progn
) ;end cond1
((= sosanh "BS")
(progn
;///////////////////////lay ten tram dinh huong//////////
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq tramdh (substr PR i (- j i 1)))
;//////////////////////lay chieu cao guong/////////
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccguong (substr PR i (- j i 2)))
(setq tam "bs")
) ;end progn
) ;end cond2
((= sosanh "SD")
(progn
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (= ch " ")
(setq i j)
)
)
(setq gocbang (substr PR i (- j i 1)))
;///////////////////////////////
(setq i j)
(setq j (+ j 2))
(setq ch "")
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq goctd (substr PR i (- j i 1)))
;////////////////////////////////
(setq i j)
(setq j (+ j 2))
(setq ch " ")
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq canhng (substr PR i (- j i 1)))
;/////////////////////////////////////
(setq hg (atof ccguong))
(setq hm (atof ccmay))
(setq gocdung (- (- 90.0 (dpgtod (atof goctd))) mo))
(setq gocdung (/ (* gocdung pi) 180))
(setq canhng (atof canhng))
(setq canhb (* canhng (cos gocdung)))
(setq h (+ (- hg hm) (* canhng (sin gocdung))))
(setq cd (strlen gocbang))
(setq i cd)
(setq dem 0)
(setq ch "")
(while (/= ch ".")
(setq ch (substr gocbang i 1))
(setq i (- i 1))
(setq dem (+ dem 1))
)
(if (= dem 6)
(setq gocbang (substr gocbang 1 (- cd 1)))
)
(if (= tam "bs")
(write-line
(strcat "DH "
(dd tramdh)
(dd gocbang)
" "
(rtos canhb 2 3)
)
FD
)
(write-line
(strcat (dd stt)
(dd gocbang)
" "
(rtos canhb 2 3)
)
FD
)
)
) ;end progn
) ;end cond3
((= sosanh "SS")
(progn
(setq j i)
(while (/= ch ",")
(setq ch (substr PR j 1))
(setq j (+ j 1))
(if (or (= ch "`") (= ch " "))
(setq i j)
)
)
(setq stt (substr PR i (- j i 1)))
(setq i j)
(while (/= ch "")
(setq ch (substr PR j 1))
(setq j (+ j 1))
)
(setq ccguong (substr PR i (- j i 2)))
(setq tam "ss")
) ;end progn
) ;end cond4
)
) ;end progn
) ;end while
(close FN)
(close FD)
(princ "\n")
(princ "\nOK!")
(princ)
)
------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------
;******chuong trinh phun diem mia cho file duoc che bien tu may TOPCON 223**********
; DUNG CHO BAN DO DIA CHINH *
;* TR DCII-04 1014424.593 516275.846 *
;* TR DCII-07 1014339.861 516213.914 *
;* TR DCII-03 1014491.054 516180.297 *
;* TR DCII-06 1014670.141 516433.592 *
;* TR DCTI-04 *
;* DH DCII-03 *
;* 1 355.1447 66.896 *
;* 2 355.1519 47.576 *
;* 3 1.4545 48.375 *
;************************************************************************
(defun c:pdm (/ tam ms PR FN thunhat
tentram caodotram xtram ytram htram
tentrammay tendh
)
(bdau)
(setq tam ())
(setq ms (getreal "Nhap vao mau so ty le : "))
(setq
FN (getfiled "NhËp file nguån : "
""
""
4
)
)
(progn
(command "-osnap" "")
(setvar "cmdecho" 0)
(setvar "luprec" 8)
(setvar "pdmode" 0)
(command "-layer" "m" "diem" "c" "red" "" "")
; (command "-layer" "m" "caodo" "c" "cyan" "" "")
(command "-layer" "m" "sothutu" "c" "magenta" "" "")
(command "-layer" "m" "khongche" "c" "red" "" "")
(setq st (/ ms 1000))
(setq st1 st)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
(setq FN (open FN "r"))
(while (and (setq PR (read-line FN)) (/= PR ""))
(progn
(setq PR (strcat "(" PR ")"))
(setq PR (read PR))
(setq thunhat (nth 0 PR))
(if
(numberp thunhat)
(gapsoA)
(gaptramA)
)
) ;end progn
) ;end while
) ;end progn
;;;;;ket thuc viet lenh
(close FN)
(command "zoom" "e")
(kthuc)
(princ "\nVAY LA XONG!)*****")
(princ)
)
(defun gaptramA (/ x y)
(setq thunhat (convtostr thunhat))
(if (= thunhat "TR")
(progn
(setq ktra (nth 3 PR))
(if (/= ktra nil) ;GAP TRAM CHUA TOA DO GOC
(progn
(setq tentram (convtostr (nth 1 PR)))
(setq Y (nth 2 PR))
(setq X ktra)
; (setq h (nth 4 PR))
(setq tam (append tam (list (list tentram x y ))))
) ;GAP TRAM DO THUC TE
(progn
(setq tentrammay (convtostr (nth 1 PR)))
; (if (/= (nth 2 PR) nil)
; (setq caodotram (nth 2 PR))
; (setq caodotram 0)
; )
(laytdgoc tentrammay)
(setq tdtram1 (list (+ xtram (* 2 st)) ytram ))
(setq xxtram xtram)
(setq yytram ytram)
(setq tdtram (list xtram ytram))
(command "-layer" "s" "khongche" "")
;(command "point" tdtram)
(command "insert" "cdkc" tdtram st st "")
(setq sss (strlen tentrammay))
(setq tdtram2 (list (+ xtram (* 2 st) );(* (/ sss 2) st))
(- ytram (* 0.65 st))
)
)
; (command "insert"
; "l"
; tdtram1
; (* st sss)
; (* st sss)
; ""
; )
(command "-style"
"mota"
"txt.shx"
st
"1"
"0"
"n"
"n"
"n"
)
(command "text" "j" "bl" tdtram1 "" tentrammay)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
; (command "-layer" "s" "khongche" "")
; (command "text" "j" "tl" tdtram2 "" (rtos htram 2 2))
)
)
) ;end progn
(if (= thunhat "DH") ;else
(progn
(setq tendh (convtostr (nth 1 PR)))
(laytdgoc tendh)
(setq tddh (list xtram ytram ))
(setq tddh1 (list (+ xtram (* 2 st)) ytram ))
(command "-layer" "s" "khongche" "")
(command "insert" "cdkc" tddh st st "")
;(command "point" tddh)
(setq sss (strlen tendh))
(setq tddh2 (list (+ xtram (* 2 st)); (* (/ sss 2) st))
(- ytram (* 0.65 st))
)
)
;(command "insert"
; "l"
; tddh1
; (* st sss)
; (* st sss)
; ""
;)
(command "-style"
"mota"
"txt.shx"
st
"1"
"0"
"n"
"n"
"n"
)
(command "text" "j" "bl" tddh1 "" tendh)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
; (command "-layer" "s" "khongche" "")
; (command "text" "j" "tl" tddh2 "" (rtos htram 2 1))
)
)
)
)
(defun gapsoA (/ gocbang kc goctd tdx tdy tdz td dentah)
(setq gocbang (nth 1 PR))
(setq kc (nth 2 PR))
; (setq dentah (nth 3 PR))
(setq gocbang (dpgtod gocbang))
(setq gocbang (- 360 gocbang))
(setq gocbang (+ (/ (* gocbang pi) 180) (angle tdtram tddh)))
(setq tdX (+ xxtram (* kc (cos gocbang))))
(setq tdY (+ yytram (* kc (sin gocbang))))
; (if (/= dentah nil)
; (setq tdz (+ caodotram (nth 2 tdtram) dentah))
; (setq tdz 0)
; )
(setq td (list tdx tdy))
(setq td1 (list (+ tdx (* 0.5 st)) (+ tdy (* 0.3 st)) ))
(setq td2 (list (+ tdx (* 0.5 st)) (- tdy (* 0.3 st)) ))
(command "-layer" "s" "diem" "")
;(command "insert" "cdc" td st st "")
(command "point" td)
(command "-style"
"mota"
"txt.shx"
(* st 2)
"1"
"0"
"n"
"n"
"n"
)
(command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
(command "-layer" "s" "sothutu" "")
(command "text" td "" thunhat)
; (command "-style" "mota" "txt.shx" st1 "1" "0" "n" "n" "n")
; (command "-layer" "s" "caodo" "")
; (command "text" "tl" td "" (rtos tdz 2 1))
)
------------------------------------------------------------------------------------
chuong trinh tinh toa do diem dua vao goc va canh nhap vao
(defun c:vl () ;/ diemgoc diemdh goc canh)
(bdau)
(command "-layer" "m" "veluoi" "c" "cyan" "" "")
(command "-layer" "m" "point" "c" "red" "" "")
(command "-layer" "m" "text" "c" "yellow" "" "")
(setq diemgoc (getpoint "\nChon diem goc : "))
(setq diemdh (getpoint "\nChon diem dinh huong : "))
(setq goc (getreal "\nNhap goc(do.phutgiay) : "))
(setq canh (getreal "\nNhap chieu dai canh : "))
(setq tendiem (getstring "Nhap ten diem : "))
(setq goc2 (dpgtod goc))
(setq goc1 (/ (* goc2 pi) 180))
(setq gocbang (- (* 2 pi) goc1))
(setq gocbang (+ gocbang (angle diemgoc diemdh)))
(setq x1 (nth 0 diemgoc))
(setq y1 (nth 1 diemgoc))
(setq x2 (nth 0 diemdh))
(setq y2 (nth 1 diemdh))
(setq x3 (+ x1 (* canh (cos gocbang))))
(setq y3 (+ y1 (* canh (sin gocbang))))
(setq td3 (list x3 y3))
(command "-layer" "s" "point" "")
(command "point" td3)
(command "-layer" "s" "veluoi" "")
(command "line" diemgoc td3 "")
(command "-layer" "s" "text" "")
(command "-style" "mota" "txt.shx" 2 "1" "0" "n" "n" "n")
(command "text" td3 "" tendiem)
(kthuc)
)
------------------------------------------------------------------------------------
; CHUONG TRINH LAY TOA DO 1 DIEM SAP XEP THEO X : Y : Z XUAT TRANG TEXT
(defun C:TM (/ DIEM)
(command "osnap" "endpoint")
(setq DIEM (getpoint "Chon tram may can lay toa do"))
(princ "\n TOA DO TRAM MAY: ")
(princ (rtos (cadr DIEM) 2 3))
(princ " ")
(princ (rtos (car DIEM) 2 3))
(princ " ")
(princ (rtos (caddr DIEM) 2 3))
(princ)
) ;END DEFUN
---------------------------------------------------------------------------------------
CHUONG TRINH CON:
---------------------------------------------------------------------------------------
(defun c:thuhoi (/ tenfile tenfile1 timfile dodaichuoi)
(setq dodaichuoi (strlen (getvar "dwgname")))
(setq tenfile1 (strcat (substr (getvar "dwgname") 1 (- dodaichuoi 3)) "xls"))
(setq tenfile (strcat (getvar "dwgprefix") (getvar "dwgname")))
(setq timfile (findfile (strcat (getvar "dwgprefix") tenfile1)))
(if (/= timfile nil)
(vl-file-delete timfile)
)
;(command "-eattext" "" "n" "n" "C:\\Program Files\\thuhoi.blk" "X" tenfile);Ghi file nhung bo bot vai cot
(command "-eattext" "" "n" "n" "" "X" tenfile);Ghi file nhung khong bo bot cot
)
(defun laytdgoc (tentrammay / len i sosanh)
(setq len (length tam))
(setq i 0)
(setq j 0)
(while (< i len)
(progn
(setq sosanh (car (nth i tam)))
(if (= tentrammay sosanh)
(progn
(setq j (+ j 1))
(setq xtram (cadr (nth i tam)))
(setq ytram (caddr (nth i tam)))
(if (/= (cadddr (nth i tam)) nil)
(setq htram (cadddr (nth i tam)))
(setq htram 0.0)
)
)
(progn
(if (= j 0)
(progn
(setq xtram 0)
(setq ytram 0)
(setq htram 0)
)
)
)
)
(setq i (+ i 1))
)
)
)
(defun ConvtoStr (Sym)
(setq ftemp "temp.tmp")
(setq ftmp (open ftemp "w"))
(princ Sym ftmp)
(close ftmp)
(setq ftmp (open ftemp "r"))
(setq sym (read-line ftmp))
(close ftmp)
(princ sym)
)
(defun *error* (msg)
(princ "\nerror:")
(princ msg)
(command "osmode" h "")
(command "_.undo" "end")
(command "clayer" clay)
(command "u" "")
(alert " - - - - ha ha ha- - - -"
)
(setq *error* olderr)
(princ)
)
(defun bdau ()
;(setq FNr "c:\\program files\\sr.txt")
;(setq FNr (open FNr "r"))
;(setq PRr (read-line FNr))
;(if (/= PRr "0909.446.887")
;(alert "VAY LA OK!" )

;)
;(close FNr)
(command "_.undo" "begin")
(setq cmd (getvar "cmdecho"))
(setq plwid (getvar "plinewid"))
(setq elev (getvar "elevation"))
(setq thick (getvar "thickness"))
(setq hh (getvar "osmode"))
(setq clay (getvar "clayer"))
)
(defun kthuc ()
(command "plinewid" plwid)
(command "elevation" elev)
(command "thickness" thick)
(command "osmode" hh)
(command "_.undo" "end")
(command "clayer" clay)
(command "cmdecho" cmd)
)
(defun dpgtod (nhap / do phut giay)
(setq do (fix nhap))
(setq phut (fix (* (- nhap do) 100)))
(setq giay (* (- (* (- nhap do) 100) phut) 100))
(setq xuat (+ do (/ (* phut 1.0) 60) (/ giay 3600)))
)
(defun dtodpg (nhap / do phut giay)
(setq do (fix nhap))
(setq phut (fix (* (- nhap do) 60)))
(setq giay (* (- (* (- nhap do) 60) phut) 60))
(setq xuat (strcat (rtos do 2 0) "." (rtos phut 2 0) (rtos giay 2 0)))
)
(defun dd (nhap)
(setq len (strlen nhap))
(cond ((= len 1) (setq xuat (strcat nhap " ")))
((= len 2) (setq xuat (strcat nhap " ")))
((= len 3) (setq xuat (strcat nhap " ")))
((= len 4) (setq xuat (strcat nhap " ")))
((= len 5) (setq xuat (strcat nhap " ")))
((= len 6) (setq xuat (strcat nhap " ")))
((= len 7) (setq xuat (strcat nhap " ")))
((= len 8) (setq xuat (strcat nhap " ")))
((= len 9) (setq xuat (strcat nhap " ")))
((= len 10) (setq xuat (strcat nhap " ")))
((= len 11) (setq xuat (strcat nhap "")))
; ((= len 12) (setq xuat (strcat nhap " ")))
; ((= len 13) (setq xuat (strcat nhap " ")))
; ((= len 14) (setq xuat (strcat nhap " ")))
; ((= len 15) (setq xuat (strcat nhap " ")))
; ((= len 16) (setq xuat (strcat nhap " ")))
; ((= len 17) (setq xuat (strcat nhap " ")))
; ((= len 18) (setq xuat (strcat nhap " ")))
; ((= len 19) (setq xuat (strcat nhap " ")))
; ((= len 20) (setq xuat (strcat nhap " ")))
; ((= len 21) (setq xuat (strcat nhap "")))
)
)
(defun dd1 (nhap)
(setq len (strlen nhap))
(cond ((= len 1) (setq xuat (strcat nhap " ")))
((= len 2) (setq xuat (strcat nhap " ")))
((= len 3) (setq xuat (strcat nhap " ")))
((= len 4) (setq xuat (strcat nhap " ")))
((= len 5) (setq xuat (strcat nhap " ")))
((= len 6) (setq xuat (strcat nhap " ")))
((= len 7) (setq xuat (strcat nhap " ")))
((= len 8) (setq xuat (strcat nhap " ")))
((= len 9) (setq xuat (strcat nhap " ")))
((= len 10) (setq xuat (strcat nhap " ")))
((= len 11) (setq xuat (strcat nhap " ")))
((= len 12) (setq xuat (strcat nhap " ")))
((= len 13) (setq xuat (strcat nhap " ")))
((= len 14) (setq xuat (strcat nhap " ")))
((= len 15) (setq xuat (strcat nhap " ")))
((= len 16) (setq xuat (strcat nhap " ")))
((= len 17) (setq xuat (strcat nhap " ")))
((= len 18) (setq xuat (strcat nhap " ")))
((= len 19) (setq xuat (strcat nhap " ")))
((= len 20) (setq xuat (strcat nhap " ")))
((= len 21) (setq xuat (strcat nhap "")))
)
)

KHI CHẠY ĐẾN BƯỚC PHUN ĐIỂM MIA THÌ NÓ HIỆN LÊN DÒNG NÀY LÀ SAO ANH NHỈ:

Command: chay
Nhap ten file ket qua (khong can .txt): hoanchinh


OK!Nhap vao mau so ty le : 200
Regenerating model.
TRA
error:bad argument type: numberp: nil
Requires an integer between 0 and 32767.
; error: An error has occurred inside the *error* functionFunction cancelled

Enter new value for OSMODE <0>:
NÓ KHÔNG PHUN ĐIỂM RA NGOÀI MÀN HÌNH ANH Ạ
  • 0

#15 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 16 March 2012 - 10:39 PM

Cái đấy bạn phải hỏi người viết thôi :)
  • 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


#16 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 16 March 2012 - 11:26 PM

em cũng chỉ xin từ anh cùng làm bưa trước, nhưng giờ anh chuyển đi về sài gòn rồi mà em thì không liên hệ được.
em mới đi làm lên không có kinh nghiệm gì cả, chỉ là cầm ghương cho máy anh đứng máy đọc. em rất muốn được làm thoăn thoắt như máy anh sử lý trên máy tinh, nhưng toàn phải học lỏm thôi!
hay anh giúp em được không a? em biết anh không có nhiều thời gian cho nội dung của em nhưng em rất cảm kích khi anh quan tâm đến vấn đề nhỏ mà to với em!
có file số liệu thô trút từ máy đo làm thế nào để xử lý phun điểm mia ra màn hình 1 cách nhanh nhất được anh nhỉ (ngoài cách em đã hỏi) anh có thể giúp được em chứ? em rất trân thành cảm ơn anh!
đây là file số liệu trút từ máy đo topcom:
http://www.cadviet.c...8_solieutho.txt
  • 0

#17 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 17 March 2012 - 07:30 AM

em cũng chỉ xin từ anh cùng làm bưa trước, nhưng giờ anh chuyển đi về sài gòn rồi mà em thì không liên hệ được.
em mới đi làm lên không có kinh nghiệm gì cả, chỉ là cầm ghương cho máy anh đứng máy đọc. em rất muốn được làm thoăn thoắt như máy anh sử lý trên máy tinh, nhưng toàn phải học lỏm thôi!
hay anh giúp em được không a? em biết anh không có nhiều thời gian cho nội dung của em nhưng em rất cảm kích khi anh quan tâm đến vấn đề nhỏ mà to với em!
có file số liệu thô trút từ máy đo làm thế nào để xử lý phun điểm mia ra màn hình 1 cách nhanh nhất được anh nhỉ (ngoài cách em đã hỏi) anh có thể giúp được em chứ? em rất trân thành cảm ơn anh!
đây là file số liệu trút từ máy đo topcom:
http://www.cadviet.c...8_solieutho.txt

Dưới đây là trích 1 đoạn trong file *.txt của bạn:
STN A,1.435
BS 1,1.500
SD 51.03490,102.36530,2.7350
SS 2,1.500
SD 71.47490,112.56090,1.4990
SS 3,1.500
Bây giờ bạn muốn xuất chỉ những giá trị SD (màu xanh) ra thành từng điểm trên Cad phải không?
  • 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.


#18 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1359 (rất tốt)

Đã gửi 17 March 2012 - 07:48 AM

Cái vụ viết lisp tạo point tuừ file số liệu thì tin rằng cadviet mình nhiều người viết được nhưng vấn đề ở đây ko đơn giản như vậy. Mình là KTS thình thoảng có đi thực địa với các bác ấy nên có biết chút lý thuyết về công tác ngoại nghiệp và nọi nghiệp của các bác như sau.
-Trước tiên là lập lưới đường truyền, mổi nút là 1 trạm máy khoảng cách các nút tùy cấp địa hình hoặc độ che khuất tầm nhìn.
-Tại các trạm máy khi đo thì số liệu tính theo trạm máy đó.
-Thường lưới đường truyền sẽ được khép vòng tròn quay lại điểm đầu.
-Khi nhập số liệu vào máy căn cứ vào sơ đồ đường truyền và số liệu của từng trạm máy mà bắn point ra màn hình, còn có công tác bình sai, nghĩa là sau khi giáp vòng và cao độ 2 trạm máy bị lệch thì phải tinh chỉnh co phù hợp.

-Chưa kể điểm mia có nhiều loại: chỉ thể hiện cao độ tại điểm, vị trí cây, vị trí nhà, ranh giới đường .v.v. theo mổi loại người đứng máy cho nó 1 ký hiệu riêng khi bắn point lên cad còn phải thể hiện ký hiệu này nửa rồi tùy kiểu mà gắn block ký hiệu hoặc nối nét thành địa vật (căn cứ vào sơ họa hiện trường nửa).

-Công tác này cơ quan mình dùng gói TKK của hài hòa gói này hình như ko khóa làm tất tật các việc lên bản vẽ địa hình kể cả chạy đường đồng mức.

-Muốn từ bỏ vai trì đi mia để làm anh nội nghiệp thì bạn phải tự học sử dụng chương trình chuyên nghành. Nếu cq ko có mà muốn dùng lisp do người khác viết thì việc đầu tiên bạn phải dạy người ta cách làm thủ công người ta mới công nghiệp hóa nó cho bạn chứ bảo người ta tự học khâu thủ công xong công nghiệp hóa bạn chỉ việc ném số liệu vào thì tới già bạn cũng ko hiểu gì công việc của mình. Hay là ta cứ vác mia đi vậy.
  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#19 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 17 March 2012 - 07:56 AM

Cái vụ viết lisp tạo point tuừ file số liệu thì tin rằng cadviet mình nhiều người viết được nhưng vấn đề ở đây ko đơn giản như vậy. Mình là KTS thình thoảng có đi thực địa với các bác ấy nên có biết chút lý thuyết về công tác ngoại nghiệp và nọi nghiệp của các bác như sau.
-Trước tiên là lập lưới đường truyền, mổi nút là 1 trạm máy khoảng cách các nút tùy cấp địa hình hoặc độ che khuất tầm nhìn.
-Tại các trạm máy khi đo thì số liệu tính theo trạm máy đó.
-Thường lưới đường truyền sẽ được khép vòng tròn quay lại điểm đầu.
-Khi nhập số liệu vào máy căn cứ vào sơ đồ đường truyền và số liệu của từng trạm máy mà bắn point ra màn hình, còn có công tác bình sai, nghĩa là sau khi giáp vòng và cao độ 2 trạm máy bị lệch thì phải tinh chỉnh co phù hợp.

-Công tác này cơ quan mình dùng gói TKK của hài hòa gói này hình như ko khóa làm tất tật các việc lên bản vẽ địa hình kể cả chạy đường đồng mức.

-Muốn từ bỏ vai trì đi mia để làm anh nội nghiệp thì bạn phải tự học sử dụng chương trình chuyên nghành. Nếu cq ko có mà muốn dùng lisp do người khác viết thì việc đầu tiên bạn phải dạy người ta cách làm thủ công người ta mới công nghiệp hóa nó cho bạn chứ bảo người ta tự học khâu thủ công xong công nghiệp hóa bạn chỉ việc ném số liệu vào thì tới già bạn cũng ko hiểu gì công việc của mình. Hay là ta cứ vác mia đi vậy.

Hề! Hề! Hề!
Dân ngoại đạo nên hỏi vậy, té ra trật lất ý đồ của chủ topic rồi. Cái này là lỗi của... chủ topic vậy.
  • 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.


#20 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 995 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 17 March 2012 - 06:32 PM

Mình cũng làm nghề Trắc Địa 1 thời gian rồi nhưng tôi thấy rất đơn giản. Đừng lơị dụng Autolisp quá nhiều. Vấn đề của chủ Topic đưa ra chỉ là xử lý tinh số liệu tinh và cho vào Cad. Nhiều thao tác trên Lisp nhiều quá dẫn đến sai mà ko tìm được đâu. Mình thích Excel. Sau đó cho vào Cad đơn giản. Mình là dân chính gốc chuyên ngành Địa Chính
  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn