Суббота, 11.05.2024
Мой сайт
Меню сайта
Категории раздела
Религия [2]
Буддизм, Христианство, Агни Йога, Йога Васиштха и др. Йоги, Индуизм, Искусство Жизни, Шри Шри Рави Шанкар, Конфуций, Хагакуре Сокрытое в листве, Ицхак Одизес, Наталья Грейс, Ошо, Тантра, Даосизм
Программы [5]
Описание различных программ
Программирование [24]
Исходники, примеры, ссылки, программы C++, Delphi, Python, Html, Java но в основном Delphi, Python, Html, создание игр, Blender Game Engine
Blender [16]
Бесплатный редактор трехмерного моделирования
CAD\CAM\CAE [0]
Solid Works, Nastran, Patran, Ansys и др.
Krita [4]
Материалы по свободному графическому редактору
Интернет [1]
Интересная информация о работе с интернетом
IrfanView [1]
Возможности программы
Игры [2]
Железо [1]
Различная электроника
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » 2021 » Июль » 3 » Пример создания простого меша, сетки (по нажатию кнопки) - крест с пятью вершинами Blender 2.93 (в меню 3D View)
16:24
Пример создания простого меша, сетки (по нажатию кнопки) - крест с пятью вершинами Blender 2.93 (в меню 3D View)

# Пример простого аддона создающего в качестве объекта крест из 5-и вершин меша по нажатию кнопки.

#Пример более наглядный по сравнению с линией из 2-х вершин
# Аддон расположен в панели "3D View" - закладка "Super Line"
# Название "Super Line 0.4.cross prototype"
# Контакты:
# www.suny-o.narod.ru
# https://vk.com/aorlov1979
# https://vk.com/blender_diary
# aorlv@yandex.ru
# suny-o@yandex.ru
# Лицензия GNU (GPLv3)

bl_info = {
    "name": "Super Line Prototype",
    "author": "Orlov Alexander",
    "version": (0, 4, 4),
    "blender": (2, 93, 0),
    "location": "3D View > Super Line > Super Line 0.4.cross prototype",
    "description": "Adds a new one mesh point",
    "warning": "",
    "doc_url": "",
    "category": "Add Mesh",
}
import bpy

# ---------------------------- Main function -------------------------------
def main(context):
    # make mesh
    x0 = 0
    y0 = 0 
    z0 = 0
    x1=1
    y1=0
    z1=0
    x2=0
    y2=1
    z2=0
    x3=-1
    y3=0
    z3=0
    x4=0
    y4=-1
    z4=0
    
    vertices = [(x0, y0, z0),(x1, y1, z1),(x2, y2, z2),(x3, y3, z3),(x4, y4, z4)]
    edges = [(0,1),(0,2),(0,3),(0,4)]#Последовательное соединение центра с 1-ой, 2-ой, 3-ей и 4-ой вершиной
    #edges = []
    faces = []
    super_line = bpy.data.meshes.new('name_superline')
    super_line.from_pydata(vertices, edges, faces)
    super_line.update()
    # make object from mesh
    supeline_object = bpy.data.objects.new('Super line object', super_line)
    # add object to scene
    bpy.context.scene.collection.objects.link(supeline_object)
    
    # make collection
    # superline_collection = bpy.data.collections.new('Super line collection')
    # bpy.context.scene.collection.children.link(superline_collection)

    # add object to scene collection
    #superline_collection.objects.link(supeline_object)


class SuperLineOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.superline_operator"
    bl_label = "Super Line - cross"

    def execute(self, context):
        main(context)
        return {'FINISHED'}

# ---------------------------- Panels -------------------------------
class SuperLineMenuPanel(bpy.types.Panel):
    """Creates a Panel in the scene context of the properties editor"""
    bl_label = "Super Line 0.4.cross prototype"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "Super Line"

    def draw(self, context):
        layout = self.layout

        # Big super line button
        layout.label(text="Сreate:")
        row = layout.row()
        row.scale_y = 2.0
        row.operator("object.superline_operator") # Вызов функции рисования вершины - call function

# ---------------------------- Регистрация функций и меню -------------------------------
def register():
    bpy.utils.register_class(SuperLineOperator) # Регистрация процедуры создания вершины - Включить
    bpy.utils.register_class(SuperLineMenuPanel) # Регистрация меню - Включить


def unregister():
    bpy.utils.unregister_class(SuperLineOperator) # Регистрация процедуры создания вершины - Выключить
    bpy.utils.unregister_class(SuperLineMenuPanel) # Регистрация меню - Выключить


#bpy.utils.register_class(SuperLineOperator)

if __name__ == "__main__":
    register()

    # test call
    # bpy.ops.object.superline_operator()

Категория: Blender | Просмотров: 230 | Добавил: suny-o | Теги: меш, cross, простая, addon, Блендер, пример, пять, example, вершин, крест, аддон, сетка, простой, mesh, 2.93, Blender | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Календарь
«  Июль 2021  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
262728293031
Архив записей
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Copyright MyCorp © 2024
    Создать бесплатный сайт с uCoz