常用代码

打印 print

  1. import c4d
  2. def main():
  3. print("你好") #R23版本需要加括号
  4. if __name__ == "__main__":
  5. main()


刷新界面 c4d.EventAdd()

  1. import c4d
  2. def main():
  3. obj1 = c4d.BaseObject(5160) #创建球体
  4. doc.InsertObject(obj1) #导入到文档
  5. c4d.EventAdd() #刷新界面
  6. if __name__=='__main__':
  7. main()

对象

获取选中对象 op

  1. import c4d
  2. def main():
  3. print(op) #当前选中对象
  4. if __name__=='__main__':
  5. main()

image.png

判断是不是对象 is None

  1. import c4d
  2. def main():
  3. if op is None:
  4. print("op不是对象")
  5. return True
  6. print("op是对象")
  7. if __name__=='__main__':
  8. main()


可拖拽的对象参数

  1. import c4d
  2. from c4d import gui
  3. def main():
  4. duixiang = op # 给op取一个名字,可以自定义
  5. print duixiang[c4d.ID_BASEOBJECT_REL_POSITION,c4d.VECTOR_X] # 打印 位置参数 X
  6. duixiang[c4d.ID_BASEOBJECT_REL_POSITION,c4d.VECTOR_X]=500 # 修改位置参数 X
  7. print duixiang[c4d.ID_BASEOBJECT_REL_POSITION,c4d.VECTOR_X] # 打印位置参数 X
  8. duixiang[c4d.ID_BASEOBJECT_REL_POSITION,c4d.VECTOR_Y]=100 # 修改位置参数 Y
  9. if __name__=='__main__':
  10. main()
  11. c4d.EventAdd() # 刷新界面

返回所选对象集合 GetActiveObjects

(int) ,整数,满足多个条件用 | 连接flags

0 GETACTIVEOBJECTFLAGS_NONE 如果子集选中,结果只显示父级对象
1 GETACTIVEOBJECTFLAGS_CHILDREN 包括子集选中对象
2 GETACTIVEOBJECTFLAGS_SELECTIONORDER 根据所选顺序排序,默认顺序自上而下

**

  1. import c4d
  2. from c4d import gui
  3. def main():
  4. so = doc.GetActiveObjects(c4d.GETACTIVEOBJECTFLAGS_SELECTIONORDER | c4d.GETACTIVEOBJECTFLAGS_CHILDREN)
  5. for o in so: #遍历所选对象
  6. print o[c4d.ID_BASELIST_NAME] #显示对象名称
  7. if __name__=='__main__':
  8. main()

创建对象 BaseObject

  1. import c4d
  2. def main():
  3. obj1 = c4d.BaseObject(5160) #创建球体
  4. doc.InsertObject(obj1) #导入到文档
  5. if __name__=='__main__':
  6. main()
  7. c4d.EventAdd()

获取对象名称 GetName

  1. import c4d
  2. def main():
  3. if op is None:
  4. return True
  5. print(op.GetName()) #对象名称
  6. if __name__=='__main__':
  7. main()
  8. c4d.EventAdd()


修改对象名称 GetName

  1. import c4d
  2. def main():
  3. if op is None:
  4. return True
  5. print(op.SetName()) #修改对象名称
  6. if __name__=='__main__':
  7. main()
  8. c4d.EventAdd()

返回对象类型 GetTypeName

  1. import c4d
  2. def main():
  3. if op is None:
  4. return True
  5. print(op.GetTypeName()) #对象类型
  6. if __name__=='__main__':
  7. main()
  8. c4d.EventAdd()

————————————————

对象的父级 GetUp

  1. import c4d
  2. def main():
  3. parent = op.GetUp()
  4. print(parent) #对象的父级
  5. if __name__=='__main__':
  6. main()

返回所有子对象集 GetChildren

第一个子对象 GetDown

  1. import c4d
  2. def main():
  3. parent = op.GetDown()
  4. print(parent) #对象的第一个子集
  5. if __name__=='__main__':
  6. main()

最后一个子对象 GetDownLast

上一个同级对象 GetPred

  1. import c4d
  2. def main():
  3. parent = op.GetDown()
  4. print(parent) #上一个同级对象
  5. if __name__=='__main__':
  6. main()

下一个同级对象 GetNext

  1. import c4d
  2. def main():
  3. parent = op.GetNext()
  4. print(parent) #下一个同级对象
  5. if __name__=='__main__':
  6. main()

