Đế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

#21 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 18 March 2012 - 11:24 PM

Trong nội dung trả lời #14 em chạy đoạn đầu của lisp: chay thấy ok. nó đã lưu ra 1 file do mình đặt tên là hoanchinh.txt (tức là file số liệu thô đã được chuyển thành các trạm máy, điểm mia ra góc và cạnh). đúng ra chương trình sẽ tiếp tục chạy và phun điểm mia ra màn hình nếu như file số liệu hoanchinh.txt nó được khai báo các trạm máy lên trên hoặc ít nhất 2 trạm máy thì nó sẽ phun điểm mia ra màn hình rồi. Nó sẽ phải có file số liệu hoanchinh.txt như sau:
TR A 1000.0000 1000.0000 (TR A và TR B phải khai báo ở trên đây nó mới hiểu và chạy)
TR B 1013.225 1000.000 (TR A và TR B có thể cho tọa độ giả định cũng được và nó mặc định luôn 2 trạm máy này ở trên đây khi lưu file hoanchinh.txt của các xử lý đo khác!)
TR A
DH B 359.5958 13.225
1 159.2151 12.830
2 173.3153 10.333
3 176.1120 7.545
4 160.0905 8.767
5 161.2952 6.784
6 287.2502 1.664
7 92.3453 1.446
8 9.0236 8.322
9 356.0835 8.282
10 348.2042 7.823
11 353.2437 13.805
12 267.2044 8.623
13 268.1017 12.724
14 263.1002 17.713
TR B
DH A 0.0000 13.225
15 57.1949 10.382
16 64.2908 14.114
17 79.5016 20.308
18 123.4920 7.380
19 139.5210 7.830
.................................
các anh có thể sửa giúp em trong cái lisp chế biến (CB) nó mặc định luôn dòng:
TR A 1000.0000 1000.0000
TR B 1200.0000 1000.0000
sau đó nó sẽ nối tiếp là các số liệu đo lưu bình thường là

TR A
DH B 359.5958 13.225
1 159.2151 12.830
2 173.3153 10.333
3 176.1120 7.545
4 160.0905 8.767
...............................
vậy coi như là số liệu đã ổn và phun ra màn hình!

  • 0

#22 tran ngoc nga

tran ngoc nga

    biết zoom

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

Đã gửi 07 July 2012 - 10:49 AM

Yêu cầu cty mua phần mềm luôn đi bạn, có cả tính san nền nữa
  • 0

#23 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 07 July 2012 - 09:45 PM

Trong nội dung trả lời #14 em chạy đoạn đầu của lisp: chay thấy ok. nó đã lưu ra 1 file do mình đặt tên là hoanchinh.txt (tức là file số liệu thô đã được chuyển thành các trạm máy, điểm mia ra góc và cạnh). đúng ra chương trình sẽ tiếp tục chạy và phun điểm mia ra màn hình nếu như file số liệu hoanchinh.txt nó được khai báo các trạm máy lên trên hoặc ít nhất 2 trạm máy thì nó sẽ phun điểm mia ra màn hình rồi. Nó sẽ phải có file số liệu hoanchinh.txt như sau:
TR A 1000.0000 1000.0000 (TR A và TR B phải khai báo ở trên đây nó mới hiểu và chạy)
TR B 1013.225 1000.000 (TR A và TR B có thể cho tọa độ giả định cũng được và nó mặc định luôn 2 trạm máy này ở trên đây khi lưu file hoanchinh.txt của các xử lý đo khác!)
TR A
DH B 359.5958 13.225
1 159.2151 12.830
2 173.3153 10.333
3 176.1120 7.545
4 160.0905 8.767
5 161.2952 6.784
6 287.2502 1.664
7 92.3453 1.446
8 9.0236 8.322
9 356.0835 8.282
10 348.2042 7.823
11 353.2437 13.805
12 267.2044 8.623
13 268.1017 12.724
14 263.1002 17.713
TR B
DH A 0.0000 13.225
15 57.1949 10.382
16 64.2908 14.114
17 79.5016 20.308
18 123.4920 7.380
19 139.5210 7.830
.................................
các anh có thể sửa giúp em trong cái lisp chế biến (CB) nó mặc định luôn dòng:
TR A 1000.0000 1000.0000
TR B 1200.0000 1000.0000
sau đó nó sẽ nối tiếp là các số liệu đo lưu bình thường là

TR A
DH B 359.5958 13.225
1 159.2151 12.830
2 173.3153 10.333
3 176.1120 7.545
4 160.0905 8.767
...............................
vậy coi như là số liệu đã ổn và phun ra màn hình!

