## **壹、获取全选**
**AOI:** 首先切换到脚本编辑界面
![](https://box.kancloud.cn/11828b53715cad142aaf4a6e042dd3dc_263x273.png)
![](https://box.kancloud.cn/56495f6028fa059040478c0dbc718520_1920x1048.png)
左边那一块就是脚本编辑视图,这个毫无疑问了。而下面的黑色大块,则是python的交互窗口,可以直接在这里执行命令。
首先在交互窗口可以看到的是这么些内容
![](https://box.kancloud.cn/18a9b666bb7f36cfb6e99959270b85ca_782x159.png)
这些内容详细的写上了python版本,交互窗口的操作快捷键等等的信息。而最下面的几行写的却不是操作相关的信息,而是别的内容
**H子:** 说的是这个?
![](https://box.kancloud.cn/7c92f9e419cafaef1399125811d4ea95_781x44.png)
上面写了一堆内置模块和便利化的导入库以及变量?说的是什么呢?
**AOI:** 这里就本着简单入门的原则来解释一下,方便后面的展开好了。
首先对于我们获取选中对象的最重要的一项,就是bpy.context
可以看到,在blender API的文档上面
![](https://box.kancloud.cn/7d1b3d4ee46281d1b5c1a50c194ec9e4_611x287.png)
Application Modules这一栏第一个就是Contex Access(bpy.context),可见其重要性。
对于这个类,原文描述是:
>The context members available depend on the area of Blender which is currently being accessed.
>可用的上下文成员取决于正在访问的Blender区域
>Note that all context values are readonly, but may be modified through the data api or by running operators
>所有上下文成员都是只读的,但是可以用过data api或者运算符进行操作。
简单来说,就是可以从这个api里面获取到正在操作的区域的对象。比如说正在3DViewer区域选中了一些模型。那么就可以通过bpy.context下面的某个值获取当前选中的对象了。而此处要说的,就是这“某个对象”了。
首先去到交互窗口,输入bpy.contex.
![](https://box.kancloud.cn/73f94e5f0413fd964fb2f239962aac3c_241x18.png)
然后按下 **【Ctrl+空格键】** 使其弹出自动补完代码提示。
![](https://box.kancloud.cn/fe078bfcfbc433b886868ec3d203aafd_487x412.png)
就可以看到下面弹出了长长的一条代码提示。同样的,具体的每个值可以获取什么东西,都可以在[**API页面**](https://docs.blender.org/api/blender_python_api_current/bpy.context.html)看到具体的描述。
而我们获得选中对象所需要的值,就是
bpy.context.selected_objects
直接在交互窗口输入这一行命令
![](https://box.kancloud.cn/9293a2785f7523b1c1254ef435b49aef_736x38.png)
就可以直接见到输出了三个对象,可以看出bpy.context.selected_objects所获取的,就是选中的所有对象的数组。
**H子:** 这样的话,往后就可以开辟一个新变量储存起这个数组的内容,也可以使用各种方式对数组进行遍历,再进一步进行其他的操作了。