脚本与 Python API

MQObject · 对象

本页目录
  1. 属性
  2. 方法
  3. clone
  4. merge(source)
  5. freeze([flag])
  6. clear
  7. addVertex(point)
  8. addVertex(x, y, z)
  9. deleteVertex(index[, delete_face])
  10. addFace(list)
  11. insertFace(index, list)
  12. deleteFace(index[, delete_vertex])
  13. invertFace(index)
  14. optimizeVertex(distance)
  15. compact
  16. getVertexIndexFromUniqueID(id)
  17. getFaceIndexFromUniqueID(id)
  18. allocUserData(userdata_id)
  19. freeUserData(userdata_id)
  20. getUserDataInt(userdata_id, offset)
  21. getUserDataFloat(userdata_id, offset)
  22. getUserDataString(userdata_id, offset, length)
  23. setUserDataInt(userdata_id, offset, value)
  24. setUserDataFloat(userdata_id, offset, value)
  25. setUserDataString(userdata_id, offset, length, value)
  26. allocVertexUserData(userdata_id)
  27. freeVertexUserData(userdata_id)
  28. getVertexUserDataInt(userdata_id, index, offset)
  29. getVertexUserDataFloat(userdata_id, index, offset)
  30. getVertexUserDataString(userdata_id, index, offset, length)
  31. setVertexUserDataInt(userdata_id, index, offset, value)
  32. setVertexUserDataFloat(userdata_id, index, offset, value)
  33. setVertexUserDataString(userdata_id, index, offset, length, value)
  34. allocFaceUserData(userdata_id)
  35. freeFaceUserData(userdata_id)
  36. getFaceUserDataInt(userdata_id, index, offset)
  37. getFaceUserDataFloat(userdata_id, index, offset)
  38. getFaceUserDataString(userdata_id, index, offset, length)
  39. setFaceUserDataInt(userdata_id, index, offset, value)
  40. setFaceUserDataFloat(userdata_id, index, offset, value)
  41. setFaceUserDataString(userdata_id, index, offset, length, value)
  42. activateUVChannel(channel)
  43. addUVChannel(channel)
  44. deleteUVChannel(channel)

MQObject 包含顶点和面。

属性#

读取(get) 写入(set) 类型 名称 说明
x x string name 对象名称
x long id 对象唯一 ID
x x string typeName 对象类型
[对象(Object)] 多边形对象
[PointLight] 点光源
[DirLight] 平行光源
x int numVertex 顶点数量
x int numFace 面数量
x list<MQVertex> vertex 顶点列表
x list<MQFace> face 面列表
x x int visible 对象可见性
[0] 隐藏
[1] 可见
x x int lock 对象锁定状态
[0] 禁用
[1] 已锁定
x x int select 对象选择状态
[0] 未选中
[1] 已选中
x x MQColor color 顶点和边的颜色
x x int colorValid color 属性是否有效
[0] 无效
[1] 有效
x x int shading 启用平滑着色
[0] 平面着色
[1] 平滑着色
x x float smoothAngle 平滑角度
x x int patchType 细分曲面类型
[0] 无(None)
[1] 样条曲面类型 1
[2] 样条曲面类型 2
[3] Catmull-Clark
[4] OpenSubdiv
x x int patchSegment 细分曲面的分段数
x x int patchTriangle Catmull-Clark 细分曲面的三角形划分方式
[0] 划分为四边形
[1] 划分为三角形
x x int patchSmoothTriangle OpenSubdiv 细分曲面的三角形平滑方式
[0] 不平滑
[1] 平滑
x x int patchLimitSurface OpenSubdiv 细分曲面的极限曲面
[0] 不使用极限曲面
[1] 极限曲面
x x int patchMeshInterp OpenSubdiv 细分曲面开放边界的插值方式
[1] 仅边
[2] 边和角点
x x int patchUVInterp OpenSubdiv 细分曲面 UV 边界的插值方式
[0] 全部
[1] 无(None)
[2] 角点 + 1
[3] 边界
[4] 仅角点
[5] 角点 + 2
x x int mirrorType 镜像类型
[0] 无(None)
[1] 在中心分离
[2] 在中心连接
x x int mirrorAxisX 沿 X 轴应用镜像
[0] 无(None)
[1] 启用
x x int mirrorAxisY 沿 Y 轴应用镜像
[0] 无(None)
[1] 启用
x x int mirrorAxisZ 沿 Z 轴应用镜像
[0] 无(None)
[1] 启用
x x int mirrorAxisLocal 按局部坐标应用镜像
[0] 全局坐标
[1] 局部坐标
x x float mirrorDistance 镜像的最大连接距离。
x x int latheType 旋转体类型
[0] 无(None)
[1] 正面
[2] 背面
[3] 双面
x x int latheAxis 旋转体轴向
[0] X
[1] Y
[2] Z
x x int latheSegment 旋转体分段数
x x int depth 层级深度
x x int folding 层级折叠状态
x x MQPoint scaling 局部坐标的缩放系数
x x MQAngle rotation 局部坐标的旋转角度
x x MQPoint translation 局部坐标的平移量
x x float lightValue 灯光亮度
x x int lightAttenuation 灯光衰减
[0] 无(None)
[1] 线性
[2] 二次
x x float lightFalloffEnd 衰减终止距离
x x float lightFalloffHalf 衰减至一半的距离
x x list<int> uvChannels UV 通道 ID 列表
x int activeUVChannel 当前活动 UV 通道 ID

