Design overhead lines, draw catenary

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 Commenti

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 il 7 Nov 2016
Modificato: Filip Matic il 7 Nov 2016

Accedi per commentare.

 Risposta accettata

Star Strider
Star Strider il 7 Nov 2016

0 voti

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 Commenti

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?
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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by