【问题标题】:File exist issue with maxscriptmaxscript 文件存在问题
【发布时间】:2020-10-22 22:27:14
【问题描述】:

我正在编写一个小脚本来等待文件存在,然后读取 .Just 它。 但我的问题是我有一个 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

谁能给我一个例子或代码/帮助/解决方案?

非常感谢!

【问题讨论】:

    标签: 3dsmax maxscript


    【解决方案1】:

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

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

    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()
    

    【讨论】:

    • 谢谢。但是计时器不会停止。 :/ 我测试了 c# timer 的所有相关方法。
    猜你喜欢
    • 2020-10-18
    • 2023-01-29
    • 2020-02-03
    • 2011-11-23
    • 2015-11-10
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    相关资源
    最近更新 更多