Thế bạn có hiểu đc số liệu ở đây nó nói cái gì kg. Có nhiều cách để xử lý số liệu đo đạc và nhiều chương trình làm việc này với nhiều định dạng khác nhau. Nếu chưa hiểu, tốt nhất bạn nên làm việc với một người có kinh nghiệm và cố gắng học hỏi để tránh những sai lầm có thể xảy ra, Nếu hiểu rồi bạn có thể tìm những chương trình miễn phí phục vụ công việc này trên trang tracdiaviet.com và tracdiacongtrinh.com sau đó ứng dụng cho phù hợp với công việc của bạn.
Nếu chưa tìm đc chương trình tốt hơn hoặc bạn có thể tham khảo một đoạn CT ở đây để làm tạm (trang #14) :
http://www.cadviet.c...showtopic=64807
Bạn cũng có thể sd chương trình sau để bình sai và xử lý số liệu trong khi chưa tìm đc chương trình tốt hơn (rất nhiều trên mạng) : http://www.cadviet.c...170_binhsai.rar
Để sd bạn phải có kiến thức tối thiểu về trắc địa mặc dù nó dể sd
Ghi chú : Bạn hãy đổi tên file ltd.e thành ltd.exe để chạy
  • 1

#24 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 07 July 2012 - 11:09 PM

Thế bạn có hiểu đc số liệu ở đây nó nói cái gì kg. Có nhiều cách để xử lý số liệu đo đạc và nhiều chương trình làm việc này với nhiều định dạng khác nhau. Nếu chưa hiểu, tốt nhất bạn nên làm việc với một người có kinh nghiệm và cố gắng học hỏi để tránh những sai lầm có thể xảy ra, Nếu hiểu rồi bạn có thể tìm những chương trình miễn phí phục vụ công việc này trên trang tracdiaviet.com và tracdiacongtrinh.com sau đó ứng dụng cho phù hợp với công việc của bạn.
Nếu chưa tìm đc chương trình tốt hơn hoặc bạn có thể tham khảo một đoạn CT ở đây để làm tạm (trang #14) :
http://www.cadviet.c...showtopic=64807
Bạn cũng có thể sd chương trình sau để bình sai và xử lý số liệu trong khi chưa tìm đc chương trình tốt hơn (rất nhiều trên mạng) : http://www.cadviet.c...170_binhsai.rar
Để sd bạn phải có kiến thức tối thiểu về trắc địa mặc dù nó dể sd
Ghi chú : Bạn hãy đổi tên file ltd.e thành ltd.exe để chạy

Cảm ơn bác TRUNGNGAMY em sẽ thử cách của bác!
  • 0

#25 thanhduan2407

thanhduan2407

    biết lệnh adcenter

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

Đã gửi 08 July 2012 - 10:55 AM

http://www.4shared.c...hduan2407.html?
Gửi tặng bạn dùng cái này để xử lý số liệu.
Giải nén và copy 2 file OCX vào C:\WINDOWS\system32
Chạy chương trình PrjMain
Bạn tìm hiểu các file số liệu đầu vào và đầu ra trong mẫu số liệu thử rồi xem cách thức.
Cái này lập trình chơi thôi.
  • 1



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







#26 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 08 July 2012 - 11:23 PM

http://www.4shared.c...nhduan2407.html
Gửi tặng bạn dùng cái này để xử lý số liệu.
Giải nén và copy 2 file OCX vào C:\WINDOWS\system32
Chạy chương trình PrjMain
Bạn tìm hiểu các file số liệu đầu vào và đầu ra trong mẫu số liệu thử rồi xem cách thức.
Cái này lập trình chơi thôi.

bác thanhduan2407 ơi, sao em doaw về không được bác a! bác gửi lại giúp em với, cảm ơn bác nhiều!
  • 0

#27 thanhduan2407

thanhduan2407

    biết lệnh adcenter

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

Đã gửi 08 July 2012 - 11:33 PM

Xin lỗi bạn. Không hiểu tại sao ý. Hii
Đây bạn
http://www.4shared.c...hduan2407.html?
  • 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







#28 ro88

ro88

    biết vẽ arc

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

Đã gửi 08 January 2013 - 10:34 PM


;----------------------------------------------------------------------------
;;; COMMAND: RD
;;; This command read datafile & draw line with elevation
;;; Datafile structure : North East Height
;----------------------------------------------------------------------------
(if (not ai_utils)(load "ai_utils"))
(if (not my_utils)(load "my_utils"))
;----------------------------------------------------------------------------
(defun strltrim (s)
(cond
((eq s "") s)
((or(= " " (substr s 1 1))(= " " (substr s 1 1))) s)
(t (strltrim (substr s 2)))
)
)
(defun tabltrim (s)
(cond
((eq s "") s)
((or(= " " (substr s 1 1))(= " " (substr s 1 1))) (tabltrim (substr s 2)))
(t s)
)
)
;----------------------------------------------------------------------------
;; Subfunction for change 1 data-line to list
(defun linetopoint(line)
(setq y (read line)
line (tabltrim line)
line (strltrim line)
x (read line)
line (strltrim (tabltrim line))
z (read line)
)
(setq point (list x y z))
)
;;;-----------------------------------------------
;; Subfunction for read data from 1 file and change to list
(defun read_fs()
(setq dlist nil)
(setq datafile (GETFILED "TUAN - Select data-file " (GETVAR "dwgprefix") "*" 2))
(setq filename datafile)
(princ (strcat "\nPlease, wait!. READ & DRAW is reading data from " filename))
(if (setq f (open filename "r"))
(progn
(while (setq pl (read-line f))
(setq p (linetopoint pl) dlist (cons p dlist))
)
(close f)
)
)
(reverse dlist)
)
;---------------------------------------------------
;(defun C:van ( / li)
; (rd nil)
; (princ)
;)
(defun c:van ( / li n i li htext)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(Setq ts (tblsearch "STYLE" (GETVAR "TEXTSTYLE")))
(setq tsize (cdr(assoc '40 ts)))
(INITGET +3)
(if (= tsize 0)(setq h (getreal "\nHeigth of text :"))(setq h tsize))
(initget)
(setq tr (getreal "\nRotation of text <0>:"))
(if (= tr nil) (setq tr 0))
;-------------------------------------------
(initget "y n Y N")
(setq yn (getkword "\nDo you want to draw in 3D <y/n> ?<y>"))
(if (= yn nil)(setq yn "Y"))
(if (= (strcase yn) "N")(setq yn "N")(setq yn "Y"))
;-------------------------------------------
;(initget "y n Y N")
;(setq ynl (getkword "\nDo you want to connect each to other <y/n> ?<y>"))
;(if (= ynl nil)(setq ynl "Y"))
;(if (= (strcase ynl) "N")(setq ynl "N")(setq ynl "Y"))
;-------------------------------------------
;(initget "y n Y N")
;(setq ynd (getkword "\nDo you want to insert donut at each point <y/n> ?<y>"))
;(if (= ynd nil)(setq ynd "Y"))
;(if (= (strcase ynd) "N")(setq ynd "N")(setq ynd "Y"))
;-------------------------------------------
;(initget "y n Y N")
;(setq ynC (getkword "\nDo you want to insert coconut at each point <y/n> ?<y>"))
;(if (= ynC nil)(setq ynC "Y"))
;(if (= (strcase ynC) "N")(setq ynC "N")(setq ynC "Y"))
;-------------------------------------------
;(initget "y n Y N")
;(setq ynTD (getkword "\nDo you want to insert TD at each point <y/n> ?<y>"))
;(if (= ynTD nil)(setq ynTD "Y"))
;(if (= (strcase ynTD) "N")(setq ynTD "N")(setq ynTD "Y"))
;-------------------------------------------
;(initget "y n Y N")
;(setq ynCL (getkword "\nDo you want to insert CL at each point <y/n> ?<y>"))
;(if (= ynCL nil)(setq ynCL "Y"))
;(if (= (strcase ynCL) "N")(setq ynCL "N")(setq ynCL "Y"))
;-------------------------------------------
(setq tb (* h 0.50))
(setq li (read_fs) n (length li) i -1 ipold (list 0 0 0))
;(print li)
(ai_undo_on) ; Turn UNDO on
(command "_.UNDO" "_GROUP")
(setq o_osmode (getvar "osmode"))
(setvar "osmode" 0)
;(COMMAND "insert" "DONUT" "0,0")
(command)
(repeat n
(setq i (1+ i) ip (nth i li) htext (zrtos (last ip) 2))
(setq ip1 (list (car ip) (cadr ip) 0.00))
(setq zi (atof htext))
(cond
((and( > zi 1000)(< zi 2000))(command "insert" "bienbao" ip1 tb tb 0))
((and( > zi 2000)(< zi 3000))(command "insert" "buiram" ip1 tb tb 0))
((and( > zi 3000)(< zi 4000))(command "insert" "cayanqua" ip1 tb tb 0))
((and( > zi 4000)(< zi 5000))(command "insert" "caycothu" ip1 tb tb 0))
((and( > zi 5000)(< zi 6000))(command "insert" "caydua" ip1 tb tb 0))
((and( > zi 6000)(< zi 7000))(command "insert" "caylua" ip1 tb tb 0))
((and( > zi 7000)(< zi 8000))(command "insert" "caymia" ip1 tb tb 0))
((and( > zi 8000)(< zi 9000))(command "insert" "caynhon" ip1 tb tb 0))
((and( > zi 9000)(< zi 10000))(command "insert" "caythong" ip1 tb tb 0))
((and( > zi 10000)(< zi 11000))(command "insert" "caytre" ip1 tb tb 0))
((and( > zi 11000)(< zi 12000))(command "insert" "cocchuyen" ip1 tb tb 0))
((and( > zi 12000)(< zi 13000))(command "insert" "dadoclap" ip1 tb tb 0))
((and( > zi 13000)(< zi 14000))(command "insert" "g1" ip1 tb tb 0))
((and( > zi 14000)(< zi 15000))(command "insert" "g2" ip1 tb tb 0))
((and( > zi 15000)(< zi 16000))(command "insert" "g3" ip1 tb tb 0))
((and( > zi 16000)(< zi 17000))(command "insert" "g4" ip1 tb tb 0))
((and( > zi 17000)(< zi 18000))(command "insert" "g5" ip1 tb tb 0))
((and( > zi 18000)(< zi 19000))(command "insert" "gieng" ip1 tb tb 0))
((and( > zi 19000)(< zi 20000))(command "insert" "hoamau" ip1 tb tb 0))
((and( > zi 20000)(< zi 21000))(command "insert" "leduong" ip1 tb tb 0))
((and( > zi 21000)(< zi 22000))(command "insert" "moma" ip1 tb tb 0))
((and( > zi 22000)(< zi 23000))(command "insert" "rao" ip1 tb tb 0))
((and( > zi 23000)(< zi 24000))(command "insert" "raumau" ip1 tb tb 0))
((and( > zi 24000)(< zi 25000))(command "insert" "sl" ip1 tb tb 0))
((and( > zi 25000)(< zi 26000))(command "insert" "t1" ip1 tb tb 0))
((and( > zi 26000)(< zi 27000))(command "insert" "t2" ip1 tb tb 0))
((and( > zi 27000)(< zi 28000))(command "insert" "t3" ip1 tb tb 0))
((and( > zi 28000)(< zi 29000))(command "insert" "t4" ip1 tb tb 0))
((and( > zi 29000)(< zi 30000))(command "insert" "tuong" ip1 tb tb 0))
((and( > zi 30000)(< zi 31000))(command "insert" "tram" ip1 tb tb 0))
((and( > zi 31000)(< zi 32000))(command "insert" "trucaothe" ip1 tb tb 0))
((and( > zi 32000)(< zi 33000))(command "insert" "truco" ip1 tb tb 0))
((and( > zi 33000)(< zi 34000))(command "insert" "truden" ip1 tb tb 0))
((and( > zi 34000)(< zi 35000))(command "insert" "trudendoi" ip1 tb tb 0))
((and( > zi 35000)(< zi 36000))(command "insert" "trudien1" ip1 tb tb 0))
((and( > zi 36000)(< zi 37000))(command "insert" "truttin" ip1 tb tb 0))
((and( > zi 37000)(< zi 38000))(command "insert" "2tuong" ip1 tb tb 0))
((and( > zi 38000)(< zi 39000))(command "insert" "3tuong" ip1 tb tb 0))
((and( > zi 39000)(< zi 40000))(command "insert" "2rao" ip1 tb tb 0))
((and( > zi 40000)(< zi 41000))(command "insert" "3rao" ip1 tb tb 0))
((and( > zi 41000)(< zi 42000))(command "insert" "T1T2" ip1 tb tb 0))
((and( > zi 42000)(< zi 43000))(command "insert" "G1G2" ip1 tb tb 0))
((and( > zi 43000)(< zi 44000))(command "insert" "Cong" ip1 tb tb 0))
((and( > zi 44000)(< zi 45000))(command "insert" "Hangcay" ip1 tb tb 0))
((and( > zi 45000)(< zi 46000))(command "insert" "Ao" ip1 tb tb 0))
((and( > zi 46000)(< zi 47000))(command "insert" "Raokhac" ip1 tb tb 0))
((and( > zi 47000)(< zi 48000))(command "insert" "trudien2" ip1 tb tb 0))
((and( > zi 48000)(< zi 49000))(command "insert" "chanbc" ip1 tb tb 0))
((and( > zi 49000)(< zi 50000))(command "insert" "tuongkhac" ip1 tb tb 0))
((and( > zi 50000)(< zi 51000))(command "insert" "lekhac" ip1 tb tb 0))
)
;(setq ip (list (car ip) (cadr ip) 0)))
;(if (= ynl "Y")(if (> i 1)(command "line" ipold ip "")))
; (if (= ynd "Y")(command "insert" "donut" ip tb tb 0))
;(if (= ynC "Y")(command "insert" "coconut" ip tb tb 0))
;(if (= ynTD "Y")(command "insert" "TD" ip tb tb 0))
;(if (= ynCL "Y")(command "insert" "CL" ip tb tb 0))
(cond
((< zi 1000)(setq ri (- (atof htext) 00.0)))
((and( > zi 1000)(< zi 2000))(setq ri (- (atof htext) 1000.0)))
((and( > zi 2000)(< zi 3000))(setq ri (- (atof htext) 2000.0)))
((and( > zi 3000)(< zi 4000))(setq ri (- (atof htext) 3000.0)))
((and( > zi 4000)(< zi 5000))(setq ri (- (atof htext) 4000.0)))
((and( > zi 5000)(< zi 6000))(setq ri (- (atof htext) 5000.0)))
((and( > zi 6000)(< zi 7000))(setq ri (- (atof htext) 6000.0)))
((and( > zi 7000)(< zi 8000))(setq ri (- (atof htext) 7000.0)))
((and( > zi 8000)(< zi 9000))(setq ri (- (atof htext) 8000.0)))
((and( > zi 9000)(< zi 10000))(setq ri (- (atof htext) 9000.0)))
((and( > zi 10000)(< zi 11000))(setq ri (- (atof htext) 10000.0)))
((and( > zi 11000)(< zi 12000))(setq ri (- (atof htext) 11000.0)))
((and( > zi 12000)(< zi 13000))(setq ri (- (atof htext) 12000.0)))
((and( > zi 13000)(< zi 14000))(setq ri (- (atof htext) 13000.0)))
((and( > zi 14000)(< zi 15000))(setq ri (- (atof htext) 14000.0)))
((and( > zi 15000)(< zi 16000))(setq ri (- (atof htext) 15000.0)))
((and( > zi 16000)(< zi 17000))(setq ri (- (atof htext) 16000.0)))
((and( > zi 17000)(< zi 18000))(setq ri (- (atof htext) 17000.0)))
((and( > zi 18000)(< zi 19000))(setq ri (- (atof htext) 18000.0)))
((and( > zi 19000)(< zi 20000))(setq ri (- (atof htext) 19000.0)))
((and( > zi 20000)(< zi 21000))(setq ri (- (atof htext) 20000.0)))
((and( > zi 21000)(< zi 22000))(setq ri (- (atof htext) 21000.0)))
((and( > zi 22000)(< zi 23000))(setq ri (- (atof htext) 22000.0)))
((and( > zi 23000)(< zi 24000))(setq ri (- (atof htext) 23000.0)))
((and( > zi 24000)(< zi 25000))(setq ri (- (atof htext) 24000.0)))
((and( > zi 25000)(< zi 26000))(setq ri (- (atof htext) 25000.0)))
((and( > zi 26000)(< zi 27000))(setq ri (- (atof htext) 26000.0)))
((and( > zi 27000)(< zi 28000))(setq ri (- (atof htext) 27000.0)))
((and( > zi 28000)(< zi 29000))(setq ri (- (atof htext) 28000.0)))
((and( > zi 29000)(< zi 30000))(setq ri (- (atof htext) 29000.0)))
((and( > zi 30000)(< zi 31000))(setq ri (- (atof htext) 30000.0)))
((and( > zi 31000)(< zi 32000))(setq ri (- (atof htext) 31000.0)))
((and( > zi 32000)(< zi 33000))(setq ri (- (atof htext) 32000.0)))
((and( > zi 33000)(< zi 34000))(setq ri (- (atof htext) 33000.0)))
((and( > zi 34000)(< zi 35000))(setq ri (- (atof htext) 34000.0)))
((and( > zi 35000)(< zi 36000))(setq ri (- (atof htext) 35000.0)))
((and( > zi 36000)(< zi 37000))(setq ri (- (atof htext) 36000.0)))
((and( > zi 37000)(< zi 38000))(setq ri (- (atof htext) 37000.0)))
((and( > zi 38000)(< zi 39000))(setq ri (- (atof htext) 38000.0)))
((and( > zi 39000)(< zi 40000))(setq ri (- (atof htext) 39000.0)))
((and( > zi 40000)(< zi 41000))(setq ri (- (atof htext) 40000.0)))
((and( > zi 41000)(< zi 42000))(setq ri (- (atof htext) 41000.0)))
((and( > zi 42000)(< zi 43000))(setq ri (- (atof htext) 42000.0)))
((and( > zi 43000)(< zi 44000))(setq ri (- (atof htext) 43000.0)))
((and( > zi 44000)(< zi 45000))(setq ri (- (atof htext) 44000.0)))
((and( > zi 45000)(< zi 46000))(setq ri (- (atof htext) 45000.0)))
((and( > zi 46000)(< zi 47000))(setq ri (- (atof htext) 46000.0)))
((and( > zi 47000)(< zi 48000))(setq ri (- (atof htext) 47000.0)))
((and( > zi 48000)(< zi 49000))(setq ri (- (atof htext) 48000.0)))
((and( > zi 49000)(< zi 50000))(setq ri (- (atof htext) 49000.0)))
((and( > zi 50000)(< zi 51000))(setq ri (- (atof htext) 50000.0)))
)
(if (> (atof htext) 1000)(setq htext (zrtos ri 2)))
(if (= yn "N")(setq ip (list (car ip) (cadr ip) 0.00))(setq ip (list (car ip) (cadr ip) ri)))
(print ip)
(if (= tsize 0)
(COMMAND "text" "j" "c" ip h tr htext)
(COMMAND "text" "j" "c" ip tr htext)
)
(command "insert" "donut" ip tb tb 0) ;(neu su dung YN donut thi xoa ca hang nay)
;(setq ipold ip)
)
(setvar "osmode" o_osmode)
(command "_.UNDO" "_E")
(ai_undo_off)
(princ "\nThank you for using this command")
(princ)
)
;;;--------------------------------------------------------------------------------
(princ " READ & DRAW loaded.")
(princ )






Mình có lisp phun điểm này nhờ các Anh/Chị,sửa dùm với.
Lisp chạy tốt nhưng bị hạn chế là chỉ chạy được tới 99,xxx. Chỉ được 2 số nguyên tới 100,xxx là ko hiểu
Nhờ các Anh/ Chị sửa dùm
Lệnh: RD
chiều cao text:
Góc quay(0):
Do you want to draw in 3D (y/n)?
Thêm dòng này: Số thập phân :

copy lisp vào support của Cad và phải có dấu chấm vàng trong bản vẽ bên dưới thì lisp mới chạy được
Dưới đây là file TxT và file mẫu do lisp chạy đượchttp://www.cadviet.c...3751_text_1.dwg
http://www.cadviet.c...751_datlanh.txt
  • 0

#29 ro88

ro88

    biết vẽ arc

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

Đã gửi 09 January 2013 - 06:10 PM

có ai ghé thăm giúp dùm với
  • 0

#30 ro88

ro88

    biết vẽ arc

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

Đã gửi 10 January 2013 - 12:08 AM

Có ai giúp dùm với.sao mãi chẳng thấy ai giúp dùm .
  • 0

#31 nhoclangbat

nhoclangbat

    Edu level: li10

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

Đã gửi 10 January 2013 - 07:04 AM

mình đag học lsp thui sữa chưa nổi , nhưng mình thấy bạn đang cần mình có chương trình đơn giản dễ xài , xxxx điểm mia củng vô tư :D, nếu bạn quan tâm pm mình mình gửi cho ^^
  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#32 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 10 January 2013 - 10:50 AM

Có ai giúp dùm với.sao mãi chẳng thấy ai giúp dùm .

Hề hề hề,
Giúp hổng đượic vì bạn quá tiết kiệm, gửi lên cái lisp còn thiếu khá nhiều thứ, chạy hổng nổi thì biết lỗi thế nào???
1/- Không có hàm (zrtos .....)
2/- Không có "my_utils"
3/- Không có "ai-utils"
4/- .......
5/- ......
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#33 hoangkimoanh

hoangkimoanh

    biết vẽ spline

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

Đã gửi 07 September 2013 - 12:40 AM

Em thấy cái lisp của anh toiyeuviet nam rất đơn giản về cách thực hiện, nhờ các các anh giúp sửa giúp em để khi mình chỉ cần ghi tọa độ 2 điểm GPS1 và GPS2 như file số liệu em gửi kèm theo và phun điểm mia bằng gõ lệnh PDM -> nhập mẫu số tỉ lệ: gõ 1000 -> tìm file solieu -> là phun điểm mia ra giống như hình vẽ kèm theo được không ạ! Chỉ cần liệt kê tọa độ trạm máy và điểm định hướng (giống như dùng chương trình chitietwin của thầy Trần Trung Anh chỉ cần liệt kê tọa độ trạm máy và điểm định hướng là tự vẽ lưới các trạm trong khu đo).

mong các anh giúp em với nhé vì nếu thành công thì công đoạn sẽ đơn giản mà không phải phức tạp và nhiều file rác trong khâu xử lý số liệu nữa! cảm ơn các anh trước nhé!

------------------------------------------------------------------------------------------------------------------------------------------------------------------
;******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&#203;p file ngu&#229;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)
;  ""
<img src='http://www.cadviet.com/forum/public/style_emoticons/<#EMO_DIR#>/wink.png' class='bbc_emoticon' alt=';)' />
(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 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!"  )
   
<img src='http://www.cadviet.com/forum/public/style_emoticons/<#EMO_DIR#>/wink.png' class='bbc_emoticon' alt=';)' />
;(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 "")))
  )
)

file solieu và kết quả cần ra bản vẽ sau khi thực hiện xong


http://www.cadviet.c...un_diem_mia.rar


  • 0

#34 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 07 September 2013 - 02:26 PM

Em thấy cái lisp của anh toiyeuviet nam rất đơn giản về cách thực hiện, nhờ các các anh giúp sửa giúp em để khi mình chỉ cần ghi tọa độ 2 điểm GPS1 và GPS2 như file số liệu em gửi kèm theo và phun điểm mia bằng gõ lệnh PDM -> nhập mẫu số tỉ lệ: gõ 1000 -> tìm file solieu -> là phun điểm mia ra giống như hình vẽ kèm theo được không ạ! Chỉ cần liệt kê tọa độ trạm máy và điểm định hướng (giống như dùng chương trình chitietwin của thầy Trần Trung Anh chỉ cần liệt kê tọa độ trạm máy và điểm định hướng là tự vẽ lưới các trạm trong khu đo).

mong các anh giúp em với nhé vì nếu thành công thì công đoạn sẽ đơn giản mà không phải phức tạp và nhiều file rác trong khâu xử lý số liệu nữa! cảm ơn các anh trước nhé!

------------------------------------------------------------------------------------------------------------------------------------------------------------------
;******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&#203;p file ngu&#229;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)
;  ""
<img src='http://www.cadviet.com/forum/public/style_emoticons/<#EMO_DIR#>/wink.png' class='bbc_emoticon' alt=';)' />
(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 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!"  )
   
<img src='http://www.cadviet.com/forum/public/style_emoticons/<#EMO_DIR#>/wink.png' class='bbc_emoticon' alt=';)' />
;(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 "")))
  )
)

