Chuyển đến nội dung
Diễn đàn CADViet
khaosat2009

Chuyển trục tọa độ trong Trắc địa công trình

Các bài được khuyến nghị

Mình đang làm trong công tác trắc địa công trình, muốn nhờ các anh giúp cho Lisp để ứng dụng trong Trắc địa, như sau :

1. Chọn một điểm để định vị điểm gốc, yêu cần nhập vào, ví dụ như : X=0.00 , Y=0.00 hay X=1000 và Y=1000. sẻ ghi nhận điểm gốc đó.

2. Chọn hướng trục gốc : ta chọ một điểm theo hướng trục thì tọa độ điểm chọn hướng trục X2= là 0.00 hay X2=1000 của điểm gốc trước ta nhập và tọa độ Y2= Y+ chiểu dài của Y đến Y2. Đây là trục chuẩn khi quy về gốc theo hệ tọa độ mới (hệ trắc địa ) OX là theo hướng chọn 1 và 2 trên; OY vuông góc trục OX từ O; hệ tọa độ sẽ xoay định theo yêu cầu đặt trên;

3. Khi đó ta chọn các điểm trong hệ đó thì thể hiện yên cầu nhập tên điểm, xuất ra mành mình mủi tên chí tên điểm; tọa độ X=... ; Y=... tính được theo trục gốc.

4. Lập bảng thống kê tên điểm và tọa độ X; Y trên;

5. Xuất bảng thống kê đó ra file TXT hay Excel.

Rất mong được các anh giúp.

Cám ơn và mong tin :D :cheers:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Mình đang làm trong công tác trắc địa công trình, muốn nhờ các anh giúp cho Lisp để ứng dụng trong Trắc địa, như sau :

1. Chọn một điểm để định vị điểm gốc, yêu cần nhập vào, ví dụ như : X=0.00 , Y=0.00 hay X=1000 và Y=1000. sẻ ghi nhận điểm gốc đó.

2. Chọn hướng trục gốc : ta chọ một điểm theo hướng trục thì tọa độ điểm chọn hướng trục X2= là 0.00 hay X2=1000 của điểm gốc trước ta nhập và tọa độ Y2= Y+ chiểu dài của Y đến Y2. Đây là trục chuẩn khi quy về gốc theo hệ tọa độ mới (hệ trắc địa ) OX là theo hướng chọn 1 và 2 trên; OY vuông góc trục OX từ O; hệ tọa độ sẽ xoay định theo yêu cầu đặt trên;

3. Khi đó ta chọn các điểm trong hệ đó thì thể hiện yên cầu nhập tên điểm, xuất ra mành mình mủi tên chí tên điểm; tọa độ X=... ; Y=... tính được theo trục gốc.

4. Lập bảng thống kê tên điểm và tọa độ X; Y trên;

5. Xuất bảng thống kê đó ra file TXT hay Excel.

Rất mong được các anh giúp.

Cám ơn và mong tin :D :cheers:

Bạn có cần nó gấp không? vì lsp này mình viết từ lúc bắt đầu học lsp, nhưng chỉ xuất ra bản vẽ chứ chưa xuất ra TXT và execel được còn phần chuyển và xoay toạ độ gốc ok không vấn đề.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn có cần nó gấp không? vì lsp này mình viết từ lúc bắt đầu học lsp, nhưng chỉ xuất ra bản vẽ chứ chưa xuất ra TXT và execel được còn phần chuyển và xoay toạ độ gốc ok không vấn đề.

Cám ơn Bạn, mình rất cần gấp, vì đang tính toán để chuyển điểm giao mốc ra hiện trường.

Mong được Bạn giúp,

Mong tin

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn có cần nó gấp không? vì lsp này mình viết từ lúc bắt đầu học lsp, nhưng chỉ xuất ra bản vẽ chứ chưa xuất ra TXT và execel được còn phần chuyển và xoay toạ độ gốc ok không vấn đề.

