/

3 tháng 7, 2013

Tệp tin *.NTD những điều cần biết (phần 1)

Giới thiệu


Nhắc đến tệp tin *.NTD (gọi tắt là file NTD), chắc không ai trong ngành Khảo sát - Thiết kế đường bộ là không biết. Nhưng trong các tài liệu hướng dẫn về NOVA, có rất ít thông tin về loại tệp tin có thể coi là bộ xương của một tuyến đường này. Chính vì vậy, trong bài viết này, chúng ta sẽ đi sâu nghiên cứu cấu trúc của một file NTD, để có một cái nhìn chi tiết hơn về loại tệp tin này.

Một tệp tin NTD thông thường

Nội dung của bài viết:

Các phiên bản file NTD


Trong phạm vi bài viết, tôi chỉ để cập đến file NTD của phiên bản NOVA TDN16 (phiên bản chạy trên AutoCAD2004 - 2005 - 2006) mới nhất của Harmony.

Một lần nữa, bạn nên tải chương trình Notepad ++ làm trình soạn thảo mặc định cho các loại tệp tin *.txt, *.lsp và *.ntd

Notepad++ Download
Download Notepad ++

Mục đích của bài viết:
  • Hiểu một cách tổng quan về tệp tin NTD
  • Tìm ra và khắc phục lỗi của tệp tin NTD
  • Chỉnh sửa tệp tin NTD theo ý muốn
  • Xây dựng các ứng dụng có khả năng tương tác với Nova nói chung và tệp tin *.NTD nói riêng.
Chúc các bạn có thể tìm ra những kiến thức bổ ích cho riêng mình!

Phần 1: Dòng tiêu đề của tệp tin (03 dòng đầu tiên)


Khi mở 1 tệp tin *.NTD bất kỳ, bạn sẽ thấy 3 dòng tiêu đề quan trọng sau:
TDN Version 3.5
SYMBOLS ND TD P TC NC
TYPEINPUT 0 0 0 0 0

Dòng 1:

TDN Version 3.5
Bao gồm hai thành phần "TDN" và "Version 3.5" được phân cách bởi một dấu tab.
Dòng này có tác dụng khai báo chương trình và phiên bản của chương trình Nova, Topo (hay nói chính xác hơn là phiên bản của tệp tin *.NTD). Ở đây là phiên bản 3.5.

Không có nhiều thông tin khác về dòng tiêu đề này. Ngoại trừ việc bạn nên sử dụng đúng khai báo này trong mọi tệp tin *.NTD.

Dòng  2:

SYMBOLS ND TD P TC NC

Bao gồm 6 thành phần:
  • SYMBOLS Là tiêu đề của dòng.
  • 5 thành phần còn lại là "ND", "TD", P", "TC", "NC" có tác dụng khai báo các tên cọc trong đường cong tròn và đường cong chuyển tiếp.
Khi làm việc với NOVA, người ta sẽ không để ý điến việc khai báo tên cọc trong đường cong mà sẽ mặc định theo thói quen là ND, TD, P, TC, NC. Tuy nhiên với TOPO lại khác.

Lệnh GP Tạo cọc đặc biệt trong TOPO
Việc có thể phát sinh cọc một cách tự động và trực quan trong TOPO, đã cho phép người ta có thể dễ dàng tuỳ biến tên cọc trong đường cong. Nếu bạn không thích tên cọc là P1, bạn hoàn toàn có thể đặt là E1, B1, hay bất cứ cái tên nào bạn muốn.

Tuy việc này không hề ảnh hưởng đến tuyến đường trong bản vẽ đang làm việc, nhưng lại hết sức tai hại với tệp tin NTD mà bạn sẽ xuất ra từ lệnh EACD, SSLT (trong NOVA).

Theo một chuẩn thống nhất (giữa NOVA, TOPO) được thể hiện rất rõ trong dòng khai báo chúng ta đang nhắc tới. Thì tên cọc trong đường cong bắt buộc phải là:
  • ND cho cọc Nối đầu
  • TD cho cọc Tiếp đầu
  • P    cho cọc Phân giác
  • TC cho cọc Tiếp cuối
  • NC cho cọc Nối cuối
Mọi việc tuỳ biến tên cọc khác với tiêu chuẩn trên đều có thể khiến tuyến đường tạo từ tệp tin NTD bị sai khác, hư hỏng. Bởi đơn giản, các chương trình đọc tệp tin NTD này sẽ không hiểu và không tìm ra các cọc trong đường cong.

Bạn vẫn có thể tạo tên cọc theo ý mình?


Đúng vậy!

Tôi đã thí nghiệm đặt tên cọc lần lượt là NDA, TDA, E, TCA, NCA. Khi xuất số liệu, cả NOVA và TOPO vẫn xuất ra dòng khai báo mặc định "SYMBOLS    ND    TD    P    TC    NC".

Như đã cảnh báo, nếu tạo tuyến từ tệp tin này, thì tuyến đường sẽ không chính xác như mong muốn. Lúc này, bạn hãy nghĩ đến việc chỉnh sửa dòng khai báo theo ý mình. Và tuyến đường thân yêu sẽ lại hiện ra!

SYMBOLS NDA TDA E TCA NCA

Đến đây, ít nhất là bạn đã có thể tương tác với một tệp tin NTD (theo cách mà không mấy ai rỗi việc muốn làm). :)

Lỗi Thiếu cọc đường cong


Nếu bạn làm việc trên một bản vẽ tuyến gốc, (không phải qua bước biên tập tệp tin NTD), thì bạn không phải quan tâm đến việc thừa hay thiếu cọc.