file solieu và kết quả cần ra bản vẽ sau khi thực hiện xong


http://www.cadviet.c...un_diem_mia.rar

Hề hề hề,

Xin lỗi bạn vì tò mò nhé.

Mình không rõ mối liên hệ giữa bảng số liệu bạn gửi với bản vẽ bạn gửi bạn ạ,

Nếu mình không nhầm thì bản vẽ bạn gửi được vẽ từ bảng số liệu khác vì mình kiểm tra tọa độ của hai điểm gprs1 và gprs2 thì chúng không giống với số liệu trong bảng của bạn. 

Nếu như bạn có hiệu chỉnh gì đó với các số liệu này thì mong bạn hãy giải thích cụ thể cách hiệu chỉnh đó.

Do mình không phải dân trắc đ5c hay bản đố nên thiệt tình không hiểu rõ cái bảng số liệu của bạn. Vì thế mình đoán mò rằng cột thứ nhất chỉ số thứ tự của điểm đo, cột thứ hai chỉ góc hợp thành giữa hai dường thẳng là đường nối từ điểm đo tới trạm GPRS2 và đường nối từ trạm GPRS2 tới trạm GPRS1. Cột thử 3 chỉ khoảng cách từ điểm đo tới trạm GPRS1.

Nếu đúng như vậy thì mình nghĩ có thể làm lisp được. 

