Design overhead lines, draw catenary

12 views (last 30 days)
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 Comments
KSSV
KSSV on 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.

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 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 Comments
Filip Matic
Filip Matic on 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 on 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

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!