Has MATLAB implemented a polygon offset function?

조회 수: 8 (최근 30일)
Stephanie Farney
Stephanie Farney 2021년 1월 8일
댓글: Steven Lord 2021년 1월 13일
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!

답변 (1개)

Matt J
Matt J 2021년 1월 8일
편집: Matt J 2021년 1월 8일
  댓글 수: 2
Stephanie Farney
Stephanie Farney 2021년 1월 13일
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 2021년 1월 13일
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.

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

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by