Còn nếu không đúng mong bạn chớ giận và xin giải thích rõ mối tương quan giữa các số liệu đo với bản vẽ. Từ đó mình mới có hy vọng có thể làm lisp giúp bạn được.

Ngoài ra cái lưới tram mà bạn vẽ màu đỏ giữa các trạm GPRS1 GPRS2, P1 CP3, CP4 được thiết lập theo nguyên tắc nào, mong bạn giải thích rõ hơn mới có thể viết lisp được bạn ạ.

Chúc bạn vui.


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

#35 hoangkimoanh

hoangkimoanh

    biết vẽ spline

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

Đã gửi 07 September 2013 - 10:34 PM

http://www.cadviet.c...3752_solieu.txtCảm ơn anh Binh quan đã tâm! đúng rồi do em sơ xuất dùng 2 file.

em gửi lại file solieu và em giải thích 1 chút:

- Bản vẽ là do em dùng chương trình chitietwin của thầy Trần Trung Anh.

- trong file solieu.txt gồm có cột 1 (STT) - cột 2 (góc đo) - cột 3 (canh đo); còn 2 dòng đầu GPS1 và 2 là em lấy tọa độ trên cơ sở em đo bằng máy GPS cầm tay và em nhập vào. còn 2 dòng GPS dưới là do em đặt máy đo định hướng về GPS2 và đọc cạnh (cái này có thể xóa khi em đã liệt kê 2 dòng tọa độ trên cùng).

