Design overhead lines, draw catenary

14 vues (au cours des 30 derniers jours)
Filip Matic
Filip Matic le 7 Nov 2016
Commenté : Star Strider le 7 Nov 2016
Maybe you hear about pls cadd or some program that design overhead lines, to simplify, I need to write code (i know how) and to get output like following picture
[IMG]http://i64.tinypic.com/330vk83.png[/IMG]
It is all about to draw catenary in 5-10 spans of transmission overhead line. I need to draw only conductor (line) and export that in autocad. I know to draw one span, that is function of catenary (output is in one figure) but can i draw more span, more catenary and join it together like on picture ? How to solve this problem, to draw 5-10 figure of catenary and then join them, or to draw all together, is that possible ?
I really appreciate any help you can provide.
  2 commentaires
KSSV
KSSV le 7 Nov 2016
Unable to open picture.
The page you were looking for doesn't exist.
You may have mistyped the address or the page may have moved.
Filip Matic
Filip Matic le 7 Nov 2016
Modifié(e) : Filip Matic le 7 Nov 2016

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 7 Nov 2016
You can find the Mathematical description of a catenary online. In this notation, your ‘S’ parameters are obviously ‘a’, and ‘W/2’ define ‘x’, that has to go from ‘-W/2’ to ‘+W/2’. I leave the rest to you.
  2 commentaires
Filip Matic
Filip Matic le 7 Nov 2016
Tnx. I know draw one catenary, my question was can i draw 10 catenary on one figure like on this picture http://imageshack.com/a/img924/8396/LlVrnj.png and then export that in autocad or dxf format?
Star Strider
Star Strider le 7 Nov 2016
My pleasure.
You would have to define different ranges of your ‘x’-variable, one set for each catenary, and another set for the towers.
Experiment with this to get the result you want:
catfun = @(x,a) a .* cosh(x./a); % Catenary Function
L = 10; % Distance Between Towers
x = linspace(-L/2, L/2, 15); % Inter-Tower Distances (Assumed Equal)
cat_lines = catfun(x, 10); % Calculate Catenary Curves
twr = 0 : L : 9*L; % Tower Locations
dist_mtx = bsxfun(@plus, twr, (L/2+x')); % Distance Matrix
cat_mtx = bsxfun(@plus, ones(size(twr)), cat_lines'); % Catenary Curves Matrix
twr_x = -1:1; % Base Width Of Each Tower
twr_y = [0 max(cat_mtx(:)) 0]; % Height Profile Of Each Tower
twr_all = [twr twr(end)+L]; % Add End Tower
twrs_xm = bsxfun(@plus, twr_all, twr_x'); % Tower ‘Footprints’
twrs_ym = bsxfun(@plus, zeros(size(twr_all)), twr_y'); % Tower Height Profiles
figure(1)
plot(dist_mtx, cat_mtx) % Plot Catenaries
hold on
patch(twrs_xm, twrs_ym, 'k') % Plot Towers
hold off
grid
axis([xlim 0 max(ylim)+1])
The Plot

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by