方法#

成员 说明
clone 复制对象。
merge 合并两个对象。
freeze 将细分曲面、镜像等属性转换为多边形。
clear 清除全部顶点和面。
addVertex 添加顶点。
addVertex 添加顶点。
deleteVertex 删除顶点。
addFace 添加面。
insertFace 在指定索引位置插入面。
deleteFace 删除面。
invertFace 反转面的方向。
optimizeVertex 合并指定距离范围内的顶点。
compact 压缩顶点和面的索引。
getVertexIndexFromUniqueID 根据唯一 ID 获取顶点索引。
getFaceIndexFromUniqueID 根据唯一 ID 获取面索引。
allocUserData 为对象中的用户数据分配内存区域。
freeUserData 释放已为用户数据分配的内存区域。
getUserDataInt 从对象用户数据中获取整数值(4 字节)。
getUserDataFloat 从对象用户数据中获取浮点值(4 字节)。
getUserDataString 从对象用户数据中获取字符串。
setUserDataInt 向对象用户数据设置整数值(4 字节)。
setUserDataFloat 向对象用户数据设置浮点值(4 字节)。
setUserDataString 向对象用户数据设置字符串。
allocVertexUserData 为顶点中的用户数据分配内存区域。
freeVertexUserData 释放已为用户数据分配的内存区域。
getVertexUserDataInt 从顶点用户数据中获取整数值(4 字节)。
getVertexUserDataFloat 从顶点用户数据中获取浮点值(4 字节)。
getVertexUserDataString 从顶点用户数据中获取字符串。
setVertexUserDataInt 向顶点用户数据设置整数值(4 字节)。
setVertexUserDataFloat 向顶点用户数据设置浮点值(4 字节)。
setVertexUserDataString 向顶点用户数据设置字符串。
allocFaceUserData 为面中的用户数据分配内存区域。
freeFaceUserData 释放已为用户数据分配的内存区域。
getFaceUserDataInt 从面用户数据中获取整数值(4 字节)。
getFaceUserDataFloat 从面用户数据中获取浮点值(4 字节)。
getFaceUserDataString 从面用户数据中获取字符串。
setFaceUserDataInt 向面用户数据设置整数值(4 字节)。
setFaceUserDataFloat 向面用户数据设置浮点值(4 字节)。
setFaceUserDataString 向面用户数据设置字符串。
activateUVChannel 激活 UV 通道。
addUVChannel 添加 UV 通道。
deleteUVChannel 删除 UV 通道。

clone #

复制对象。

返回值:
MQObject - 复制得到的对象

merge(source)#

合并两个对象。

参数:
MQObject source - 源对象
返回值:
int - 结果
[0] 失败
[1] 成功

freeze([flag])#

将细分曲面、镜像等属性转换为多边形。

参数:
int flag - 标志(可组合)
[1] 细分曲面
[2] 镜像
[4] 旋转体
[-1] 全部
返回值:
int - 结果
[0] 失败
[1] 成功