- Lưới trạm máy có thể vẽ dựa trên cơ sở đo ở trạm máy nào có bắn cọc hoặc có góc bằng 0 thì nó sẽ hiểu và vẽ Line màu đỏ có Layer Trạm máy! 

P1 202.4614 172.014  ;;;(Ban coc phu P1)  hoặc

P1 0   ;;;(Tram may coc phu P1)  
GPS1 0 172.019

đây là file solieu em gửi lại:

 


  • 0

#36 hoangkimoanh

hoangkimoanh

    biết vẽ spline

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

Đã gửi 09 September 2013 - 09:43 PM

Các anh giúp em với nhé! em đã tìm hiểu cái lisp PDM ở trên muôn phun được thì phải liệt kê tọa độ các trạm máy lên trên cùng của file solieu. có cách nào chỉ cần liệt kê tọa độ 1 điểm trạm máy và điểm định hướng ban đầu là nó sẽ hiểu những trạm tiếp theo không nhỉ?


  • 0

#37 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 September 2013 - 11:03 AM

Các anh giúp em với nhé! em đã tìm hiểu cái lisp PDM ở trên muôn phun được thì phải liệt kê tọa độ các trạm máy lên trên cùng của file solieu. có cách nào chỉ cần liệt kê tọa độ 1 điểm trạm máy và điểm định hướng ban đầu là nó sẽ hiểu những trạm tiếp theo không nhỉ?

