How do I export a plot comprising of multiple functions to .stl?

3 ビュー (過去 30 日間)
Aayush Chadha
Aayush Chadha 2020 年 8 月 20 日
回答済み: Aayush Chadha 2020 年 8 月 22 日
I have a plot created using multiple parametric functions that define an archimedean spiral. I want to export the plotted figure to stl or convert it into a mesh that resembles the plotted shape, however, am unable to do so. I have tried using triangulation and mesh grid but to no avail. The plot I want to export is shown above.
This plot was generated using:
% Spiral edges
x = (inner_radius + spiral_growth_rate.*angles).*cos(angles);
y = (inner_radius + spiral_growth_rate.*angles).*sin(angles);
syms theta
diff_x = diff((inner_radius +spiral_growth_rate*theta)*cos(theta));
diff_y = diff((inner_radius +spiral_growth_rate*theta)*sin(theta));
N_x = (-diff_y)/sqrt(diff_x^2 + diff_y^2);
N_y = (diff_x)/sqrt(diff_x^2 + diff_y^2);
shift_x = vpa(subs(N_x, theta, angles));
shift_y = vpa(subs(N_y, theta, angles));
outer_x_coords = x+shift_x.*thickness/2;
outer_y_coords = y+shift_y.*thickness/2;
inner_x_coords = x-shift_x.*thickness/2;
inner_y_coords = y-shift_y.*thickness/2;
% Joining curves
s = linspace(-1, 1);
inner_j_x = x(1) + s .* shift_x(1)*thickness/2;
inner_j_y = y(1) + s .* shift_y(1)*thickness/2;
outer_j_x = x(end) + s .* shift_x(end).*thickness/2;
outer_j_y = y(end) + s .* shift_y(end).*thickness/2;
x_coords = double([inner_x_coords, outer_x_coords, inner_j_x, outer_j_x]);
y_coords = double([inner_y_coords, outer_y_coords, inner_j_y, outer_j_y]);
% [X,Y] = meshgrid(x_coords, y_coords);
%
% T = delaunay(X,Y);
% trimesh(T,x,y);
figure
hold on
plot(outer_x_coords, outer_y_coords);
plot(inner_x_coords, inner_y_coords);
plot(inner_j_x, inner_j_y);
plot(outer_j_x, outer_j_y);
hold off

採用された回答

Aayush Chadha
Aayush Chadha 2020 年 8 月 22 日
In case someone ever encounters a similar problem. I ended up doing this by generating the points in Python and then using pygmsh to generate the mesh. I wrote this mesh to STL, opened and saved it using Meshlab (I do not know why the mesh couldn't be read otherwise by customAntennaStl) before I was able to finally use it.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSTL (STereoLithography) についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by