最大脚本存在文件问题



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

有人可以给我一个例子或代码/帮助/解决方案吗?

多谢!

如果使用无限循环,则永远不会有时间执行任何其他内容,从而使 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()

最新更新