top of page

PML Cơ Bản - Phần 4

Updated: Dec 30, 2020

Chào các bạn, các phần trước chúng ta đã tìm hiểu các phần tử cơ bản của PML, các thao tác với đối tượng trong module design. Vậy có lúc nào các bạn muốn ghi những thông tin thu thập được ra file không? Nếu có đây là bài viết dành cho các bạn, chúng ta cùng tìm hiểu về file object trong PML nhé.

Hình 1: PML Basic

1. File Object

PML là một object có sẵn trong PML, ta có thể khởi tạo một file object với đường dẫn bằng lệnh:

!<tên file> = object file(‘<đường dẫn>’)

Ví dụ: !file = object file(‘C:/tempt/test.txt’)

Trong đó !file là tên biến (bạn có thể thay đổi nếu thích nhé), C:/temp/test.txt là chuỗi chứa đường dẫn file, vì đường là một chuỗi nên đừng quên luôn đặt nó trong cập dấu nháy đơn ‘…’ hoặc dấu |…| nhé.

Trong command line sau khi tạo file object, bạn có thể tìm hiểu các method có thể thao tác trên object này bằng lệnh

Q method !<tên file>

Hình 2: File Methods

Để gọi một method bạn dùng lệnh: !<tên biến>.<method>()

Ví dụ để kiểm tra file có tồn tại hay không, ta dùng lệnh !file.EXISTS()

Một số method cơ bản như sau:

2. Ví dụ

Trong ví dụ này ta sẽ xuất thông tin những branch trong màn hình ra file csv. Thông tin bao gồm, tên Bran, tên Pipe, đường kính brach nhé. Trình tự sẽ như sau:

Bước 1: Collect Branch trong drawlist vào biến !branchs. Ta dùng lệnh:

Var !BRANCHs coll all branch from drawlist

Bước 2: Khởi tạo file Report.csv

!file = Object File(‘C:\temp\Report.csv’)

Bước 3: Kiểm tra nếu file đang mở, ta kết thúc chương trình, nếu không ta tiếp tục bước 4.

Bước 4: Chạy qua từng item trong mảng !brachs và lấy thông tin ghi ra file Report

Macro như sau:

--Collect file from drawlist

Var !BRANCHs coll all branch from drawlist

--Create file object

!file = Object File(‘C:\temp\Report.csv’)

--Check file is open or not

If !file.isopen() then

--Show error message

!!alert.error(‘Please close file and try again’)

RETURN

Else

--Open file

!file.Open(‘Over’)

Do !bran val !branchs

$!bran

--Get pipe name

Var !pipe pipe

--Get Branch name

Var !Branname name

--Get head size

Var !Hbore Hbore

--Write line to file

!file.Writerecord(!pipe + ‘;’ + !branname + ‘;’ + !Hbore)

Enddo

--Close file

!file.close()

Endif

Lưu lại macro và chạy trong PDMS ta sẽ thu được file CSV nội dung như sau:

Hình 3: Test Macro

Đến đây chắc hẳn các bạn đã biết cách ghi, đọc file trong PML rồi nhỉ. Hi vọng qua chuỗi bài viết về PML sẽ giúp ích cho công việc của các bạn và đừng quên đó đọc những bài PML tiếp theo cũng như tất cả những bài viết thú vị hữu ích mỗi tối thứ bảy nhé!!

Chúc các bạn cuối tuần vui vẻ và tiếp tục nghỉ lễ nhiều niềm vui!

bottom of page