maxscript 文件存在问题

File exist issue with maxscript

我正在编写一个小脚本来等待文件存在然后读取。就这样。 但我的问题是我有一个 while 循环,它只是等待一个文件存在并且我的脚本和 3dsmax 没有响应。 . . 我不知道如何修复我的未响应错误,但我已经通过线程在 c# 中完成了很多次。 顺便说一下,目前还没有想法。 这是我的剧本

while true do
(
file_name = openfile “C:/Users/Kasra/Dekstop/t.txt”
if file_name != “undefined” then
(
exit
)
)

file_address = readLine file_name

谁能给我举个例子或者 code/help/solution?

非常感谢!

如果您使用无限循环,您将永远不会留出时间执行任何其他操作,因此会使 3ds Max 无响应。一旦文件被正确打开,它在技术上应该再次响应。如果文件存在还是没有反应,我怀疑3ds Max进程可能没有足够的权限来成功文件?

或者,如果您想避免阻塞 UI,您可以使用 .Net 计时器每 x 毫秒生成一次事件以检查文件是否存在。这将避免阻塞 3ds Max。 这是一个可能对您有所帮助的小片段:

fileThatShouldExist = "C:/Users/Kasra/Dekstop/t.txt"
fn doWhatIsNext = (
    print "do what you want once the file exist"
)

fn executeEvertTick = (
    if doesFileExist fileThatShouldExist do (
        myTimer.stop()
        doWhatIsNext()
    )
)
myTimer = dotNetObject "System.Windows.Forms.Timer"

dotnet.addEventHandler myTimer "tick" executeEvertTick
myTimer.interval = 1000 -- every 1000 ms
myTimer.start()