复合用法 op.GetUp().GetNext()

  1. import c4d
  2. def main():
  3. obj = op.GetUp().GetNext()
  4. print(obj) #父级对象的下一个同级对象
  5. if __name__=='__main__':
  6. main()



InsertAfter

InsertUnder

InsertUnderLast

InsertBefore

顶点

获取点总数 GetPointCount

  1. import c4d
  2. def main():
  3. print(op.GetTagDataCount(c4d.Tpoint)) #方法一:点总数
  4. print(op.GetPointCount()) #方法二:总数
  5. if __name__=='__main__':
  6. main()
  7. c4d.EventAdd()

获取面总数 GetTagDataCount

  1. import c4d
  2. def main():
  3. print(op.GetTagDataCount(c4d.Tpolygon)) #面总数
  4. if __name__=='__main__':
  5. main()
  6. c4d.EventAdd()

所有点的位置 GetAllPoints

  1. import c4d
  2. def main():
  3. print(op.GetAllPoints()) #所有点的位置
  4. if __name__=='__main__':
  5. main()
  6. c4d.EventAdd()

第几个点的位置 GetPoint

  1. import c4d
  2. def main():
  3. print(op.GetPoint(1)) #第几个点的位置
  4. if __name__=='__main__':
  5. main()
  6. c4d.EventAdd()

取消选择的顶点 .DeselectAll

  1. import c4d
  2. def main():
  3. select_points = op.GetPointS() #返回所选顶点
  4. select_points.DeselectAll() #所选顶点取消选择
  5. if __name__ == "__main__":
  6. main() #入口函数
  7. c4d.EventAdd() #刷新视图

标签

获取所有标签 GetTags

  1. import c4d
  2. def main():
  3. if op is None:
  4. return True
  5. print "所有标签", op.GetTags() #所有标签
  6. if __name__=='__main__':
  7. main()
  8. c4d.EventAdd()

创建常用标签 MakeTag

  1. import c4d
  2. def main():
  3. if op is None:
  4. return True
  5. op.MakeTag(5612) #平滑标签
  6. op.MakeTag(5637) #合成标签
  7. op.MakeTag(5629) #保护标签
  8. op.MakeTag(5676) #目标标签
  9. op.MakeTag(1019364) #约束标签
  10. op.MakeTag(1019561) #IK标签
  11. op.MakeTag(1001149) #XPresso标签
  12. if __name__=='__main__':
  13. main()
  14. c4d.EventAdd()

删除标签 KillTag

  1. import c4d
  2. def main():
  3. if op is None:
  4. return True
  5. op.KillTag(5612) #删除标签
  6. if __name__=='__main__':
  7. main()
  8. c4d.EventAdd()

第一个标签 GetFirstTag

  1. import c4d
  2. def main():
  3. if op is None:
  4. return True
  5. print("第一个标签", op.GetFirstTag()) #第一个标签
  6. if __name__=='__main__':
  7. main()
  8. c4d.EventAdd()

最后一个标签 GetLastTag

  1. import c4d
  2. def main():
  3. if op is None:
  4. return True
  5. print("最后一个标签", op.GetLastTag()) #最后一个标签
  6. if __name__=='__main__':
  7. main()
  8. c4d.EventAdd()

文档

返回当前文档 GetActiveDocument

  1. import c4d
  2. def main():
  3. doc = c4d.documents.GetActiveDocument() #当前打开文档
  4. print(doc)
  5. if __name__=='__main__':
  6. main()
  7. c4d.EventAdd()

获取当前文档名称 GetDocumentName

  1. import c4d
  2. def main():
  3. doc = c4d.documents.GetActiveDocument()
  4. print(doc.GetDocumentName()) #当前文档名称
  5. if __name__=='__main__':
  6. main()
  7. c4d.EventAdd()

当前文档路径 GetDocumentPath

  1. import c4d
  2. def main():
  3. print(doc.GetDocumentPath()) #当前文档路径
  4. if __name__=='__main__':
  5. main()
  6. c4d.EventAdd()

图层对象

获取对象所属图层

  1. import c4d
  2. def main():
  3. doc = c4d.documents.GetActiveDocument()
  4. Layer = op.GetLayerObject(doc) #获取对象所属图层
  5. print Layer.GetName()
  6. if __name__ == "__main__":
  7. main()
  8. c4d.EventAdd()

获取图层参数

  1. import c4d
  2. def main():
  3. doc = c4d.documents.GetActiveDocument()
  4. print op.GetLayerData(doc) #获取对象图层参数
  5. if __name__ == "__main__":
  6. main()
  7. c4d.EventAdd()

