ฉันมีลำดับของไฟล์ VTK ดั้งเดิม เช่น: file_0.vtk
, file_1.vtk
, file_2.vtk
ซึ่งฉันสามารถเปิดใน ParaView เป็นอนุกรมเวลาได้ (อธิบายไว้ที่นี่ ) เป็น file_..vtk
และลำดับของไฟล์สามารถดูและเคลื่อนไหวได้โดยใช้การควบคุมเวลา ขณะนี้ฉันใช้ ParaView 4.4.0
ไฟล์ VTK ดั้งเดิมจะมีลักษณะดังนี้ โดยที่ค่าการประทับเวลาจะถูกเก็บไว้ในส่วนหัว (บรรทัดที่สอง):
# vtk DataFile Version 3.0
vtk output: file at time 0.0
ASCII
...
อย่างไรก็ตาม ใน ParaView ค่าการก้าวเวลาจะถือว่าเหมือนกับดัชนี กล่าวคือ ดัชนี 0 คือเวลา 0.0 ดัชนี 1 คือเวลา 1.0 และดัชนี 2 คือเวลา 2.0 และการเพิ่มตัวกรอง AnnotateTime ยังแสดงขั้นตอนเวลาเหล่านี้สำหรับดัชนีลำดับเวลาอีกด้วย
อย่างไรก็ตาม ไฟล์ของฉันใช้การประทับเวลาแบบแปรผัน ตามที่อธิบายไว้ในส่วนหัวของแต่ละไฟล์ (ฉันไม่คิดว่ารูปแบบ VTK ดั้งเดิมมีวิธีระบุค่าเหล่านี้) ฉันได้ดูแอปพลิเคชันของ ParaView เพื่อดูว่ามีวิธีนำเข้าหรือแก้ไขค่าเหล่านี้หรือไม่ แต่ฉันหาไม่พบ
การใช้ Python Shell ในตัว นี่คือความพยายามที่น่าเศร้าของฉันในการสร้างวัตถุด้วย LegacyVTKReader:
files = ['file_0.vtk', 'file_1.vtk', 'file_2.vtk']
times = [0.0, 0.022608, 0.73781]
# First attempt
r = LegacyVTKReader(FileNames=files, TimestepValues=times)
print(r.TimestepValues) # [0.0, 1.0, 2.0]
# Second attempt to try and fix it
r.TimestepValues = times
print(r.TimestepValues) # [0.0, 0.022608, 0.73781]
Show(r)
ซึ่งแสดงอย่างถูกต้องในกล่องโต้ตอบ "ข้อมูล" ของวัตถุจนกว่าฉันจะเพิ่ม AnnotateTimeFilter ซึ่งจะรีเซ็ต 0 ถึง 0, 1 ถึง 1 และ 2 ถึง 2
มี วิธีใด ที่ใช้ point-click หรือ Python ในการอัปเดตค่าการจับเวลาสำหรับแต่ละดัชนีของวัตถุ VTK ดั้งเดิมใน ParaView หรือไม่