Author |
Topic |
|
Tatochka
Russia
7 Posts |
Posted - 04/06/2003 : 09:16:44
|
Прошу - помогите пожалуйста. Возникла необходимость расчитать длины линий в зависимости от заданной. То есть - есть габаритные размер здания (задан на размерной линии), нужно автоматически высчитывать значения на других размерных линиях в зависимости от габаритного. ( Видела что то подобное, но ту библиотеку мне не дали :( В подобном примере - вычитывались длины сетевых комуникаций в зависимости от выставленного расстояния между зданиями) |
|
Tumanov
Russia
1198 Posts |
Posted - 04/06/2003 : 13:18:43
|
Скажи, кто не дал - вдруг когда-нибудь встретимся... А вообще-то мы сами лучше сделаем :) Вот только надо поточнее разобраться чего ты хочешь. 1. Знакома ли ты с трафаретом Dimensioning - Engineering.vss? Элементы, которые там есть, делают нечто похожее, но более строго. Например, Horizontal. Это размерная стрелка, которая показывает значение в зависимости от того, куда отодвинули ее конец, то есть ИЗМЕРЯЕТ. Настраивается куча параметров: точность измерения, единицы измерения и т.д. Можно повернуть на нужный угол. Отличие - Коэффициентами являются масштаб рисунка и масштаб страницы, а не текст некого шейпа. Да это и логичнее - просто все рисуется в масштабе, а размеры проставляются автоматически. Предположим это не годится. Тогда 2. Вроде бы получается, что ты хочешь иметь: а) некую постоянную конфигурацию на рисунке; б) менять какой-то условный масштаб, не трогая свойств рисунка и страницы, а задавая его путем ввода текста (числа) в один из шейпов; в) пересчитывать текст на нескольких других шейпах (стрелках) в зависимости от этого условного масштаба. Это тоже можно сделать (хотя и более коряво). Причем будет несколько проще, если этот условный масштаб задавать на на шейпе (значение длины на габаритном размере здания), а на чем-то более основательном, например, как свойство страницы (понятно почему - не надо будет выискивать шейп, к которому нужно привязываться). Из шейпа сослаться на страницу проще, чем на другой шейп. 3. Если захочешь сделать сама, то принцип следующий: В Visio каждому шейпу соответствует шейп-лист - это что-то вроде Excel'овского листа, где все параметры описываются с помощью формул или значений. Значит отображаемый на линии текст всегда можно связать с длиной линии и некоторым коэффициентом. Этот коэффициент проще всего вычислить из масштабов рисунка и страницы (способ 1) или из параметров другого шейпа (который надо будет еще найти - способ 2). В ячейку загоняются нужные формулы, коэффициенты и ссылки, а дальше все будет вычисляться автоматически.
|
|
|
Tatochka
Russia
7 Posts |
Posted - 04/06/2003 : 16:48:55
|
С трафаретом Dimensioning - Engineering.vss я, к своему стыду не знакома. Поиск на своем компе - ничего не дал. Видимо это как раз то, что мне и не дали ( коллеги по работе иногда излишне оригинальны ) Значит поищу в инете. но очень хотелось бы подобное сделать самой ( если хватит силенок. потому что в программировании VBA - слаба - могу вывести простейшее окошко, но чтобы взять именно то свойство, которое хочу - приходится попотеть). Не обязательно чтобы это был текст шейпа, с этим я согласная ( просто с первого взгляда показалось что именно это и легче сделать) с шейп-листами, благодаря Вашим статьям - я знакома но еще не настолько хорошо, чтобы выделить масштаб страницы. |
|
|
Tumanov
Russia
1198 Posts |
Posted - 04/06/2003 : 18:51:53
|
Чтобы не искать в инете можно написать письмо на мой адрес ttt@post.rzn.ru, я вышлю (122 Kb в архиве), без этого я адрес не знаю. А учиться можно и разбирая существующие примеры, рассматривая, как они сделаны (правда как раз этот элемент сделан довольно сложно - очень уж много туда всего втолкнули, зато красиво работает). |
|
|
Tatochka
Russia
7 Posts |
Posted - 04/07/2003 : 16:31:34
|
трафарет я нашла на работе - дома у меня Визио2000,а на работе - 2002 ( зато дома есть выход в Инет,а на работе - нету :( ) еще не разобралась - где в элементе ссылка на масшатб, но это не совсем то что нужно. Хотелось бы облегченный вариант - задал масштаб, а она - раз и посчитала все размеры ( приблизительно - если закупать кабель - то точность до метра) и насколько я заметила - (может пропустила) длин линий нет (размерные линии на габариты). |
|
|
Tumanov
Russia
1198 Posts |
Posted - 04/08/2003 : 11:50:34
|
Я так предполагал, что размерные линии уже дадут всю нужную информацию. А Вы хотите просуммировать все отрезки ломанной линии и выразить их единственным числом? Или просто сменить конфигурацию элемента, чтобы он был не из трех черточек, а из одной? В первом случае нужно действительно строить свой элемент, в готовых наборах таких я не видел. Кстати, на плане вы ведь увидите только горизонтальные изгибы кабеля, а как добавлять те куски, которые имеют вертикальное направление и на плане сворачиваются в точку? Еще вариант - Вам нужна всего одно число - суммарное значение длин всех кабелей, где бы ним были расположены их куски. Это уже третья задача, которая, кстати, должна решаться проще всего - программно выбрать все шейпы данного типа и сложить их длины. |
|
|
|
Topic |
|
|
|