Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
BKTen

[Yêu cầu] Lisp Chuyển đổi hệ qui chiếu

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

Trong trắc địa công trình mình có 1 bài toán như sau:

* Nhờ các cao thủ Lisp giải quyết giùm mình bằng Lisp.

* Trong hệ toạ độ quốc gia. có tọa độ các mốc chuẩn

* Trong hệ tọa độ công trình có tọa độ các mốc chuẩn

* các tọa độ mốc chuẩn la mốc chung trong 2 hệ.

Yêu cầu:

1) Click 1 điểm trên hệ tọa độ này thì sẽ biết được tạo độ trên hệ kia.

2) Dùng 1 file các điểm toa độ XY trên hệ tọa độ này thì lisp sẽ tính chuyển sang hệ tọa độ kia, rồi xuất ra file.

Còn đây là file mẫu:

https://www.mediafire.com/?e47bnmo5oo3xdpc

 

  • 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

Xem ra không có cao thủ nào hứng thú với bài toán chuyển đổi hệ qui chiếu toạ độ này 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

Thật ra không hiểu lắm nên chẳng viết được. Nếu hai tọa độ chênh nhau delta x, delta y thì từ tọa độ này muốn suy ra cái kia thì chỉ việc cộng thêm cái delta đó thôi, có gì phải gọi là bài toán? Đầu vào là pick điểm, còn đầu ra? ghi thành chữ trong bản vẽ hay ghi ra attribute...

Bạn yêu cầu hơi sơ sà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

Thực ra trong trường hợp mà chủ thớt đưa lên đây ko những chỉ dời gốc tọa độ ---> tạo khoảng lệch delta x, delta y mà còn xoay trục X, Y một góc nhất định nữa (Đk ràng buộc delta x, delta y, góc quay là KHOẢNG CÁCH GIỮA 2 MỐC TƯƠNG ỨNG TRÊN MỖI HỆ LUÔN KO ĐỔ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

Thực ra trong trường hợp mà chủ thớt đưa lên đây ko những chỉ dời gốc tọa độ ---> tạo khoảng lệch delta x, delta y mà còn xoay trục X, Y một góc nhất định nữa (Đk ràng buộc delta x, delta y, góc quay là KHOẢNG CÁCH GIỮA 2 MỐC TƯƠNG ỨNG TRÊN MỖI HỆ LUÔN KO ĐỔI)

Hề hề hề,

Theo ngu ý của mình thì việc chuyển đổi tọa độ kiểu này co bản là phải lập được công thức tính toán dựa trên các thông số như bác hieptr đã nói. Sau đó thì cần chi tới lisp. Chỉ việc nhét công thức này vào trong excel là tha hồ mà chuyển. Chủ thớt đã không cho biết mối tương quan giữa các hệ tọa độ thì chả có cách chi để mà làm cả.

  • 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

Thực ra Bạn

hiepttr và bác Phanthanhbinh đã hiểu được bài toán cần những thứ gì. thuật toán Bursa-Wolf như trong file này:

https://www.mediafire.com/?qqf9rqplp097628

  • 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

Mối tương quan là 5 mốc gồm M1,M2,M3,BK1,BK2 trong file cad. có bảng tọa độ nằm trên file. thực ra bài toán này chỉ cần tối thiểu 3 điểm chung để tìm ra 3 tham số deltaX,deltaY,góc xoay .

  • 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

Nếu bỏ qua:

1) "góc lệch phương đường dây dọi - khách quan & chủ quan" (*) ---> chỉ có wz khác không, wx=0, wz=0 trong C.thức bạn nêu.

2) sai số về k/cách do chuyển đổi tọa độ cầu (tạm gọi vậy) về tọa độ đề các X,Y,Z

3) Sự khác nhau giữa 2 định nghĩa "chiều dương" của góc bằng của 2 hệ (nghĩa là 2 hệ có cùng đ/n chiều dương là thuận hoặc ngược chiều kim đồng hồ)

... bỏ qua những cái li ti :D :D :D

 

==> trở thành chuyển đổi giữa 2 hệ phẳng + khoảng dịch delta Z

thì có thể xác định đc 3 tham số deltaX,deltaY,góc xoay wz . thông qua 2 cặp mốc tương ứng

Và bài toán của bạn là trường hợp còn đơn giản hơn (delta Z =0) ===> ko nên dùng công thức quá cồng kềnh.

 

p/s:

Bài toán của bạn có thể nhờ Cad (model - layout) + lệnh ID để giải quyết

 

 

(*) : Trong phạm vi 1 công trình ko lớn thì phương của đường dây dọi tại các vị trí khác nhau có thể coi là ko đổi ---> bỏ qua "góc lệch khách quan".

       Bỏ qua sai số chủ quan do thao tác cân máy (trục đứng của máy chưa trùng với phương của đường dây dọi) ---> bỏ qua "góc lệch chủ quan".

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

Đây là file mình đã xữ lý, bạn ID trong model để đc tọa độ công trình, ID trong layout để đc tọa độ QG

https://www.mediafire.com/?6oo76wvq3xjpjfl

Đây cũng là một phương pháp hay và mới mẻ. bạn hiepttr có thể chỉ giáo cho mình chiêu này được không? xin chân thành cảm ơn!

* Làm thế nào chuyển qua layout mà đổi được hệ tọa độ, sửa các đối tượng như model?

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

Đây cũng là một phương pháp hay và mới mẻ. bạn hiepttr có thể chỉ giáo cho mình chiêu này được không? xin chân thành cảm ơn!

* Làm thế nào chuyển qua layout mà đổi được hệ tọa độ, sửa các đối tượng như model?

Đơn giản chỉ là sữ dụng công cụ xoay layout có sẵn trong express:

- Trước tiên, vẽ 2 line hoặc 2 point trên layout đánh dấu vị trí 2 mốc (TDQG) theo đúng tọa độ đã biết.

- MV tạo viewport

- express >>> layout >>> align  ==> chọn 2 mốc ==> chọn 2 điểm đã đánh dấu (theo đúng thứ tự)

 

p/s: Với đk: BV model đang thể hiện đúng tọa đọ công trình, nếu ko thì phải có thêm 1 bước đưa BV về đúng tọa độ trên model

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 dùng thử lisp này, nó có 2 lệnh:

1. Lệnh TTD : tạo hệ toạ độ. Nhập tên hệ toạ độ, chọn 2 điểm trên bản vẽ, mỗi điểm nhấp vào text E,N và điểm tương ứng.

    Khi tạo xong thì kiểm tra lại xem các điểm có chính xác không. Nếu không thì xoá hệ tđ đi làm lại.

2. Lệnh XEM : khi có đủ 2 hệ toạ độ quốc gia và công trình rồi thì nhấp vào điểm nào sẽ hiện ra toạ độ điểm đó của 2 hệ.

 

Tôi test trên file "TOA DO CONG TRINH.dwg" vì có đủ 2 hệ tđ.

http://www.cadviet.com/upfiles/3/127168_ttd.rar

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

Đăng nhập để thực hiện theo  

×