Hề hề hề,

Bạn dùng thử cái này coi sao nhé. Mình đã test trên file số liệu bạn gửi có chỉnh sửa một chút cho phù hợp với lisp và trên cái bản vẽ bạn gửi thì thấy rằng các điểm chưa hoàn toàn trùng nhau, nhưng có lẽ đó là do sai số khi bạn lấy điểm bằng thủ công.

Mình chưa giải quyết vấn đề layer cho các đối tượng mà mới chỉ làm cho các đối tượng có màu giống như bản vẽ bạn gửi. Về vấn đề này cũng không quá khó nữa nên mình chưa làm. Cách làm bạn có thể làm tương tự như với việc lấy màu. Nếu bạn muốn mình sẽ bổ sung sau.

Vấn đề chính là bạn xem cách fun mia này đã đúng với yêu cầu của bạn hay chưa mà thôi. Vì mình là dân ngoại ngạch nên chỉ đoán mò qua bản vẽ và file số liệu bạn gửi để làm lisp, do đó có thể chưa đạt được các yêu cầu về chuyên môn của bạn.

Mình gửi kèm ở đây cả file số liệu mà mình có chỉng sửa chút chút, cũng như file lisp để bạn test thử coi sao. File bản vẽ ứng với file số liệu này bạn đã có nên rất dễ so sánh kết quả. Nếu thấy chỗ nào chưa đạt thì cứ mạnh dạn post lên để mình học hỏi thêm và nếu được sẽ cố gắng chỉnh sửa cho nó đạt yêu cầu của bạn.