用户数据

添加用户数据

  1. import c4d
  2. def main():
  3. if op is None:
  4. return True
  5. userdata = c4d.GetCustomDatatypeDefault(c4d.DTYPE_BASELISTLINK)
  6. userdata[c4d.DESC_NAME] = "我是数据"
  7. linkobject = op.AddUserData(userdata)
  8. if __name__=='__main__':
  9. main()
  10. c4d.EventAdd()

位置矩阵

常用位置矩阵

  1. import c4d
  2. def main():
  3. print "GetAbsPos:", op.GetAbsPos()
  4. print "GetMgn:", op.GetMgn()
  5. print "GetMg:", op.GetMg()
  6. print "GetMp:", op.GetMp()
  7. print "GetMln:", op.GetMln()
  8. print "GetMl:", op.GetMl()
  9. print "GetUpMg:", op.GetUpMg()
  10. print "GetRelMl:", op.GetRelMl()
  11. print "GetRelMln:", op.GetRelMln()
  12. if __name__=='__main__':
  13. main()
  14. c4d.EventAdd()

image.png

op.GetMg()

  1. import c4d
  2. def main():
  3. mat = op.GetMg()
  4. print mat.v1
  5. print mat.v2
  6. print mat.v3
  7. print mat.off #偏移位置 X,Y,Z
  8. if __name__=='__main__':
  9. main()

image.png
off: 三个参数为 x y z

http://cgrebel.com/index.html 国外经典的教程
op.GetModelingAxis(self, doc)

image.png

根据名称修改物体颜色

  1. import c4d
  2. #根据名称修改图层颜色
  3. def main():
  4. doc = c4d.documents.GetActiveDocument()
  5. slist = c4d.documents.GetActiveDocument().GetActiveObjects(1);
  6. for ob in slist:
  7. oname = ob.GetName()
  8. #print oname
  9. if oname.find("ik") <> -1:
  10. ob[c4d.ID_BASEOBJECT_USECOLOR]=2 #显示颜色
  11. ob[c4d.ID_BASEOBJECT_COLOR] = c4d.Vector(255,0,0)
  12. elif oname.find("fk")<> -1:
  13. ob[c4d.ID_BASEOBJECT_USECOLOR]=2 #显示颜色
  14. ob[c4d.ID_BASEOBJECT_COLOR] = c4d.Vector(0,255,0)
  15. elif oname.find("con")<> -1:
  16. ob[c4d.ID_BASEOBJECT_USECOLOR]=2 #显示颜色
  17. ob[c4d.ID_BASEOBJECT_COLOR] = c4d.Vector(0,0,255)
  18. if __name__=='__main__':
  19. main()
  20. c4d.EventAdd()

获取轴心

  1. tagXpression = spline_1.MakeTag(1001149) #添加XPresso标签
  2. null_1 = c4d.BaseObject(c4d.Onull) #创建空白对象
  3. null_1.SetName(str(i)) #修改名称
  4. poPos = spline_1.GetPoint(i) #顶点坐标
  5. str(i)
  6. null_1.SetRelPos(poPos) #修改坐标

null_1[c4d.NULLOBJECT_DISPLAY]=2 #对象显示为圆环 5是三角形

GvNode.AddPort 添加端口

GetRelPos 对象相对位置

  1. import c4d
  2. from c4d import gui
  3. def SetToolData(doc, toolID, paramID, data):
  4. plug = c4d.plugins.FindPlugin(toolID, c4d.PLUGINTYPE_TOOL)
  5. if plug is None:
  6. return
  7. ##添加用户数据
  8. def AddLongDataType(obj):
  9. if obj is None: return
  10. bc = c4d.GetCustomDataTypeDefault(c4d.DTYPE_LONG) #定义数据类型
  11. bc[c4d.DESC_NAME] = "数据名称" #定义名称
  12. bc2 = c4d.GetCustomDataTypeDefault(c4d.DTYPE_STRING) #定义数据类型
  13. bc2[c4d.DESC_NAME] = "文本" #定义名称
  14. bc3 = c4d.GetCustomDataTypeDefault(c4d.DTYPE_TIME) #定义数据类型
  15. bc3[c4d.DESC_NAME] = "DTYPE_TIME" #定义名称
  16. obj.AddUserData(bc2)
  17. obj.AddUserData(bc3)
  18. element = obj.AddUserData(bc) # 添加到对象
  19. obj[element] = 30 # 修改数值
  20. c4d.EventAdd() # 刷新界面
  21. def main():
  22. obj1 = op
  23. mat = c4d.Matrix()
  24. # => Matrix(v1: (1, 0, 0); v2: (0, 1, 0); v3: (0, 0, 1); off: (0, 0, 0))
  25. mat = c4d.Matrix()
  26. mat.off = c4d.Vector(100,0,0)
  27. v1 = c4d.Vector(3)
  28. v2 = c4d.Vector(12,4,9.3)
  29. v3 = c4d.Vector(9,80,3)
  30. off = c4d.Vector(v1+v2)
  31. mat = c4d.Matrix(off,v1,v2,v3)
  32. op.SetModelingAxis(mat)
  33. print "唯一ID", op.GetGUID()
  34. return
  35. AddLongDataType(op) #添加用户数据
  36. return
  37. print "编辑可见", op.GetEditorMode() #2=默认 绿=0 红=1 从上刷到下是编辑器的小点
  38. print "渲染可见", op.GetRenderMode() #2=默认 绿=0 红=1 从下刷到上是渲染器
  39. return
  40. print "绝对位置", op.GetAbsPos()
  41. print "绝对比例", op.GetAbsScale()
  42. print "绝对旋转", op.GetAbsRot()
  43. print "冻结位置", op.GetFrozenPos()
  44. print "冻结比例", op.GetFrozenScale()
  45. print "冻结比例", op.GetFrozenRot()
  46. print "相对位置", op.GetRelPos()
  47. print "相对比例", op.GetRelScale()
  48. print "相对旋转", op.GetRelRot()
  49. print "常规矩阵", op.GetMl() #对象位置、缩放和旋转的局部矩阵
  50. print "冻结矩阵", op.GetFrozenMln()
  51. print "GetRelMln", op.GetRelMln()
  52. print "GetRelMl", op.GetRelMl()
  53. print "GetMg", op.GetMg()
  54. print "GetMln", op.GetMln()
  55. print "GetMgn", op.GetMgn()
  56. print "GetUpMg", op.GetUpMg()
  57. print "GetMp", op.GetMp()
  58. print "GetRad", op.GetRad()
  59. if __name__=='__main__':
  60. main()

其他

  1. import c4d
  2. import collections
  3. def main():
  4. d = collections.OrderedDict([('a',1),('c',3),('b',2)])
  5. '''
  6. 或者把上面的那一行改成:
  7. d = collections.OrderedDict()
  8. d['a'] = 1
  9. d['b'] = 2
  10. d['c'] = 3
  11. '''
  12. for k,v in d.items():
  13. print(k,v)
  14. return
  15. Tester = {
  16. "name":"shawxie",
  17. "phone":"135xxxx",
  18. "Address":"深圳市南山区",
  19. "job":"软件测试",
  20. "hobby":"爬山"
  21. }
  22. y=list(Tester.keys())
  23. print(y.index("name")) #找出name的索引值是多少
  24. print(y[0]) #通过索引值找到name
  25. #print(y[y.index("name")]) 也可以这样写,一步到位
  26. return
  27. dict = {'a': 1, 'b': 2, 'b': '3'}
  28. print dict.keys() #返回一个字典所有的键
  29. print dict.values() #返回一个字典所有的键。
  30. doc = c4d.documents.GetActiveDocument()
  31. #点
  32. print "隐藏点的集合:", op.GetPointH() #隐藏点的集合
  33. print "所选点的集合:", op.GetPointS() #所选点的集合
  34. print "更改后点的数量:", op.ResizeObject(5) #更改对象点的数量
  35. if __name__=='__main__':
  36. main()
  37. c4d.EventAdd()#刷新界面

常用控件颜色

https://developers.maxon.net/docs/Cinema4DPythonSDK/html/consts/COLOR.html

C4D官方

顶点对象

PointObject.GetPointH(self) 返回隐藏点
PointObject.GetPointS(self) 返回所选点
PointObject.GetPoint(self, id) 获取点的位置
PointObject.SetPoint(self, id, pos) 设置点的位置
PointObject.GetAllPoints(self) 返回所有点位置
PointObject.SetAllPoints(self, p) 设置点对象的所有点
PointObject.GetPointCount(self) 返回对象点的数量
PointObject.CalcVertexMap(self, modifier) 获取顶点权重数组
PointObject.ResizeObject(self, pcnt) 更改点对象中的点数

选择对象 c4d.BaseSelect

