exponenta event banner

вытеснить

Вытягивание по вертикали 2-D геометрии или указанных граней геометрии 3-D

    Описание

    пример

    extrude(g,height) создает 3-D дискретную геометрию путем выдавливания 2-D геометрии вдоль оси z на значение height. Можно создать многослойную 3-D дискретную геометрию, задав height как вектор толщин слоев.

    пример

    extrude(g,FaceID,height) выдавливание заданных граней 3-D геометрии вдоль направления, перпендикулярного граням. Здесь, FaceID указывает, какие грани требуется вытянуть. Можно выдавить грани в несколько слоев, указав height как вектор толщин слоев.

    Все указанные грани должны быть плоскими и иметь одинаковую ориентацию. Выдавленные объемы не должны пересекаться друг с другом или с существующей геометрией.

    h = extrude(___) возвращает дескриптор h. Если исходной геометрией является DiscreteGeometry объект, затем функция изменяет исходную геометрию, и h дескриптор измененного DiscreteGeometry объект. Если исходной геометрией является AnalyticGeometry объект, затем h является дескриптором для нового DiscreteGeometry объект. В этом случае исходная геометрия остается неизменной.

    Примеры

    свернуть все

    Создание 3-D геометрии путем выдавливания 2-D геометрии вдоль оси Z.

    Создайте модель PDE.

    model = createpde;

    Импорт геометрии 2-D.

    g = importGeometry(model,'PlateHolePlanar.stl');

    Постройте график геометрии и отобразите метки граней.

    pdegplot(g,'FaceLabels','on')

    Figure contains an axes. The axes contains an object of type line.

    Создайте 3-D геометрию путем выдавливания 2-D геометрии вдоль оси Z на 5 единиц.

    extrude(g,5)
    ans = 
      DiscreteGeometry with properties:
    
           NumCells: 1
           NumFaces: 7
           NumEdges: 15
        NumVertices: 10
           Vertices: [10x3 double]
    
    

    Постройте график новой геометрии и отобразите метки граней.

    pdegplot(g,'FaceLabels','on','FaceAlpha',0.5)

    Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

    Создание многослойной 3-D геометрии путем выдавливания 2-D геометрии вдоль оси Z.

    Создайте модель PDE.

    model = createpde;

    Импорт геометрии.

    g = importGeometry(model,'PlateHolePlanar.stl')
    g = 
      DiscreteGeometry with properties:
    
           NumCells: 0
           NumFaces: 1
           NumEdges: 5
        NumVertices: 5
           Vertices: [5x3 double]
    
    

    Постройте график геометрии и отобразите метки граней.

    pdegplot(g,'FaceLabels','on')

    Figure contains an axes. The axes contains an object of type line.

    Создайте 3-D геометрию, состоящую из трех блоков с отверстиями, расположенными друг над другом. Высоты блоков составляют 5, 10 и 20 единиц.

    extrude(g,[5,10,20])
    ans = 
      DiscreteGeometry with properties:
    
           NumCells: 3
           NumFaces: 19
           NumEdges: 35
        NumVertices: 20
           Vertices: [20x3 double]
    
    

    Постройте график новой геометрии и отобразите метки ячеек.

    pdegplot(g,'CellLabels','on','FaceAlpha',0.5)

    Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

    Выдавливание 2-D геометрии с вершиной, добавленной addVertex функция. Все слои выдавленной геометрии имеют соответствующую вершину, но между этими вершинами нет ребер.

    Создайте модель PDE.

    model = createpde;

    Импорт геометрии.

    g = importGeometry(model,'PlateHolePlanar.stl');

    Постройте график геометрии и отобразите метки вершин.

    pdegplot(g,'VertexLabels','on')

    Figure contains an axes. The axes contains an object of type line.

    Добавьте новую вершину на правом ребре.

    addVertex(g,'Coordinates',[10 12]);

    Постройте график новой геометрии и отобразите метки вершин.

    pdegplot(g,'FaceLabels','on','VertexLabels','on')

    Figure contains an axes. The axes contains an object of type line.

    Создайте 3-D геометрию, состоящую из трех блоков с отверстиями, расположенными друг над другом. Высоты блоков составляют 5, 10 и 20 единиц.

    extrude(g,[5,10,20])
    ans = 
      DiscreteGeometry with properties:
    
           NumCells: 3
           NumFaces: 19
           NumEdges: 35
        NumVertices: 24
           Vertices: [24x3 double]
    
    

    Постройте график новой геометрии и отобразите метки вершин. extrude функция реплицирует добавленную вершину V6 на три новые вершины: V12, V18, и V24. Она не создает ребер между этими вершинами.

    pdegplot(g,'VertexLabels','on','FaceAlpha',0.5)

    Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

    Выдавливание 2-D геометрии с гранью, добавленной addFace функция.

    Создайте модель PDE.

    model = createpde;

    Импорт геометрии.

    g = importGeometry(model,'PlateHolePlanar.stl');

    Постройте график геометрии и отобразите метки граней и кромок.

    pdegplot(g,'FaceLabels','on','EdgeLabels','on')

    Figure contains an axes. The axes contains an object of type line.

    Заполните отверстие в центре, добавив грань.

    addFace(g,5)
    ans = 
      DiscreteGeometry with properties:
    
           NumCells: 0
           NumFaces: 2
           NumEdges: 5
        NumVertices: 5
           Vertices: [5x3 double]
    
    

    Постройте график измененной геометрии.

    pdegplot(g,'FaceLabels','on')

    Figure contains an axes. The axes contains an object of type line.

    Создайте 3-D геометрию путем выдавливания 2-D геометрии вдоль оси Z на 2 единицы.

    extrude(g,2)
    ans = 
      DiscreteGeometry with properties:
    
           NumCells: 2
           NumFaces: 9
           NumEdges: 15
        NumVertices: 10
           Vertices: [10x3 double]
    
    

    Постройте график новой геометрии и отобразите метки ячеек.

    pdegplot(g,'CellLabels','on','FaceAlpha',0.5)

    Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

    Выдавливание указанных граней 3-D геометрии.

    Импортируйте геометрию и печатайте ее с метками граней и кромок.

    g = importGeometry('PlateHolePlanar.stl');
    pdegplot(g,'FaceLabels','on','EdgeLabels','on')

    Figure contains an axes. The axes contains an object of type line.

    Заполните отверстие в центре, добавив грань. Постройте график измененной геометрии.

    addFace(g,5);
    pdegplot(g,'FaceLabels','on')

    Figure contains an axes. The axes contains an object of type line.

    Создайте 3-D геометрию путем выдавливания 2-D геометрии вдоль оси Z на 2 единицы.

    extrude(g,2);

    Постройте график новой геометрии с метками ячеек и граней.

    pdegplot(g,'CellLabels','on','Facelabels','on','FaceAlpha',0.5)

    Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

    Теперь вытяните центральную грань геометрии на 5 единиц.

    extrude(g,4,5);

    Постройте график результирующей геометрии с метками ячеек.

    pdegplot(g,'CellLabels','on','FaceAlpha',0.5)

    Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

    Теперь звоните extrude снова, и на этот раз задать вектор высот. Функция выдавливает все указанные грани по каждой из заданных высот, что создает несколько слоев.

    extrude(g,[1 2],[3 4]);
    pdegplot(g,'CellLabels','on','FaceAlpha',0.5)

    Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

    Входные аргументы

    свернуть все

    Геометрия, заданная как DiscreteGeometry или AnalyticGeometry объект.

    Высоты ячеек, определяемые как положительное вещественное число или вектор положительных вещественных чисел.

    Если height является вектором и g является 2-D геометрией, то height(i) определяет высоту iтретий слой многослойной (уложенной) геометрии 3-D. Каждый слой образует новую ячейку.

    Если g является 3-D геометрией, функция выдавливает все указанные грани в несколько слоев, с height(i) задание высоты iТретий слой.

    Пример: extrude(g,5.5)

    Грани для выдавливания в геометрии 3-D, заданные как положительное вещественное число или вектор положительных вещественных чисел. Если height является вектором, затем функция выдавливает все указанные грани в несколько слоев, как это делается для 2-D геометрий.

    Выходные аргументы

    свернуть все

    Результирующая геометрия, возвращенная как маркер перемещения. Если исходная геометрия g является DiscreteGeometry объект, затем h является дескриптором измененного DiscreteGeometry объект g. Если g является AnalyticGeometry объект, затем h является дескриптором для нового DiscreteGeometry объект. В этом случае исходная геометрия g остается неизменным.

    Совет

    • extrude изменяет геометрию, но не изменяет соответствующую сетку. После изменения геометрии выполните регенерацию сетки, чтобы обеспечить правильную связь сетки с новой геометрией.

    • Если для 2-D геометрии добавлены новые вершины с помощью addVertex функция, extrude повторяет новые вершины на каждом новом слое выдавленной геометрии 3-D, но не связывает эти вершины ребрами.

    • Если g является AnalyticGeometry и вы хотите заменить его выдавленной дискретной геометрией 3-D, назначьте вывод исходной геометрии, например: g = extrude(g,20).

    Представлен в R2020b