python生成器是预制的python 插件的objectData的封装(就和脚本是插件commandData的封装一样)。这样创建生成器对象就不用写全脚本了,注意这物体仅仅是生成器,想创建变形器,还得老老实实创建objectData插件。

在生成器内的python代码会生成一个object。默认下,生成了一个立方体,并返回:

import c4d

def main():

return c4d.BaseObject(c4d.Ocube)

UserData输入

当然也可以返回别的物体,或者用userdata调整物体参数。注意op可以快速引用生成器对象。

importc4d

defmain():

cone =c4d.BaseObject(c4d.Ocone)

cone[c4d.PRIM_CONE_TRAD] = op[c4d.ID_USERDATA,1]

return cone

对象输入--pipe生成器

许多c4d生成器会将其孩子作为输入,这里咱也可以这么干。通过op.GetDown()能获取第一个熊孩子,用op.GetChildren()能获取所一窝熊孩子。接下来就要折腾熊孩子了,为了他们的安全,咱先弄一个拷贝。

创建整个对象层次也不难,一般创建完层次会返回顶层对象。如果选了这个生成器,还返回了MakeEditable,就能看到创建好的整个层级结构。上代码:

importc4d

def main():

#Get the child object (to use as the sweep spline)

#Use GetClone so we aren't working on the object itself

source =op.GetDown().GetClone()

#Create a Circle Primitive to act as the sweep profile

circle =c4d.BaseObject(c4d.Osplinecircle)

#Set the radius based on UserData 1

circle[c4d.PRIM_CIRCLE_RADIUS] =op[c4d.ID_USERDATA,1]

#Create a new SweepNURBS

sweep =c4d.BaseObject(c4d.Osweep)

#Insert the source sweep spline under the SweepNURBS

source.InsertUnder(sweep)

#Insert the circle profile spline under the SweepNURBS

circle.InsertUnder(sweep)

#Return the SweepNURBS

return sweep

建模命令—边到样条线

建模命令也能生成新对象。再次强调,需要在拷贝原物体后在拷贝上进行操作,就不会直接修改层级里面的对象。下面的例子给当前选中的物体输出了样条线。

importc4d

defmain():

#Get the child object

obj =op.GetDown()

#We can only continue if there was a child

if not obj: return None

#Also need to check that it's a poly object

if not obj.CheckType(c4d.Opolygon): return None

#And that at least one edge is selected

if obj.GetEdgeS().GetCount() < 1: return None

#Get a clone

#Always work on the clone so we aren't changing the object in the OM

source =obj.GetClone()

#Run EdgeToSpline - returns a Boolean (True)

#Note that SendModelingCommand expects a list []!

if c4d.utils.SendModelingCommand(c4d.MCOMMAND_EDGE_TO_SPLINE, [source]):

#Splines are created as children of the source object

#Return a clone of the splines, otherwise the won't be "Alive"

return source.GetDown().GetClone()

注意,这个例子需要选中一个物体的一条边。生成器的cache检测不到选中物体的变化,因此需要关闭优化cache才能更新。不幸的是关闭优化还不能正常工作,以后会正常的。

c4d python生成器教程_C4D中的python生成器相关推荐

  1. python入门教程NO.1 用python打印你的宠物小精灵吧

    python入门教程NO.1 用python打印你的宠物小精灵吧 我们来通过一个有趣的例子开始编写我们的第一个python代码. 本文涉及的python基础语法为:print输出函数,赋值,字符串 p ...

  2. python入门教程NO.3 用python破解谍报密码

    python入门教程NO.3 用python破解谍报密码 本文涉及的python基础语法为:列表及其方法 列表 我们发现了一段存在**[]中的谍报密码,为了破解他,我们必须先来学习一下,这个存放着谍报 ...

  3. python爬取微信群聊天信息_跳一跳python使用教程 微信跳一跳python怎么刷分

    跳一跳python使用教程 微信跳一跳python怎么刷分?下面一起来看看吧. 微信跳一跳python怎么刷分?跳一跳python使用教程: 工具介绍 Python 2.7 Android 手机 Ad ...

  4. python语言提供的3个基本数字类型是什么_计算机二级python学习教程(3) python语言基本数据类型...

    本文继续计算机二级python教程的学习,之前已经学习过了计算机二级python学习教程(1) .计算机二级python学习教程(2) 3.1 数字类型 数字类型:整数类型.浮点数类型.复数类型. 整 ...

  5. Python培训教程:什么是Python全局解释器锁(GIL)?

    本期Python培训教程小编为大家带来的是关于"什么是Python全局解释器锁(GIL)?"的问题,全局解释器锁是计算机程序设计语言解释器用于同步线程的工具,使得在同一进程内任何时 ...

  6. python之禅 中文_《Python之禅》中对于Python编程过程中的一些建议

    <Python之禅>中对于Python编程过程中的一些建议 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  <Python之禅>中对于Pyt ...

  7. Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...

    资源介绍 课程简介:xa0xa0 Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 教学视频 ----------------------课程目录 Python项目实战篇 ...

  8. python初学者教程下载_初学者Python教程

    python初学者教程下载 Welcome to Python Tutorial for Beginners. You are probably here because you think prog ...

  9. c4d python使用方法_c4d 有没有python的技术说明文档_c4d python插件安装教程

    用python编程操作C4D和直接使用C4D进行操作有什么区别? 没什么区别吧.其是C4D提供了python绑定,方便python的人开发方便. 很多软件都提供了一言绑定或者自己的语言,比如autoc ...

最新文章

  1. 机器学习拓展知识(数学/统计/算法)
  2. aidl生成java文件_Android Studio编写AIDL文件后如何实现自动编译生成
  3. iqooneo5支持鸿蒙系统吗,iqooneo5活力版有双卡双待吗_iqooneo5活力版支持5g吗
  4. VS2017中运行第一个C#控制台应用并输出HelloWorld
  5. 用python画树_Python+Turtle动态绘制一棵树实例分享
  6. Java 设计模式 Day2 之面向抽象原则:接口(interface)的设计应用与抽象类的区别
  7. SQL Server数据库-限制返回行数
  8. LunarCrush将比特币批评家Peter Schiff列为第二大比特币影响者
  9. 如何根据参数类型重载__init__方法?
  10. C# 中,利用 Conditional 定义条件方法
  11. VMware 和 linux镜像文件
  12. 估计的商是什么意思_商是什么意思,商的繁体字,商有几笔,商字几画
  13. 《keras中文文档》资料分享
  14. C# Gridview 固定表头及表尾
  15. -1073740771 (0xC000041D)问题解决方案(已放弃)
  16. 汽车软件系统常用简称
  17. DotNetTools Workflow教程
  18. kibana Unable to connect to Elasticsearch at http://elasticsearch:9200.
  19. Chrome实现独立代理
  20. Django Channels 个人对官方文档大概理解 及一些地方的作用

热门文章

  1. 【Apple Studio Display】苹果显示器无法连接Dell 5488
  2. h3c服务器操作系统微软彩盒,校园网络设计计算机网络课程设计.doc
  3. 如果你想通过自媒体赚钱,平台规则必须了如指掌,才能月入10W+
  4. DDR2 PCB设计规则
  5. npm update 作用,它做了那些事情?
  6. win10安装mysql5.7.32和centos7安装mysql5.7
  7. 计算机与生命科学交叉应用,第七届数学、计算机与生命科学交叉研究青年学者论坛在京成功举行...
  8. 转转大师人工转换:Word转Excel
  9. 哪里有低息股票配资公司?长时间低息配资会怎样?
  10. android好看的配色方案,APP界面常用的五种颜色搭配