No module named RevitServices ?

        上周,在给同事写一个在原有族实例的位置替换成新的族实例并改变其参照标高的程序时,在我自己的电脑上测试运行时能够成功运行。可当我把程序发给同事使用时,新的族实例能够布置,但修改参照标高这一步总是不能成功执行。

        修改参照标高用的是MEPover中的elements change level 的节点,由于这是个自定义节点,未能成功运行,也不报是什么类型错误显示给用户,于是编辑自定义节点,将其中的python脚本复制出来粘贴进PythonScript中就报出“No module named RevitServices”的错误。 

No module named RevitServices ?插图

    但在Dynamo的安装路径下有这个RevitServices库,并在脚本中正确引用了进来。

No module named RevitServices ?插图1

No module named RevitServices ?插图2

    由于之前在技术交流群里面就看到有其他人已经遇到过相同的问题,都是由于安装了构件坞的插件导致的,给出的解决方案都是将其卸载。看同事电脑,果然安装了构件坞。经过一番测试,发现了两个不卸载构件坞也能解决这个问题的方法。

方法一:

在C:ProgramDataAutodeskRevitAddins20xx路径下可以看到所有Revit集成插件的addin文件,找到构件坞的addin文件,将其移出此路径,再打开Revit时就不会加载此插件,若想再使用该插件时,将其addin文件移回此路径即可。

No module named RevitServices ?插图3

方法二:

在PythonScript脚本中将RevitServices.dll所在的路径加载当前运行环境中来,通过下面的几行代码即可实现:

import syssys.path.append(r'E:DynamoDynamo Revit2Revit_2018')clr.AddReference("RevitServices.dll")

    RevitServices.dll所在的路径因安装时选择位置而异,通常默认路径为:

C:Program FilesDynamoDynamo Revit2Revit_20xx,我这里安装时改变了其默认路径。

        至于为什么构件坞影响PythonScript引用RevitServices.dll这个库,而不影响相同路径下的其他库的引用,需向构件坞的开发人员反映此问题才可得知。

欢迎阅读,分享,交流,批评指正。

如转载请注明出处,否则追究法律责任(说说而已,全靠自觉)。

No module named RevitServices ?插图4

0

评论0

请先

没有账号? 注册  忘记密码?

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站
普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress