extrude

Вертикально вытесните 2D геометрию или заданные поверхности 3-D геометрии

    Описание

    пример

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

    пример

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

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

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

    Примеры

    свернуть все

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

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

    model = createpde;

    Импортируйте 2D геометрию.

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

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

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

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

    Создайте 3-D геометрию путем вытеснения 2D геометрии вдоль оси 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 геометрию путем вытеснения 2D геометрии вдоль оси 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.

    Вытесните 2D геометрию, которой добавил вершину 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.

    Вытесните 2D геометрию, которой добавил поверхность 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 геометрию путем вытеснения 2D геометрии вдоль оси 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 геометрию путем вытеснения 2D геометрии вдоль оси 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 2D геометрия, затем height(i) задает высоту iслой th многослойной (сложенной) 3-D геометрии. Каждый слой составляет новую ячейку.

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

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

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

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

    свернуть все

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

    Советы

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

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

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

    Введенный в R2020b