Bạn có Lisp xoay và đưa về trục tọa độ cho mình xin với.

Cám ơn và mong tin bạn

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn có Lisp xoay và đưa về trục tọa độ cho mình xin với.

Cám ơn và mong tin bạn

rất xin lỗi bạn vì thời gian vừa rồi mình bận quá

http://www.cadviet.com/upfiles/3/idd.zip

Bạn sử dụng thử nhé bản này tớ viết còn nhiều chỗ sơ xài nhưng kết quả thì chính xác 100%. Khi nào mình có điều kiện mình sẽ upload file nâng cấp nhé.

Mong bạn thông cảm cho mình.

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
rất xin lỗi bạn vì thời gian vừa rồi mình bận quá

http://www.cadviet.com/upfiles/3/idd.zip

Bạn sử dụng thử nhé bản này tớ viết còn nhiều chỗ sơ xài nhưng kết quả thì chính xác 100%. Khi nào mình có điều kiện mình sẽ upload file nâng cấp nhé.

Mong bạn thông cảm cho mình.

Cám ơn Bạn thật nhiều, Mong chờ tin bản nâng cấp của bạn.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cái này dễ òm à

Đối với AutoCad thì quá dễ luôn

Bạn xài lệnh Align

1. Chọn tất cả bình đồ mốc mạng ... để align

2. Chọn điểm thứ 1 (bắt điểm) là mốc A có tọa độ VD là (0,0) đã vẽ về điểm thứ 2 (nhập trực tiếp trên CAD) theo mốc theo hệ VN2000 VD là (1752233.233,4859664.23)

3. Tiếp tục chọn điểm thứ 3 (bắt điểm) là mốc B có tọa độ VD là (1,1) đã vẽ về điểm thứ 4 (nhập trực tiếp trên CAD) theo mốc theo hệ VN2000 VD là (1762233.233,4879664.23)

4. Xong Enter (hoặc chuột phải không chọn tiếp nữa)

5. Bấm No ==> hoàn tất lệnh

6. Sau khi chuyển về hệ trục mới rồi thì xài lệnh ID click xem tọa độ tất cả các điểm còn lại 1 cách chính xác (với điều kiện bạn vẽ bình đồ theo tỷ lệ 1:1 và các mốc đưa về tọa đọ chính xác)

 

Xong nhớ alo tớ đi uống cafe nhé. Hehe

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
rất xin lỗi bạn vì thời gian vừa rồi mình bận quá

http://www.cadviet.com/upfiles/3/idd.zip

Bạn sử dụng thử nhé bản này tớ viết còn nhiều chỗ sơ xài nhưng kết quả thì chính xác 100%. Khi nào mình có điều kiện mình sẽ upload file nâng cấp nhé.

Mong bạn thông cảm cho mình.

cái này down về dùng thì mất font bác ơi, cho xin cái font duoc không ?

Cám ơn nhiều

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cái này dễ òm à

Đối với AutoCad thì quá dễ luôn

Bạn xài lệnh Align

1. Chọn tất cả bình đồ mốc mạng ... để align

2. Chọn điểm thứ 1 (bắt điểm) là mốc A có tọa độ VD là (0,0) đã vẽ về điểm thứ 2 (nhập trực tiếp trên CAD) theo mốc theo hệ VN2000 VD là (1752233.233,4859664.23)

3. Tiếp tục chọn điểm thứ 3 (bắt điểm) là mốc B có tọa độ VD là (1,1) đã vẽ về điểm thứ 4 (nhập trực tiếp trên CAD) theo mốc theo hệ VN2000 VD là (1762233.233,4879664.23)

4. Xong Enter (hoặc chuột phải không chọn tiếp nữa)

5. Bấm No ==> hoàn tất lệnh

6. Sau khi chuyển về hệ trục mới rồi thì xài lệnh ID click xem tọa độ tất cả các điểm còn lại 1 cách chính xác (với điều kiện bạn vẽ bình đồ theo tỷ lệ 1:1 và các mốc đưa về tọa đọ chính xác)

 