BaseSelect.init(self) 初始化新的基本选择。
BaseSelect.GetCount(self) 获取所选元素的数量。
BaseSelect.GetSegments(self) 获取包含元素的段数。
BaseSelect.IsSelected(self, num) 获取元素的选择状态。
BaseSelect.Select(self, num) 选择一个元素。
BaseSelect.SelectAll(self, max[, min, …]) 选择给定范围内的所有元素。
BaseSelect.Deselect(self, num) 取消选择元素。
BaseSelect.DeselectAll(self) 取消选择所有元素。
BaseSelect.Toggle(self, num) 切换元素的选择状态。
BaseSelect.ToggleAll(self, min, max) 切换给定范围内所有元素的选择状态。
BaseSelect.GetRange(self, seg, max) 返回段中包含的选定元素。
BaseSelect.Merge(self, src) 选择在src 中选择的所有元素
BaseSelect.DeselectFrom(self, src) 取消选择在src中选择的所有元素。
BaseSelect.Cross(self, src) src 中的所有元素相交
BaseSelect.GetClone(self) 使用其元素复制此选择对象。
BaseSelect.GetDirty(self) 返回所选内容的脏计数器。
BaseSelect.CopyTo(self, dest) 将此选择对象中的选择元素复制到另一个基本选择。
BaseSelect.SetAll(self, states) 从列表中设置所有选定的元素。
BaseSelect.GetAll(self, max) 返回列表中的所有选定元素。
BaseSelect.HostAlive(self) 如果主机对象仍处于活动状态,则返回。
BaseSelect.Write(self, hf) 将所选内容保存到文件中。
BaseSelect.Read(self, hf) 从文件读取所选内容。
BaseSelect.FindSegment(self, num) 返回包含元素num 的段
BaseSelect.GetLastElement(self) 返回最后一个元素。

剪贴板

c4d.CopyBitmapToClipboard(map, ownerid) 将位图复制到剪贴板。
c4d.CopyStringToClipboard(text) 将文本复制到剪贴板。
c4d.GetBitmapFromClipboard() 从剪贴板返回位图。
c4d.GetC4DClipboardOwner() 获取剪贴板的所有者 ID。
c4d.GetClipboardType() 获取剪贴板的类型。
c4d.GetStringFromClipboard() 从剪贴板返回字符串。

命令处理程序

c4d.CallCommand(cmdid[, subid]) 执行命令。
c4d.GetCommandHelp(id) 获取命令的帮助字符串。
c4d.GetCommandName(id) 获取命令的名称。
c4d.IsCommandChecked(id) 检查是否选中了命令。
c4d.IsCommandEnabled(id) 检查是否启用了命令。

常见内容

c4d.GeGetByteOrder() 获取运行影院 4D 的操作系统类型。
c4d.GeGetCurrentOS() 获取运行影院 4D 的操作系统类型。
c4d.GeGetGray() 获取默认影院 4D 灰色的颜色值。
c4d.GeGetMilliSeconds() 获取当前计时器计数(以毫秒为单位)。
c4d.GeGetTimer() 获取当前计时器计数(以毫秒为单位)。
c4d.GetAPIVersion() 获取 Python SDK 的 API 版本,例如(1, 0, 1001)
c4d.GetC4DVersion() 获取正在运行的影院 4D 版本,例如12016
c4d.GetDefaultFPS() 获取默认帧/秒值。
c4d.StopAllThreads() 停止所有正在运行的线程。

废弃

c4d.GePrint(str) 将字符串输出到影院 4D 控制台窗口。
c4d.GetGlobalTexturePath(i) 自版本 R20 起已弃用。
c4d.SetGlobalTexturePath(i, fn) 自版本 R20 起已弃用。

许可证

c4d.ExportLicenses() 返回许可信息的 json 字符串表示形式,如导出许可证菜单命令中所示,包括 productId、SystemId、userId 等。
c4d.GeGetSerialInfo() 返回用户注册信息。
c4d.GetGeneralLicensingInformation() 返回有关当前使用的许可证和系统的信息。

状态栏

c4d.StatusNetClear() 清除 NET 状态栏文本。
c4d.StatusSetNetBar(p, dat) 设置 NET 状态栏进度和自定义颜色。
c4d.StatusSetNetLoad(status) 将 NET 状态栏设置为状态状态。
c4d.StatusSetNetText(str) 设置 NET 状态栏文本。

网络

c4d.IsClient() 检查 NET 客户端应用程序是否正在运行。
c4d.IsNet() 检查 NET 服务器或客户端应用程序是否正在运行。
c4d.IsServer() 检查 NET 服务器应用程序是否正在运行。