clear #

清除全部顶点和面。

addVertex(point)#

添加顶点。

参数:
MQPoint point - 新顶点的位置
返回值:
int - 顶点索引
[-1] 失败

addVertex(x, y, z)#

添加顶点。

参数:
float x - 新顶点的 X 坐标
float y - 新顶点的 Y 坐标
float z - 新顶点的 Z 坐标
返回值:
int - 顶点索引
[-1] 失败

deleteVertex(index[, delete_face])#

删除顶点。

参数:
int index - 要删除的顶点索引
int delete_face - 是否删除共享该顶点的面
[0] 不删除(默认)
[1] 删除

addFace(list)#

添加面。

参数:
list<int> list - 顶点索引列表
返回值:
int - 面索引
[-1] 失败
示例:

insertFace(index, list)#

在指定索引位置插入面。

参数:
int index - 面索引
list<int> list - 顶点索引列表
返回值:
int - 面索引
[-1] 失败

deleteFace(index[, delete_vertex])#

删除面。

参数:
int index - 要删除的面索引
int delete_vertex - 删除未被其他面共享的顶点
[0] 不删除(默认)
[1] 删除

invertFace(index)#

反转面的方向。

参数:
int index - 面索引

optimizeVertex(distance)#

合并指定距离范围内的顶点。

参数:
float distance - 合并距离

compact #

压缩顶点和面的索引。

getVertexIndexFromUniqueID(id)#

根据唯一 ID 获取顶点索引。

参数:
long id - 顶点唯一 ID
返回值:
int - 顶点索引
[-1] 失败

getFaceIndexFromUniqueID(id)#

根据唯一 ID 获取面索引。

参数:
long id - 面唯一 ID
返回值:
int - 面索引
[-1] 失败

allocUserData(userdata_id)#

为对象中的用户数据分配内存区域。

参数:
int userdata_id - 对象用户数据
返回值:
int - 结果
[0] 失败
[1] 成功

freeUserData(userdata_id)#

释放已为用户数据分配的内存区域。

参数:
int userdata_id - 对象用户数据

getUserDataInt(userdata_id, offset)#

从对象用户数据中获取整数值(4 字节)。

参数:
int userdata_id - 对象用户数据
int offset - 相对于用户数据起始位置的偏移量
返回值:
int - value
[None] 失败

getUserDataFloat(userdata_id, offset)#

从对象用户数据中获取浮点值(4 字节)。

参数:
int userdata_id - 对象用户数据
int offset - 相对于用户数据起始位置的偏移量
返回值:
float - value
[None] 失败

getUserDataString(userdata_id, offset, length)#

从对象用户数据中获取字符串。

参数:
int userdata_id - 对象用户数据
int offset - 相对于用户数据起始位置的偏移量
int length - 数据长度(字符串的最大字节长度)
返回值:
string - value
[None] 失败

setUserDataInt(userdata_id, offset, value)#

向对象用户数据设置整数值(4 字节)。

参数:
int userdata_id - 对象用户数据
int offset - 相对于用户数据起始位置的偏移量
int value - 值

setUserDataFloat(userdata_id, offset, value)#

向对象用户数据设置浮点值(4 字节)。

参数:
int userdata_id - 对象用户数据
int offset - 相对于用户数据起始位置的偏移量
float value - 值

setUserDataString(userdata_id, offset, length, value)#

向对象用户数据设置字符串。

参数:
int userdata_id - 对象用户数据
int offset - 相对于用户数据起始位置的偏移量
int length - 数据长度(字符串的最大字节长度)
string value - 值

allocVertexUserData(userdata_id)#

为顶点中的用户数据分配内存区域。

参数:
int userdata_id - 顶点用户数据
返回值:
int - 结果
[0] 失败
[1] 成功

freeVertexUserData(userdata_id)#

释放已为用户数据分配的内存区域。

参数:
int userdata_id - 顶点用户数据

getVertexUserDataInt(userdata_id, index, offset)#

从顶点用户数据中获取整数值(4 字节)。

参数:
int userdata_id - 顶点用户数据
int index - 顶点索引
int offset - 相对于用户数据起始位置的偏移量
返回值:
int - value
[None] 失败