Xong nhớ alo tớ đi uống cafe nhé. Hehe

 

Có cánh nào khác không Bạn. Nếu 1 file mà dung lượng quá lớn bạn đợi Align thì biết đến bao giờ.

Mình thấy có thể giả định trục toạ độ trong Cad được mà các tiền bối.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cái này dễ òm à

Đối với AutoCad thì quá dễ luôn

Bạn xài lệnh Align

1. Chọn tất cả bình đồ mốc mạng ... để align

2. Chọn điểm thứ 1 (bắt điểm) là mốc A có tọa độ VD là (0,0) đã vẽ về điểm thứ 2 (nhập trực tiếp trên CAD) theo mốc theo hệ VN2000 VD là (1752233.233,4859664.23)

3. Tiếp tục chọn điểm thứ 3 (bắt điểm) là mốc B có tọa độ VD là (1,1) đã vẽ về điểm thứ 4 (nhập trực tiếp trên CAD) theo mốc theo hệ VN2000 VD là (1762233.233,4879664.23)

4. Xong Enter (hoặc chuột phải không chọn tiếp nữa)

5. Bấm No ==> hoàn tất lệnh

6. Sau khi chuyển về hệ trục mới rồi thì xài lệnh ID click xem tọa độ tất cả các điểm còn lại 1 cách chính xác (với điều kiện bạn vẽ bình đồ theo tỷ lệ 1:1 và các mốc đưa về tọa đọ chính xác)

 

Xong nhớ alo tớ đi uống cafe nhé. Hehe

Cám ơn Bạn,

Cách bạn dùng lệnh Align thì mình phải xoay bản vẽ đi đến một vị trí gốc của mình chọn, rồi chọn từng điểm để đọc tọa độ điểm đó.

Riêng mình muốn xác định lại tọa độ riêng, là khi bản vẽ thiết kế công trình vẩn để như vậy,

1. Mình chọn trục chính theo 1 phương X hoặc Y của hình thể công trình, Nếu chọn phương X trước thì chọn hướng phương Y phải theo X và Vuông góc với X ( hoặc ngược lại ). Trục tọa độ sẻ xoay theo phương xác định trên.

2. Chọn điểm gốc đó là điểm gốc theo phương hướng tọa độ trên, Líp yêu cầu nhập tọa độ gốc của vị trí đó vào. Xuất điểm block vẽ trục XOY theo phương trên.

3. Vẽ lưới ô vuông công trình theo yêu cầu nhập khoảng cách lưới 10 x10m, hay 20x20,... xoay theo hệ tọa độ trên.

4. Chọn điểm cần xác định , yêu cầu nhập tên mốc, xong xuất hiện Block kí hiệu điểm, mũi tên chỉ vị trí, thể hiện tên mốc, tọa độ X,Y vị trí đó, chọn tiếp..., xong một trục, nhấm phi1m ESC, Lisp hỏi tên trục :.., nhập tên trục các điểm xác định trên vào, Enter, yêu cầu chọn các điểm trục tiếp,... Kết thúc nhấn Enter, Enter.

5. Xuất ra bảng thống kê theo từng tên trục, Các tên điểm, tọa độ X, Y;

Rất mong được bạn và các bạn giúp đỡ, Cám ơn và mong tin

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cám ơn Bạn,

Cách bạn dùng lệnh Align thì mình phải xoay bản vẽ đi đến một vị trí gốc của mình chọn, rồi chọn từng điểm để đọc tọa độ điểm đó.

Riêng mình muốn xác định lại tọa độ riêng, là khi bản vẽ thiết kế công trình vẩn để như vậy,

1. Mình chọn trục chính theo 1 phương X hoặc Y của hình thể công trình, Nếu chọn phương X trước thì chọn hướng phương Y phải theo X và Vuông góc với X ( hoặc ngược lại ). Trục tọa độ sẻ xoay theo phương xác định trên.

