社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python in C4D学习笔记(前言)

3D科研绘图 • 5 年前 • 751 次点击  

*** 废话连篇,毫无意义 ***


说单口相声的郭德纲有一个雅称:坑王。出绘图教程的独孤小编挖起坑来也不遑多让。2017年至今,我陆陆续续挖了3DMAX、C4D、VMD三个大坑,“坑”了近5万科研同胞们。所幸的是在出3D绘图教程的道路上,我一直都没跑偏。究其原因有二:


1、我的数学还可以,尤其是空间几何;

2、我爱学习,自发的那种。


但是,坑不是随便挖的,它要能挖得够大,还得让里面的人躺着舒服。


2018年末开始接触C4D时,我就意识到这是一个不可多得的巨坑。事实证明,C4D真比3DMAX香。改用C4D之后的近一年内,我打开3DMAX的次数简直屈指可数。那C4D到底有哪些地方比3DMAX强呢?有很多,但我懒得说。


因为今天,我不是来安利C4D的。


前几日,我花了8块9毛钱入门学习了Python。其实我早就想学Python了,否则也对不起前面的“我爱学习”四个字。Python可以干嘛?我不是很关心。我也不知道自己学Python的目的是什么,实现一些不可思议的C4D动画?可能吧。仔细想来,我根本就没有目的!


我就是单纯的爱学习啊!


花了两天时间,我大致摸清了Python代码的套路,以及C4D中有哪些地方可用到Python语句。一般学计算机语言上来肯定是要say "Hello World!"的,Python in C4D也不例外。


import c4d
from c4d import gui
# Welcome to the world of Python


# Script state in the menu or the command palette
# Return True or c4d.CMD_ENABLED to enable, False or 0 to disable
# Alternatively return c4d.CMD_ENABLED|c4d.CMD_VALUE to enable and check/mark
#def state():
#    return True

# Main function
def main():
    gui.MessageDialog('Hello World!')

# Execute main()
if __name__=='__main__':
    main()


以上是在C4D的脚本管理器(Shift~F11)中默认的代码,执行结果如下——

(俗!)


换成如下代码后:

import c4d

def main():
    s = c4d.BaseObject(c4d.Ocube)
    doc.InsertObject(s)
    c4d.EventAdd()

if __name__=='__main__':
    main()


执行结果是创建一个立方体——


创建个立方体而已,有必要这么大动干戈么?这一堆什么乱七八糟的,根本看不懂啊。没关系,我也没打算出教程,写在这里纯粹是为了督促自己学习。至少这两天学下来,我看这些代码稍微感觉有点亲切了呢。


好了,就写到这里吧,我要学习去了。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55090
 
751 次点击