MATLAB Answers

Has MATLAB implemented a polygon offset function?

조회 수: 28(최근 30일)
Stephanie Farney
Stephanie Farney 8 Jan 2021
댓글: Steven Lord 13 Jan 2021
Hi! I have 2D CMM data mapping the inside of a pipe at a plane of interest prior to coating and coating thickness measurements at various points inside the pipe. I want to plot the CMM data, offset each wall of the pipe by its corresponding thickness, and use the offset data to calculate the coated cross-sectional area of the pipe (see diagram below). Is there a simple way to do this? If not, does MATLAB have a built-in function to offset the data by a uniform thickness (similarly to CAD software)?
Thanks!

  댓글 수: 0

댓글을 달려면 로그인하십시오.

답변(1개)

Matt J
Matt J 8 Jan 2021
편집: Matt J 8 Jan 2021

  댓글 수: 2

Stephanie Farney
Stephanie Farney 13 Jan 2021
Thank you, that got me on the right track. However, I'm still unable to offset the data by a uniform amount. If it helps, my code resembles the following:
bound = boundary(data.X,data.Y);
contour = polyshape(data.X(bound),data.Y(bound));
coatedContour = polybuffer(contour,avgThickness);
When I plot contour and coatContour, the coating thickness on the top and bottom walls is significantly thicker than the coating on the side walls. As a note, using the boundary gets me an area that better matches the uncoated area calculated by the supplier, but I still have the same problem when I exclude it.
Do you know what might cause this issue?
Thanks again!
Steven Lord
Steven Lord 13 Jan 2021
Can you share a small sample of data with which you can reproduce this behavior? Please include either a data set that's small enough to include as text in a comment or a small MAT-file as an attachment to a comment.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by