2. Chọn điểm gốc đó là điểm gốc theo phương hướng tọa độ trên, Líp yêu cầu nhập tọa độ gốc của vị trí đó vào. Xuất điểm block vẽ trục XOY theo phương trên.

3. Vẽ lưới ô vuông công trình theo yêu cầu nhập khoảng cách lưới 10 x10m, hay 20x20,... xoay theo hệ tọa độ trên.

4. Chọn điểm cần xác định , yêu cầu nhập tên mốc, xong xuất hiện Block kí hiệu điểm, mũi tên chỉ vị trí, thể hiện tên mốc, tọa độ X,Y vị trí đó, chọn tiếp..., xong một trục, nhấm phi1m ESC, Lisp hỏi tên trục :.., nhập tên trục các điểm xác định trên vào, Enter, yêu cầu chọn các điểm trục tiếp,... Kết thúc nhấn Enter, Enter.

5. Xuất ra bảng thống kê theo từng tên trục, Các tên điểm, tọa độ X, Y;

Rất mong được bạn và các bạn giúp đỡ, Cám ơn và mong tin

Bạn gửi 1 yêu cầu bằng file cad minh hoạ xem nào. Mình có 1 cái có thể cải tiến theo ý bạn. (tham khảo lệnh LKD trong bộ líp của mình)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn gửi 1 yêu cầu bằng file cad minh hoạ xem nào. Mình có 1 cái có thể cải tiến theo ý bạn. (tham khảo lệnh LKD trong bộ líp của mình)

vâng , mình sẻ text lại bản vẻ và thể hiện các yêu cầu trên vào bản vẽ.

Rất mong được các anh quan tâm giúp đỡ.

Cám ơn

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Để chuyển trục tọa độ thì dùng lệnh

UCS 3p

sau đó chọn điểm gốc, chọn tiếp điểm thứ 2 (phuong x), enter cho chọn điểm thứ 3

dùng lệnh sau để ghi ra file text

(defun C:IDD ( / b f s pt)
(if (not (setq f (open (getfiled "Data file" "" "txt" 1) "a"))) (exit))

(write-line (strcat "\n"(getstring "Ghi chu" t)"\n") f)
(while (not b)
	(if (/= "" (setq s (getstring "\nTen diem :" )	))
		(progn
		(setq pt (getpoint "Vi tri")	)
		(write-line (strcat s "\t" (rtos (car pt) 2 3) "\t" (rtos (cadr pt) 2 3)) f)
)(setq b t)
		)
	)
(close f)
)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Để chuyển trục tọa độ thì dùng lệnh

UCS 3p

sau đó chọn điểm gốc, chọn tiếp điểm thứ 2 (phuong x), enter cho chọn điểm thứ 3

dùng lệnh sau để ghi ra file text