Tuy nhiên, với những người phải làm công việc không mấy vui vẻ là dựng lại tuyến từ những bản vẽ "chết" (bản vẽ Bình đồ, Trắc dọc, Trắc ngang trên giấy) thì lại thường xuyên gặp lỗi thiếu cọc, dẫn đến không thể vẽ được tuyến từ tệp tin NTD.

Lỗi điển hình khi thiếu cọc
Thông thường trên bản vẽ Trắc dọc, kỹ sư thiết kế sẽ phải "TRIM" tuyến theo đúng lý trình được giao (ví dụ từ cọc KM0+00 đến cọc Km1+00). Tất nhiên trắc ngang và bình đồ cũng chỉ thể hiện đến đúng các cọc giới hạn trong đoạn tuyến nghiên cứu. Dẫn tới hệ quả tất yếu là tệp tin NTD dựng lại cũng bị TRIM theo.


Vì vậy, nếu chỉ sử dụng những thông tin có trên bản vẽ, chắc chắn họ sẽ không bao giờ dựng lại được tuyến đúng như yêu cầu.

Cách khắc phục lỗi thiếu cọc trong tệp tin NTD


TOPO và NOVA chỉ làm việc được nếu đường cong được coi là hoàn thiện, nghĩa là đường cong đó có đầy đủ các cọc. Đây là nguyên tắc cơ bản và cũng là kim chỉ nam để chúng ta "biên tập" lại tệp tin NTD.

Việc đầu tiên bạn cần làm là xác định được các thông số của đường cong, từ đó sử dụng tính toán để xác định hai yếu tố Tên cọc, Lý trình, Góc chuyển hướng.

Khi đã tìm được tên cọc và lý trình thích hợp, bạn điền thông tin vào một dòng khai báo theo mẫu dưới đây và chèn vào vị trí thích hợp trong tệp tin NTD.

POLE    TC2    113.86000    0.00000    0.00000    0.00000    3.141592653590

Việc tính toán Lý trình và Góc chuyển hướng, Cách điền vào dòng khai báo sẽ được đề cập trong Phần 2: Khai báo thông tin cọc.

Dòng  3:

TYPEINPUT 0 0 0 0 0

Bao gồm 1 tiêu đề và 5 tham số:
  • TYPEINPUT Là tiêu đề của dòng, có nghĩa là kiểu đầu vào.
  • Tham số thứ 1: là tham số quy định khoảng cách giữa các cọc POLE là KC lẻ hay KC cộng dồn. Tham số này nhận 2 giá trị: 1 nếu là KC lẻ và 0 nếu là cộng dồn
  •  Tham số thứ 2: là tham số quy định khoảng cách giữa các điểm mia trên một trắc ngang (POLE).
    Tham số nhận giá trị: 1 nếu là KC lẻ0 nếu là cộng dồn.
  • Tham số thứ 3: là tham số quy định chiều cao của các điểm mia trong 1 trắc ngang.
    Tham số nhận giá trị: 1 nếu là chênh cao0 nếu là cao độ tuyệt đối.
  • Tham số thứ 4: quy định biến "Nhập tương đối so với cọc"
    Nhận 2 giá trị là 0 và 1.
  • Tham số thứ 5: chưa tìm ra :)
Theo mặc định của NOVA, cả 5 tham số đều nhận giá trị 0 (như khai báo trong ví dụ ban đầu). Năm tham số này tương ứng với bảng lựa chọn của NOVA:



Nếu bạn nào làm khảo sát, chắc hẳn đã từng nhập trắc ngang dựa vào Sổ đo chênh cao trắc ngang.

Theo đó cao độ điểm mia được tính theo kiểu chênh cao lũy kế dựa vào cao độ tại tim. Và khoảng cách điểm mia cũng là khoảng cách lẻ. Công việc tiếp theo là nhập cao độ vào tệp tin NTD có sẵn.

Chính bước này sẽ gây ra một lỗi khá thú vị. Đó là mặc định của tệp tin là 0 0 0 0 0 (Cộng dồn, Cộng dồn, Tuyệt đối, ....). Nhưng sổ đo cao lại là (Cộng dồn, Khoảng cách lẻ, Tương đối). Ở đây, ta chỉ chú ý đến 2 tham số thứ 2 và 3, quy định kiểu số liệu trên Trắc ngang.

Kết quả của sai sót là vô cùng lớn, trắc ngang sai không kiểm soát. Nhưng bạn đừng sợ, đừng cuống cuồng tìm cách cắt ghép tệp tin NTD.

Sai sót nghiêm trọng, nhưng cách khắc phục lại vô cùng đơn giản!


Bạn mở tệp tin NTD bằng chương trình Notepad, chỉnh sửa các tham số đã nói cho phù hợp với kiểu nhập trắc ngang của mình.
  • Nếu khoảng cách các điểm mia theo kiểu Cự ly lẻ thì tham số thứ 2 đặt là 1, nếu là Cộng dồn thì đặt bằng 0.
  • Nếu cao độ các điểm mia là Chênh cao, tham số thứ 3 đặt là 1, nếu là Cao độ tuyệt đối thì đặt bằng 0.
Ví dụ:

TYPEINPUT 0 1 1 0 0

Xong xuôi, bạn Save lại và tận hưởng thành quả!


Một số lưu ý:
- Các thành phần trong cùng một dòng đều được phân cách bằng một dấu tab (Trong AutoLISP và ObjectARX là ký tự '\t').

(còn nữa ...)