getVertexUserDataFloat(userdata_id, index, offset)#

从顶点用户数据中获取浮点值(4 字节)。

参数:
int userdata_id - 顶点用户数据
int index - 顶点索引
int offset - 相对于用户数据起始位置的偏移量
返回值:
float - value
[None] 失败

getVertexUserDataString(userdata_id, index, offset, length)#

从顶点用户数据中获取字符串。

参数:
int userdata_id - 顶点用户数据
int index - 顶点索引
int offset - 相对于用户数据起始位置的偏移量
int length - 数据长度(字符串的最大字节长度)
返回值:
string - value
[None] 失败

setVertexUserDataInt(userdata_id, index, offset, value)#

向顶点用户数据设置整数值(4 字节)。

参数:
int userdata_id - 顶点用户数据
int index - 顶点索引
int offset - 相对于用户数据起始位置的偏移量
int value - 值

setVertexUserDataFloat(userdata_id, index, offset, value)#

向顶点用户数据设置浮点值(4 字节)。

参数:
int userdata_id - 顶点用户数据
int index - 顶点索引
int offset - 相对于用户数据起始位置的偏移量
float value - 值

setVertexUserDataString(userdata_id, index, offset, length, value)#

向顶点用户数据设置字符串。

参数:
int userdata_id - 顶点用户数据
int index - 顶点索引
int offset - 相对于用户数据起始位置的偏移量
int length - 数据长度(字符串的最大字节长度)
string value - 值

allocFaceUserData(userdata_id)#

为面中的用户数据分配内存区域。

参数:
int userdata_id - 面用户数据
返回值:
int - 结果
[0] 失败
[1] 成功

freeFaceUserData(userdata_id)#

释放已为用户数据分配的内存区域。

参数:
int userdata_id - 面用户数据

getFaceUserDataInt(userdata_id, index, offset)#

从面用户数据中获取整数值(4 字节)。

参数:
int userdata_id - 面用户数据
int index - 面索引
int offset - 相对于用户数据起始位置的偏移量
返回值:
int - value
[None] 失败

getFaceUserDataFloat(userdata_id, index, offset)#

从面用户数据中获取浮点值(4 字节)。

参数:
int userdata_id - 面用户数据
int index - 面索引
int offset - 相对于用户数据起始位置的偏移量
返回值:
float - value
[None] 失败

getFaceUserDataString(userdata_id, index, offset, length)#

从面用户数据中获取字符串。

参数:
int userdata_id - 面用户数据
int index - 面索引
int offset - 相对于用户数据起始位置的偏移量
int length - 数据长度(字符串的最大字节长度)
返回值:
string - value
[None] 失败

setFaceUserDataInt(userdata_id, index, offset, value)#

向面用户数据设置整数值(4 字节)。

参数:
int userdata_id - 面用户数据
int index - 面索引
int offset - 相对于用户数据起始位置的偏移量
int value - 值

setFaceUserDataFloat(userdata_id, index, offset, value)#

向面用户数据设置浮点值(4 字节)。

参数:
int userdata_id - 面用户数据
int index - 面索引
int offset - 相对于用户数据起始位置的偏移量
float value - 值

setFaceUserDataString(userdata_id, index, offset, length, value)#

向面用户数据设置字符串。

参数:
int userdata_id - 面用户数据
int index - 面索引
int offset - 相对于用户数据起始位置的偏移量
int length - 数据长度(字符串的最大字节长度)
string value - 值

activateUVChannel(channel)#

激活 UV 通道。

参数:
int channel - UV 通道 ID
[0] 默认 UV 通道
[!= 0] 通过 MQDocument.getUVChannelID() 生成并获取的 ID
返回值:
int - UV 通道 ID
[0] 未找到 UV 通道
[1] 成功

addUVChannel(channel)#

添加 UV 通道。

参数:
int channel - UV 通道 ID
[!= 0] 通过 MQDocument.getUVChannelID() 生成并获取的 ID
返回值:
int - 结果
[0] 失败
[1] 成功

deleteUVChannel(channel)#

删除 UV 通道。

参数:
int channel - UV 通道 ID
返回值:
int - 结果
[0] 失败
[1] 成功
输入关键词,查找手册中的内容。