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

[Xin lisp] - Tạo hệ tọa độ mới trong CAD và xuất, pick điểm tọa độ

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

Xin chào các ACE diễn đàn... đã lâu rồi không dùng lại CAD cần thao tác một số công việc. Do nay mình chỉ xem Bve là chủ yếu. Nên nó lục nghề hẳn... hì hì. 

Mong mọi người giúp cái Lisp như sau: (có đính kèm bản vẽ - đã làm tay nhưng lâu quá).

1. Mình cần tạo 1 hệ tọa độ người dùng, vị trí Điểm O của hệ OXY do mình pick.

- Khoảng cách (bước chia) trên hệ X,Y do mình nhập: trong file đang làm là 10.000 đơn vị CAD = 10.

1.1. Như vậy khi mình muốn thay đổi gốc tọa độ (O) pick chổ khác, hoặc thay đổi bước chia: các điểm cao độ vẫn giữ thì lisp sẽ tính lại cho mình theo Hệ tọa độ mới.

2. Mình có các điểm Block ATT là các vị trí đo cao độ mà mình muốn xuất tọa độ (như bảng xuất kế bên). 

- Base Point của Block ATT là vị trí mình đo.

- Chỉ có nhu cầu: Xuất các thông tin đã có trong Block ATT và thêm 2 cột tọa độ X, Y (theo trục giả định đã tạo ở 1.) ra file *.TXT là mình xử lý tiếp được rồi.

3. Nếu thêm được: 

- Mình xin thêm 1 lệnh là với hệ tọa độ giả định này, người dùng muốn vẽ thêm các điểm Cao độ mới nữa với (X,Y) đã có. Thì nhập (X,Y) cái là sẽ vẽ được đúng vị trí trên hệ tọa độ luôn.

- Chứ mình làm tay lâu quá.

============== Xin cảm ơn mọi người đã đọc tin/ giúp đỡ/ hướng dẫn/ trao đổi ================

7.2022 Hoi lisp tao he toa do. xuat toa do.dwg

Chỉnh sửa theo 843824
(quên đính kèm file BV ^^)

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

@Doan Van Ha: ok a. 

Cái này bình thường không có gì a ạ. Ai giúp dùm mình cám ơn nhé. Còn cafe bình thường mà đâu có sao a. 

- E cứ nghĩ sẽ có người thắc mắc vấn đề này rồi ... hoặc tương tự kiểu kiểu vậy. 

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
5 giờ trước, 843824 đã nói:

Xin chào các ACE diễn đàn... đã lâu rồi không dùng lại CAD cần thao tác một số công việc. Do nay mình chỉ xem Bve là chủ yếu. Nên nó lục nghề hẳn... hì hì. 

Mong mọi người giúp cái Lisp như sau: (có đính kèm bản vẽ - đã làm tay nhưng lâu quá).

1. Mình cần tạo 1 hệ tọa độ người dùng, vị trí Điểm O của hệ OXY do mình pick.

- Khoảng cách (bước chia) trên hệ X,Y do mình nhập: trong file đang làm là 10.000 đơn vị CAD = 10.

1.1. Như vậy khi mình muốn thay đổi gốc tọa độ (O) pick chổ khác, hoặc thay đổi bước chia: các điểm cao độ vẫn giữ thì lisp sẽ tính lại cho mình theo Hệ tọa độ mới.

2. Mình có các điểm Block ATT là các vị trí đo cao độ mà mình muốn xuất tọa độ (như bảng xuất kế bên). 

- Base Point của Block ATT là vị trí mình đo.

- Chỉ có nhu cầu: Xuất các thông tin đã có trong Block ATT và thêm 2 cột tọa độ X, Y (theo trục giả định đã tạo ở 1.) ra file *.TXT là mình xử lý tiếp được rồi.

3. Nếu thêm được: 

- Mình xin thêm 1 lệnh là với hệ tọa độ giả định này, người dùng muốn vẽ thêm các điểm Cao độ mới nữa với (X,Y) đã có. Thì nhập (X,Y) cái là sẽ vẽ được đúng vị trí trên hệ tọa độ luôn.

- Chứ mình làm tay lâu quá.

============== Xin cảm ơn mọi người đã đọc tin/ giúp đỡ/ hướng dẫn/ trao đổi ================

7.2022 Hoi lisp tao he toa do. xuat toa do.dwg

Nếu chưa ai hỗ trợ liên hệ mình để trao đổi thêm nhé. zalo:0848.998.045

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

1. Bản vẽ này đã bị scale 1000 lần từ bản vẽ khảo sát địa hình, nên tọa độ các điểm đã thành tọa độ giả định mà không theo VN2000 nữa (cũng có thể bản ks cũng giả định tọa độ, nhưng hầu hết bây giờ đều đo chính xác theo VN2000). Bạn chỉ cần scale bản vẽ với tỉ lệ 0.001 là đo được theo đơn vị mét.

Chuyển tọa độ về WCS. Vẽ 1 line từ 0,0 đến gốc tọa độ giả định (Mgđ), move toàn bộ bản vẽ từ Mgđ đến gốc tọa độ WCS, tương ứng move từ Endpoint đến Startpoint. Như vậy bạn đã có thể thao tác add block  trên bản vẽ này rồi.

2. File lsp sau sẽ giup bạn xuất tọa độ, chú thích cách dùng trong file

 

xuattoado.lsp

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

update thêm lệnh doitoado để dùng cho bước 1

;;command: doitoado
(defun c:doitoado ( / OSM PT SS)
(setq osm (getvar "osmode"))
(command "ucs" "w" "")

(setq pt (getpoint "\nChon moc toa do"))
  (setvar "osmode" 0)
(setq ss (ssget "x" ))
(command "scale" ss "" pt 0.001)
(command "move" ss "" pt '(0 0 0))
(command "zoom" "e")
(setvar "osmode" osm)
  )

 

  • Like 3

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
Vào lúc 24/7/2022 tại 19:57, Nguyễn Hà Huy đã nói:

giờ mấy bác biết viết lisp ít vào diễn đàn quá

 

Ai cũng lu bu nhiều công việc mà bác ... đâu có gì đâu.

Vào lúc 24/7/2022 tại 20:39, huunhantvxdts đã nói:

Nếu chưa ai hỗ trợ liên hệ mình để trao đổi thêm nhé. zalo:0848.998.045

Em đang pm Zalo.

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  

×