Chúc bạn vui.

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

http://www.cadviet.c...4_dulieudo1.txt


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

#38 hoangkimoanh

hoangkimoanh

    biết vẽ spline

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

Đã gửi 12 September 2013 - 11:37 PM

Cách viết của ánh rất gon và đúng với ý của em, dễ sử dụng nữa! nhưng còn 1 chút nữa anh kiểm tra giúp em là góc của nó chưa được đúng thì phải:

- GPS1 định hướng về GPS2 và bắn cọc phụ P1 có góc là  202d46'14" nhưng nó lại thành 182d09'23"

- GPS2 định hướng về GPS1 và bắn cọc phụ P3 có góc là  318d50'09" nhưng nó lại thành 318d30'03"

                                                          + cọc phụ 4 có góc là 107d20'35" nhưng nó lại thành 107d12'13"

nếu tách được cá layer tram máy, điểm và tên điểm nữa thì tuyệt vời. cảm ơn anh đã giúp em rất nhiệt tình và có nhiều anh trắc địa đang theo rõi và đợi kết quả của anh để mót về dùng đấy! :)


  • 0

#39 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 13 September 2013 - 10:41 AM

Cách viết của ánh rất gon và đúng với ý của em, dễ sử dụng nữa! nhưng còn 1 chút nữa anh kiểm tra giúp em là góc của nó chưa được đúng thì phải:

