报错材料库已经存在某种材料名字怎么办?


#1

你好,我的脚本自定义了一种材料,在调试脚本的时候,如果我运行过一次,材料库就会存在我定义的这种材料名,
当我调试结束重新运行脚本的时候就会报错,如下:
Error: The material name, Si (Silicon) - Dispersive & Lossless, already exists.
只有把软件关掉,然后重新打开软件并运行脚本才可以顺利进行,有没有什么命令,能够在脚本的最后删除自定义的材料,
这样每次调试不用关闭软件就可以多次运行脚本了?谢谢!


#2

的确有这个问题。当然也有相应的删除命令,请使用deletematerial这个命令:
deletematerial(“material_name”);
作用:Deletes a material named “material_name” from the material database.


#3

谢谢孙老师,我在脚本的最后加入了delete的命令,运行时显示该材料 is delete protected,我猜测应该是模型中有结构还在使用相应的自定义材料,于是我采用了下面的解决方法:
首先选择了使用自定义材料的结构,把它们的材料属性全部设置成原本材料库中存在的任意一种材料,然后使用deletematerial命令,但是依然显示自定义材料是is delete protected,不知道是什么原因?
另外对于这种情况,孙老师是否有好的建议能够避免每次都要重新打开软件进行脚本运行调试?谢谢


#4

你的办法很好;
很可能你忘记删除某个物体的材料了。
我添加了一个H2O材料,用下面脚本可以删除,没有发现材料保护:
switchtolayout;
setnamed(“rect”,“material”,“H2O”);
run;
switchtolayout;
setnamed(“rect”,“material”,“etch”);
deletematerial(“H2O”);

再有问题将脚本和简化的文件发来。也许你要用新版。


#5

非常感谢,我已经解决了这个问题!