Truss with frames and rigid plates

3 views (last 30 days)
Nandika D'Souza
Nandika D'Souza on 20 Jul 2023
Answered: Ayush on 23 Aug 2023
hi,
I have a 3d truss with a few plates in the frame. how do I insert a plane into the truss frame?

Answers (1)

Ayush
Ayush on 23 Aug 2023
It is my understanding that you would like to insert a plane into the 3D truss you have.
Use the patch function and insert the plane in the truss frame. It can be done in the following way:
% For the sake of explanation, I have created a truss with rigid plates and inserted the plane therein
% Define the coordinates of the truss nodes
nodes = [0, 0, 0; 0, 0, 5; 0, 5, 0; 0, 5, 5; 5, 0, 0; 5, 0, 5; 5, 5, 0; 5, 5, 5];
% Define the connectivity matrix for the truss elements
connectivity = [1, 2; 1, 4; 1, 5; 2, 3; 2, 6; 3, 4; 3, 7; 4, 8; 5, 6; 5, 8; 6, 7; 7, 8];
% Define the coordinates of the rigid plates
plateVertices = [0, 0, 0; 0, 5, 0; 5, 5, 0; 5, 0, 0];
% Define the coordinates of the plane vertices
planeVertices = [0, 0, 1; 0, 2.5, 1; 5, 2.5, 1; 5, 0, 1]; % Can also replace with the indices of the desired truss nodes for the plane
% Plot the truss
figure;
hold on;
% Plot the truss nodes
scatter3(nodes(:, 1), nodes(:, 2), nodes(:, 3), 'filled');
% Plot the truss elements
for i = 1:size(connectivity, 1)
startNode = nodes(connectivity(i, 1), :);
endNode = nodes(connectivity(i, 2), :);
line([startNode(1), endNode(1)], [startNode(2), endNode(2)], [startNode(3), endNode(3)]);
end
% Plot the rigid plates
patch('Vertices', plateVertices, 'Faces', [1, 2, 3, 4], 'FaceAlpha', 0.5, 'FaceColor', 'blue');
% Plot the plane
patch('Vertices', planeVertices, 'Faces', [1, 2, 3, 4], 'FaceAlpha', 0.5, 'FaceColor', 'red');
% Set axis labels and limits
xlabel('X');
ylabel('Y');
zlabel('Z');
axis equal;
grid on;
% Adjust the view angle
view(3);
Please refer to patch documentation for more information on how to create colored polygon patches.

Tags

Community Treasure Hunt

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

Start Hunting!