- GPS1 định hướng về GPS2 và bắn cọc phụ P1 có góc là  202d46'14" nhưng nó lại thành 182d09'23"

- GPS2 định hướng về GPS1 và bắn cọc phụ P3 có góc là  318d50'09" nhưng nó lại thành 318d30'03"

                                                          + cọc phụ 4 có góc là 107d20'35" nhưng nó lại thành 107d12'13"

nếu tách được cá layer tram máy, điểm và tên điểm nữa thì tuyệt vời. cảm ơn anh đã giúp em rất nhiệt tình và có nhiều anh trắc địa đang theo rõi và đợi kết quả của anh để mót về dùng đấy! :)

Hề hề hề,

1/- Về việc sai góc độ: 

a/- Thông tin bạn nói không chính xác vì mình đã check lại, Điểm P1 không thể có góc định hướng nhỏ hơn 202 độ được vì không nhẽ lisp đọc nhầm.

b/- Cái sai lệch về góc này do mình hiểu nhầm cái bảng số liệu của bạn mà thôi. Bạn ghi là 202.4614 nên mình hiểu là 202.4614 độ tức là số đo độ theo hệ thập phân. Do vậy lisp nó sẽ hiểu rằng: 202độ + 0.4614 độ và kết quả sẽ là 202 + (0.4614 * 60) phút = 202độ 27 phút + (0.684 * 60) = 202 độ 27 phút 41 giây 06% giây.

Như vậy về cơ bản nó chỉ có thể sai ở phần thập phân chứ không thể sai ở phần nguyên của số đo góc này được.

c/- Như vậy sẽ cần một bước chuyển đổi từ số liệu đo của bạn thành số đo độ theo hệ thập phân để lisp có thể làm việc đúng.

Cách chuyển đổi này như sau:

Ví dụ: 202.4614 = 202 độ 46 phút 14 giây.= 202 độ +(((46 * 60) + 14)/3600) =202.77055555555~202.7706 độ.

Điều này thực ra không có gì khó khăn, chỉ là do mình dốt không hiểu cái bảng số liệu của bạn mà thôi. Nếu có thể bạn hãy tự sửa một chút ở chỗ này trong khi mình chưa sửa kịp để test nhé.

2/- Về việc tách lớp cho các tên điểm , điểm , layer trạm máy,.... như mình đã nói trong bài trước hoàn toàn không khó, nhưng mình muốn bạn cho biết rằng các layer này đã có sẵn trên bản vẽ của bạn hay chưa ??? Hay là phải tạo ra các layer này và nếu vậy các thuộc tính của các layer này bạn cần như thế nào ??? 

Bởi mình không thuộc chuyên môn của bạn nên nhiều khi làm ra cái bạn chả thích dùng thì cũng bằng thừa bạn ạ.

Thực ra mình cũng có thể tạo cái giống như trong bản vẽ của bạn gửi, song không biết đó có phải là cái chuẩn mực bạn cần hay không nên cứ phải hỏi trước cho nó lành bạn ạ.

Chúc bạn vui.


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

#40 hoangkimoanh

hoangkimoanh

    biết vẽ spline

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

Đã gửi 13 September 2013 - 03:05 PM

các layer này sẽ tạo mới trong bản vẽ trắng, vì mở cad lên và gõ fmia tìm đến file solieu là nó tạo ra luôn các layer như sau:

- trạm máy có layer và màu số 1 (red)

- điểm có layer và màu số 4 (cyan)

- tên điểm có layer và màu số 7 (white)

anh không phải dân chuyên ngành nhưng quả thực ảnh rất cừ trong mấy cái lisp mà không dễ gì dân chuyên ngành có thể viết ngắn gọn và dễ thực hiện như anh!

rất nhiều người đang xem và đợi anh!


  • 0