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

 1.建模

 

import bpy
import math  # 导入 math 模块


def jianMo(l,w,h,name='CafeBody'):
    # 定义咖啡馆的尺寸
    cafe_length = l  # 长度,单位:米
    cafe_width = w  # 宽度,单位:米
    cafe_height = h   # 高度,单位:米

    # 创建咖啡馆的主体(立方体)
    bpy.ops.mesh.primitive_cube_add(size=cafe_height, enter_editmode=False, location=(0, 0, 0))
    cafe_body = bpy.context.selected_objects[0]
    cafe_body.name = name
    
    # 设置咖啡馆主体的尺寸
    cafe_body.dimensions = (cafe_width, cafe_length, cafe_height)

    # 应用变换到咖啡馆主体
    bpy.ops.object.transform_apply(location=True, rotation=True, scale=True)





if __name__ == '__main__':
    # 定义咖啡馆的尺寸
    cafe_length = 20  # 长度,单位:米
    cafe_width = 10  # 宽度,单位:米
    cafe_height = 6   # 高度,单位:米
    cafe_name = 'CafeBody'
    
    jianMo(l=cafe_length,
    w=cafe_width,
    h=cafe_height,
    name=cafe_name)

  

table_length = 0.7 # 桌面长度,单位:米
table_width = 0.7 # 桌面宽度,单位:米
table_thickness = 0.05 # 桌面厚度,单位:米
table_name = 'Desktop' # 桌面厚度,单位:米

jianMo(l=table_length,
w=table_width ,
h=table_thickness,
name=cafe_name)

 

2.上材质

 

posted on 2024-04-14 13:25  大话人生  阅读(155)  评论(0)    收藏  举报