(defun C:IDD ( / b f s pt)
(if (not (setq f (open (getfiled "Data file" "" "txt" 1) "a"))) (exit))

(write-line (strcat "\n"(getstring "Ghi chu" t)"\n") f)
(while (not b)
	(if (/= "" (setq s (getstring "\nTen diem :" )	))
		(progn
		(setq pt (getpoint "Vi tri")	)
		(write-line (strcat s "\t" (rtos (car pt) 2 3) "\t" (rtos (cadr pt) 2 3)) f)
)(setq b t)
		)
	)
(close f)
)

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bạn có thể dùng cách chuyển trục tọa độ như của bạn ndtnv. (nhớ đặt tên trục tọa độ để tiện gọi trở ra) (ucs=>NAmed=>Save=>"tên trục tọa độ đang sd"

Muốn gọi (sử dụng) hệ tọa độ đã đặt tên, dùng lệnh DDUCS, hộp thoại đưa ra danh sách các hệ tọa độ, chỉ việc click đúp vào hệ cần dùng OK

Có thể dùng đoạn mã sau thì sẽ nhanh hơn vì tự động đánh số thứ tự:

(defun c:xy (/ x y coc i p str f)

(setq fn (getfiled "Ghi so lieu ra file " "Toa_do" "txt" 1))

(setq f (open fn "w"))

(write-line fn f)

(write-line (strcat "TOA DO" "\t\t" "x" "\t\t" "y") f)

 

 

(setq i 0)

(while (setq p (getpoint "\n Chon diem ghi toa do:"))

(setq x (rtos (car p) 2 3))

(setq y (rtos (cadr p) 2 3))

(Setq i (1+ i))

(setq coc (strcat "toa do diem thu " (if (< i 10) (strcat "0" (itoa i)) (itoa i))))

(setq str (strcat coc "\t" x "\t" y))

(prompt str)

(write-line str f)

)

 

 

(close f)

(startapp "C:\\windows\\Notepad.exe" fn)

)

 

(defun c:lpt (/ x y coc i p str f)

 

 

 

(setq fn (getfiled "Doc so lieu tu file " "Toa_do" "txt" 2))

(setq f (open fn "r"))

(read-line f)

(read-line f)

 

(command "undo" "begin")

(setq i 0)

(while (setq str (read-line f))

(setq x (distof (substr str (- (strlen str) 9) 10)))

(setq y (distof (substr str (- (strlen str) 21) 11)))

(setq coc (substr str 1 6))

 

(command "Point" (setq p (list x y)))

;(command "text" p "" "" coc)

 

)

(command "undo" "end")

 

(close f)

 

)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tham khảo cái này nha bạn:

- Điền luôn tọa độ trên Cad

- Ghi thành bảng riêng (table)

- Xuất file Excel

Mình thấy yêu cầu của bạn cơ bản đáp ứng được tất. Lưu lại các option bạn chon cho lần chạy sau cho đến khi thoát Acad. Còn vụ xoay trục thì dùng UCS kích 3 phát là xong, ko cần phải lập những gì Acad đã hỗ trợ

 

115.jpg

Chỉnh sửa theo duyanhhcm

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Mình đang làm trong công tác trắc địa công trình, muốn nhờ các anh giúp cho Lisp để ứng dụng trong Trắc địa, như sau :

1. Chọn một điểm để định vị điểm gốc, yêu cần nhập vào, ví dụ như : X=0.00 , Y=0.00 hay X=1000 và Y=1000. sẻ ghi nhận điểm gốc đó.

2. Chọn hướng trục gốc : ta chọ một điểm theo hướng trục thì tọa độ điểm chọn hướng trục X2= là 0.00 hay X2=1000 của điểm gốc trước ta nhập và tọa độ Y2= Y+ chiểu dài của Y đến Y2. Đây là trục chuẩn khi quy về gốc theo hệ tọa độ mới (hệ trắc địa ) OX là theo hướng chọn 1 và 2 trên; OY vuông góc trục OX từ O; hệ tọa độ sẽ xoay định theo yêu cầu đặt trên;

3. Khi đó ta chọn các điểm trong hệ đó thì thể hiện yên cầu nhập tên điểm, xuất ra mành mình mủi tên chí tên điểm; tọa độ X=... ; Y=... tính được theo trục gốc.

4. Lập bảng thống kê tên điểm và tọa độ X; Y trên;

5. Xuất bảng thống kê đó ra file TXT hay Excel.

Rất mong được các anh giúp.

Cám ơn và mong tin cheers.gifsad.gif

 

 

Tham khảo cái này nha bạn:

- Điền luôn tọa độ trên Cad

- Ghi thành bảng riêng (table)

- Xuất file Excel

Mình thấy yêu cầu của bạn cơ bản đáp ứng được tất. Lưu lại các option bạn chon cho lần chạy sau cho đến khi thoát Acad. Còn vụ xoay trục thì dùng UCS kích 3 phát là xong, ko cần phải lập những gì Acad đã hỗ trợ

 

115.jpg

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay


×