对象内容

c4d.FindInManager(bl) 在其管理器中查找并使其可见 bl。
c4d.GetObjectName(type) 从对象类型 ID 获取用户可呈现的名称。
c4d.GetObjectType(name) 的相反。GetObjectName()
c4d.GetTagName(type) 从标记类型 ID 获取用户可呈现的名称。

设置

c4d.GeGetLanguage(index) 可用于枚举有关可用语言的信息。
c4d.GeIsActiveToolEnabled() 检查活动工具是否重影。
c4d.GetViewColor(colid) 返回视口颜色。
c4d.GetWorldContainer() 返回影院 4D 的设置容器的副本。
c4d.GetWorldContainerInstance() 返回对可直接更改的主影院 4D 设置容器的引用。
c4d.SetViewColor(colid, col) 设置视口颜色。
c4d.SetWorldContainer(bc) 设置主影院 4D 设置容器。请参阅文档中的 C++WPREF。

状态栏

c4d.StatusClear() 清除状态栏文本。
c4d.StatusSetBar(p) 设置状态栏文本。
c4d.StatusSetSpin() 设置状态栏进度条旋转。
c4d.StatusSetText(str) 设置状态栏文本。

纹理

c4d.FlushUnusedTextures() 刷新所有未使用的纹理。
c4d.GenerateTexturePath(docpath, srcname, …) 生成给定纹理图像的纹理文件名。
c4d.GetGlobalTexturePaths([docPath]) 检索全局纹理路径。
c4d.IsInSearchPath(texfilename, docpath) 检查纹理texfilename 是否位于文档路径中的文件的搜索路径中
c4d.SetGlobalTexturePaths(texturePaths) 设置全局纹理路径。

更新

c4d.DrawViews(flags[, bd]) 重绘编辑器视图。必须从主线程调用!
c4d.EventAdd([flags]) 将全局事件添加到影院 4D 的事件队列中。结果为CoreMessage()消息。
c4d.GePluginMessage(id, data) 向其他插件发送插件消息。
c4d.GeSyncMessage(messageid) 发送同步事件消息。(例如,使时间线、时间单等立即重绘。
c4d.SendCoreMessage(coreid, msg[, eventid]) 发送核心消息。例如
c4d.SpecialEventAdd(messageid[, p1, p2]) 将自定义事件添加到内部消息队列。

版本信息

c4d.GeGetCinemaInfo(info) 检查当前许可证是否为 NFR(不用于转售)版本。
c4d.GeGetVersionType() 获取正在运行的影院 4D 应用程序的类型。
c4d.IsEducation() 检查当前许可证是否为教育版本
c4d.IsLiteVersion() 检查当前许可证是否为精简版。
c4d.IsNFR() 检查当前许可证是否为 NFR(不用于转售)版本。
c4d.IsTrial() 检查当前许可证是否为试用版。

未分类

c4d.PrefsLib_OpenDialog(page) 用于在特定页面上打开影院 4D 的首选项对话框
c4d.RestartMe([param, exitcode]) 重新启动影院 4D。
c4d.GeGetSystemInfo() 检索系统信息标志。
c4d.CallButton(op, id) 模拟按钮的单击。
c4d.GetCustomDataTypeDefault(type) 检索数据类型的默认设置。
c4d.CheckIsRunning(type) 检查任务是否正在运行。
c4d.GetMachineFeatures([type]) 检索计算机的功能
c4d.StartEditorRender(active_only, raybrush, …) 启动编辑器渲染器。
c4d.Cast(type, obj) obj强制转换到给定类型
c4d.CallFunction(op, function, arg1, …) 调用在脚本表达式中定义的函数。
c4d.AllocListHead() 分配列表头。
c4d.CopyData(op1, descid1, op2, …) 将参数数据复制到另一个参数数据。
c4d.WriteConsole(str) str写入 Python 控制台。
c4d.IsUVToolMode(document) 检查当前上下文是否为 UV,如果选择了 UV 模式或 UV 纹理编辑器是最后一个使用。

还不会的代码

  1. c4d.documents.MergeDocument( c4d.documents.GetActiveDocument(),os.path.join(os.path.dirname(__file__), '[DISTANCE]Super Cam.c4d'),c4d.SCENEFILTER_OBJECTS)
  2. c4d.documents.MergeDocument()
  3. os.path.dirname(__file__)
  4. c4d.SCENEFILTER_OBJECTS

os.path.join(“path1”,”path2”) 拼接路径