I am facing an issue while combining two stl.

24 次查看(过去 30 天)
Vijay
Vijay 2024-10-29,15:44
回答: Gayatri 2024-10-29,15:53
I have two 3D geometries along with their associated nodes and faces. I want to combine these two STL geometries by merging their nodes and faces into single geometry.

回答(1 个)

Gayatri
Gayatri 2024-10-29,15:53
Hi Vijay,
Below is a MATLAB script that demonstrates how to combine two STL into one single geometry:
% Read the STL files
shape1 = stlread('file1.stl');
shape2 = stlread('file2.stl');
% Extract nodes and faces from both geometries
vertices1 = shape1.Points;
faces1 = shape1.ConnectivityList;
vertices2 = shape2.Points;
faces2 = shape2.ConnectivityList;
% Adjust face indices for the second geometry by adding the number of vertices from the first geometry to the second's face indices
updatedFaces2 = faces2 + size(vertices1, 1);
% Combine the vertices and faces
mergedVertices = [vertices1; vertices2];
mergedFaces = [faces1; updatedFaces2];
% Create a new triangulation object for the merged geometry
mergedGeometry = triangulation(mergedFaces, mergedVertices);
% Write the merged geometry to a new STL file
stlwrite(mergedGeometry, 'merged_geometry.stl');
Please refer the below documentations for 'stlread' and 'stlwrite' functions:

标签

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by