使用PyDev

时间:2017-05-23 13:23:13

标签: python pydev blender

我希望能够在Eclipse中直接使用来自PyDev的blender代码,因此我可以利用blender模块创建3D对象,同时使用我自己的一些代码。我已经按照以下步骤在我的Windows机器中构建了搅拌机,因此我可以使用搅拌机作为模块。

https://wiki.blender.org/index.php/User:Ideasman42/BlenderAsPyModule

https://wiki.blender.org/index.php/User%3aIdeasman42/BlenderAsPyModule

现在我实际上是在尝试使用PyDev进行编码,但是我遇到了让它运行的问题。

我在PyDev中的代码如下。

import bpy
from bpy import context
from math import sin, cos, radians

x = -3
y = -5
z = 3

bpy.ops.mesh.primitive_plane_add(radius=1, view_align=False, 
enter_editmode=False, location=(x, y, z), layers=(True, False, False, False, 
False, False, False, False, False, False, False, False, False, False, False, 
False, False, False, False, False))

当我在PyDev中运行int时出现以下错误:

  

'错误:未释放的内存块:8,未完全内存总量0.008392 MB   AL lib:(EE)UpdateDeviceParams:无法设置44100hz,得到48000hz   代替'

如果我在blender本身内运行相同的代码,它会按预期创建一个平面。我的理解是,在将blender构建为py模块之后,我应该能够在pyDev本身中运行代码。

我想知道是否有人有他们在pyDev中使用的样本blender代码并且工作,只是为了我可以测试它pyDev并查看它是否在blender中创建了一些东西。从PyDev创建开口混合器或从PyDev本身创建一个平面可能很简单。我已经尝试过寻找样本了,但我发现的所有内容都是在blender中运行python,而我想做的就是在python中运行blender。

我对此很新,所以我很可能在代码中遗漏了一些内容。

1 个答案:

答案 0 :(得分:1)

错误消息是两个连接在一起的消息,第一个关于不同内存更多是调试报告,而另一个来自openal audio settings。两者都可以忽略。在blender退出时打印内存错误消息,这意味着脚本已经运行并且运行脚本的python解释器已经关闭,这也意味着您创建的任何blender数据都已被释放。

对于更持久的数据,您需要opensave混合文件。

要显示您确实创建了该平面,请在脚本末尾添加以下内容 -

for o in bpy.data.objects:
    print(o.name, o.location)

您可以在blender here中找到有关使用pydev / pycharm的一些信息,其中显示了设置远程调试以便您可以在blender中运行脚本。您还可以在blender.stackexchange.com获取特定于blender的python帮助。