All Forums
 Категория Visio
 Форум Вопросы и ответы
 ww
Author Previous Topic Topic Next Topic  

WW

12 Posts

Posted - 11/11/2007 :  14:24:17
Доброго времени суток! Подскажите чайнику, как при помощи средств Visio получить длину ломаной линии?

Tumanov

Russia
1198 Posts

Posted - 11/11/2007 :  16:51:34
Чайнику будет непросто...
Нужно написать макрос, который будет забираться в секцию Geometry, перебирать все строки секции и складывать длины, высчитываемые по двум координатам.
Go to Top of Page

GDK

Russia
90 Posts

Posted - 11/19/2007 :  08:15:29
Уже делал такое. Только вот написал макрос для того чтобы поделить с помощью расстановки точек подключения ломаную линию на отрезки (можно задавать либо длину отрезков, либо количество частей на которые нужно разделить линию). Как дополнительную информацию о линии этот макрос выводит периметр выделенной линии. Если ещё нужно, могу скинуть файл с макросом и линией. Дело в том, что для того чтобы не было косяков в результате косячных действий пользователя, я сделал линию, которая запускает нужные макросы если на ней щёлкнуть правой кн. мыши, а потом выбрать нужное действие.
Go to Top of Page

WW

12 Posts

Posted - 11/24/2007 :  14:28:29
Большое спасибо за участие! Я был-бы рад любой информации. Мой E-mail: wasilymarchuk@rambler.ru
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 11/24/2007 :  19:56:08
Ну вот, кусочек информации :)
Function KabLength(Shap As Shape) As Double
Dim i As Integer
Dim Summa As Double
Dim dx As Double, dy As Double
Dim nRows As Integer
nRows = Shap.RowCount(visSectionFirstComponent) - 1
Summa = 0
For i = 1 To nRows - 1
dx = (Shap.CellsSRC(visSectionFirstComponent, i, 0) - Shap.CellsSRC(visSectionFirstComponent, i + 1, 0)) * 0.0254
dy = (Shap.CellsSRC(visSectionFirstComponent, i, 1) - Shap.CellsSRC(visSectionFirstComponent, i + 1, 1)) * 0.0254
Summa = Summa + Sqr(dx ^ 2 + dy ^ 2)
Next
KabLength = Summa
End Function
Go to Top of Page

WW

12 Posts

Posted - 11/30/2007 :  16:04:45
Большое спасибо Вам! Вы знаете, туман постепенно рассеивается.
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)