首页 > 编程语言 >blender使用python创建立方体并应用变换代码

blender使用python创建立方体并应用变换代码

时间:2024-04-14 13:33:58浏览次数:22  
标签:body python object bpy window 立方体 cafe True blender

import bpy

# 定义咖啡馆的尺寸
cafe_width = 10  # 宽度,单位:米
cafe_length = 15  # 长度,单位:米
cafe_height = 3   # 高度,单位:米



# 创建咖啡馆的主体(立方体)
bpy.ops.mesh.primitive_cube_add(size=10, enter_editmode=False, location=(0, 0, 0))
# 获取新创建的立方体对象
cafe_body = bpy.context.selected_objects[0]
print("first")
print(cafe_body)
cafe_body.name = "CafeBody"  # 重命名立方体为“CafeBody”

# 设置咖啡馆主体的尺寸
cafe_body.dimensions = (cafe_width, cafe_length, cafe_height)

# 模拟 "全部变换" 功能
bpy.ops.object.transform_apply(location=True, rotation=True, scale=True)

# 定义窗户的尺寸
window_width = 0.1  # 窗户宽度,单位:米
window_height = 1  # 窗户高度,单位:米
window_depth = 1.5  # 窗户深度,单位:米

# 计算窗户的位置
window_location = (cafe_width/2,0,0)


# 创建窗户
bpy.ops.mesh.primitive_cube_add(size=1.5, enter_editmode=False, location=window_location)
# 获取新创建的窗户对象
window_object = bpy.context.selected_objects[0]
window_object.name = "Window"  # 重命名立方体为“Window”

# 设置窗户主体的尺寸
window_object.dimensions = (window_width,window_height,window_depth)

# 模拟 "全部变换" 功能
bpy.ops.object.transform_apply(location=True, rotation=True, scale=True)

# 将窗户对象设为咖啡馆主体的子对象
#window_object.parent = cafe_body
print("sec")
print(cafe_body)


#选中名为"CafeBody"的对象
#for i in bpy.data.objects:
#    if i.name == "CafeBody":
#        # 找到对象后,执行相应的操作
#        print("找到名为 CafeBody 的对象")
#        i.select_set(state=True)
        



#进入编辑模式
#bpy.ops.object.mode_set(mode='EDIT')
        






# 将窗户对象设为咖啡馆主体的子对象
#window_object.parent = cafe_body

 

标签:body,python,object,bpy,window,立方体,cafe,True,blender
From: https://www.cnblogs.com/jingzaixin/p/18134046

相关文章

  • Python面试
    Py生成器send的应用场景Py如何动态创建类socket如何解决粘包socket断点续传如何解决进程间通讯有哪些方式如何排查数据库慢的原因如何优化慢查询语甸ngnix为何单线程可数万并发?前端sonp跨域方案原理Python服务热更新方案......
  • python路径相关操作:os.path
    Windows路径格式importos#当前python文件位置:T:\ProgrammingPractice\python_path\test.py#给定的路径path=r'D:\AAA\BBB\CCC\x.jpg'#path='D:\\AAA\\BBB\\CCC\\x.jpg'#获取路径的目录部分dir=os.path.dirname(path)#获取最后一个目录名last......
  • Python常用模块-20个常用模块总结
    目录time模块datetime模块random模块os模块sys模块json和pickle模块hashlib和hmac模块logging模块numpy模块pandas模块matplotlib模块re模块typing模块collections模块pathlib模块shutil模块xml模块subprocess模块configparser模块Python常用模块小结time模块......
  • python 单元测试
    对写的函数或方法测试(非调接口方式) 方案1:自己编写测试类方案2:用python自带的unittest模块案例:importunittestclassStudent:def__init__(self,name,score):self.name=nameself.score=scoredefget_score(self):if......
  • Python 潮流周刊第 46 期(摘要)+ 赠书 7 本
    本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和副业的收入。周刊全文(限免):https://xiaobot.net/post/80087bf9-a1eb-49a1-84c0-ce2bd51af48......
  • Python通过函数名调用函数的几种场景
    除了执行系统命令外,我们有时还需要动态地执行一些python代码,有经验的朋友就会知道可以使用内置函数eval实现这一需求,如eval("print(__file__)"),这还是比较简单的。但如果要动态执行一个函数,讲的资料就会少一点,这次就要看这个需求该如何实现。一、通过eval实现1通过eval调用同......
  • Python教程:return和yield的区别
    return一直中,每中语言中其没没有很大差别,就不多说了。(shell语言return的是退出状态,可能差别是比较大的)最早看到yield应该是哪们语言用来调整什么线程优先级的,记不清了,不过那里的yield和python中的yield应该功能有区别。一、return和yield的异同共同点:return和yield都用来返回值......
  • Python中paramiko 模块的用法
    paramiko是一个用Python语言编写的、遵循SSH2协议、支持以加密和认证方式进行连接远程服务器的模块。改模块可以对远程服务器进行一些命令或文件操作。1.安装使用pip3安装paramiko模块pip3installparamiko连接远程服务器paramiko模块连接远程服务器可以使用远程......
  • centos6.5安装python3.6.9
    下载python:https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz安装tar-zxvfPython-3.6.9.tgzcdPython-3.6.9./configure--prefix=/opt/python3.6makemakeinstallecho"/opt/python3.6/lib">/etc/ld.so.conf.d/python3.6.9.confsudoldconf......
  • Visual Studio Code & Python教程3顶级扩展
    3简介扩展功能非常宝贵。它们有助于提高代码质量,加快开发工作。我们将介绍一些必备的通用扩展。3.1顶级扩展3.1.1Pylance微软的Pylance可以大大提高你的工作效率。Pylance是一款Python语言服务器,它增强了IntelliSense、语法高亮和大量其他功能,为Python开发人员带来了令人......