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