Design overhead lines, draw catenary

11 ビュー (過去 30 日間)
Filip Matic
Filip Matic 2016 年 11 月 7 日
コメント済み: Star Strider 2016 年 11 月 7 日
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 件のコメント
KSSV
KSSV 2016 年 11 月 7 日
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 2016 年 11 月 7 日
編集済み: Filip Matic 2016 年 11 月 7 日

サインインしてコメントする。

採用された回答

Star Strider
Star Strider 2016 年 11 月 7 日
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 件のコメント
Filip Matic
Filip Matic 2016 年 11 月 7 日
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 2016 年 11 月 7 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by