Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 28 мар 2024, 19:26

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !

Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Размер фигуры в зависимости от формата страницы
СообщениеДобавлено: 03 апр 2014, 10:54 
Не в сети

Зарегистрирован: 24 июл 2013, 17:11
Сообщений: 15
Откуда: Санкт-Петербург
Использую Visio c: 2013
Отрасль: САПР
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Добрый день.
Подскажите, пожалуйста, можно ли определить формат страницы, на которой находится фигура? Я хочу чтобы в зависимости от формата страницы менялась Height фигуры, например А1 - 200 мм, А2 - 100 мм. Я придумал способ через вычисление площади страницы (ThePage!PageWidth*ThePage!PageHeight) но формула получается слишком длинной. Можно ли это сделать элегантнее?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Размер фигуры в зависимости от формата страницы
СообщениеДобавлено: 03 апр 2014, 13:50 
Не в сети
Ветеран

Зарегистрирован: 05 июл 2012, 21:34
Сообщений: 225
Очков репутации: 27

Добавить очки репутацииУменьшить очки репутации
=IF(User.w>User.h,IF(User.w=1189 mm,IF(User.h=841 mm,0,-1),IF(User.w=841 mm,IF(User.h=594 mm,1,-1),IF(User.w=594 mm,IF(User.h=420 mm,2,-1),IF(User.w=420 mm,IF(User.h=297 mm,3,-1),IF(User.w=297 mm,IF(User.h=210 mm,4,-1),-1))))),IF(User.w=841 mm,IF(User.h=1189 mm,0,-1),IF(User.w=594 mm,IF(User.h=841 mm,1,-1),IF(User.w=420 mm,IF(User.h=594 mm,2,-1),IF(User.w=297 mm,IF(User.h=420 mm,3,-1),IF(User.w=210 mm,IF(User.h=297 mm,4,-1),-1))))))

в секции User-defined cells
Высота и ширина страницы
User.h=GUARD(ThePage!PageWidth/Sheet.1!User.Row_1)
User.w=GUARD(ThePage!PageHeight/Sheet.1!User.Row_1)
Масштаб
Sheet.1!User.Row_1=ThePage!DrawingScale/ThePage!PageScale

Определяет только обычные, не удлиненные форматы


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Размер фигуры в зависимости от формата страницы
СообщениеДобавлено: 03 апр 2014, 14:13 
Не в сети

Зарегистрирован: 24 июл 2013, 17:11
Сообщений: 15
Откуда: Санкт-Петербург
Использую Visio c: 2013
Отрасль: САПР
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Спасибо!
Колличестов используемых у нас удлиненных форматов ограничено (А4х3, А4х4, А3х2 и А3х3), поэтому их также несложно включить в формулу.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Размер фигуры в зависимости от формата страницы
СообщениеДобавлено: 03 апр 2014, 15:30 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
я вот таким макаром определяю стандартные размеры листа
user.scale
=INT((ThePage!PageWidth*ThePage!PageHeight)/(POW(ThePage!DrawingScale/ThePage!PageScale,2)*62370 sq mm))
user.set
=IF(User.scale=1,SETF("Fields.Value","""A4"""),-1)+IF(User.scale=2,SETF("Fields.Value","""A3"""),-1)+IF(User.scale=4,SETF("Fields.Value","""A2"""),-1)+IF(User.scale=8,SETF("Fields.Value","""A1"""),-1)+IF(User.scale=16,SETF("Fields.Value","""A0"""),-1)+IF(NOT(OR(User.scale=1,User.scale=2,User.scale=4,User.scale=8,User.scale=16)),SETF("Fields.Value","""?"""),-1)

надо еще добавлять условия по соотношению ширины/высоты листа :)

David Parker собрал такую справочную информацию по размерам листов
Встроенное видео спрятано под спойлер ↓ Прямая ссылка на видео
Спойлер:
phpBB [media]

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Размер фигуры в зависимости от формата страницы
СообщениеДобавлено: 04 апр 2014, 14:31 
Не в сети

Зарегистрирован: 24 июл 2013, 17:11
Сообщений: 15
Откуда: Санкт-Петербург
Использую Visio c: 2013
Отрасль: САПР
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Я определяю формат таким способом:
IF(ThePage!PageWidth*ThePage!PageHeight=999949 sq mm,"Формат А0",IF(ThePage!PageWidth*ThePage!PageHeight=499554 sq mm,"Формат А1",IF(ThePage!PageWidth*ThePage!PageHeight=249480 sq mm,"Формат А2",IF(ThePage!PageWidth*ThePage!PageHeight=124740 sq mm,"Формат А3",IF(ThePage!PageWidth*ThePage!PageHeight=62370 sq mm,"Формат А4","Формат "&Prop.Text)))))
Т.к. считаю площадь страницы, то не важно какая ориентация, книжная или альбомная.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Размер фигуры в зависимости от формата страницы
СообщениеДобавлено: 04 апр 2014, 17:05 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Skivv, мне твой способ определения нравится больше всех :)
Цитата:
=IF(ThePage!PageWidth*ThePage!PageHeight=187110 sq mm,"Формат 3xA4",IF(ThePage!PageWidth*ThePage!PageHeight=374220 sq mm,"Формат 3xA3",IF(ThePage!PageWidth*ThePage!PageHeight=999949 sq mm,"Формат А0",IF(ThePage!PageWidth*ThePage!PageHeight=499554 sq mm,"Формат А1",IF(AND(ThePage!PageWidth*ThePage!PageHeight=249480 sq mm,INT(ThePage!PageWidth/ThePage!PageHeight)=2),"Формат 2xА3",IF(AND(ThePage!PageWidth*ThePage!PageHeight=249480 sq mm,INT(ThePage!PageWidth/ThePage!PageHeight)=1),"Формат А2",IF(ThePage!PageWidth*ThePage!PageHeight=124740 sq mm,"Формат А3",IF(ThePage!PageWidth*ThePage!PageHeight=62370 sq mm,"Формат А4","Формат "&Prop.text))))))))
добавив первый выделенный фрагмент, можно разобраться с 3хА4 и 3хА3.
объясните мне разницу между 4хА4 и 2хА3 ? второй выделенный фрагмент отличает стандартный лист от нестандартного

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Размер фигуры в зависимости от формата страницы
СообщениеДобавлено: 07 апр 2014, 09:21 
Не в сети
Ветеран

Зарегистрирован: 05 июл 2012, 21:34
Сообщений: 225
Очков репутации: 27

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
объясните мне разницу между 4хА4 и 2хА3 ? второй выделенный фрагмент отличает стандартный лист от нестандартного

Удлиненные форматы собираются из обычных вертикальных. 2хА3 = А2. 4хА4 = 840х297.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Размер фигуры в зависимости от формата страницы
СообщениеДобавлено: 07 апр 2014, 09:55 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
ясно значит удлиненного 2хА3 не существует :)
Цитата:
=IF(ThePage!PageWidth*ThePage!PageHeight=187110 sq mm,"Формат 3xA4",IF(ThePage!PageWidth*ThePage!PageHeight=374220 sq mm,"Формат 3xA3",IF(ThePage!PageWidth*ThePage!PageHeight=999949 sq mm,"Формат А0",IF(ThePage!PageWidth*ThePage!PageHeight=499554 sq mm,"Формат А1",IF(AND(ThePage!PageWidth*ThePage!PageHeight=249480 sq mm,INT(ThePage!PageWidth/ThePage!PageHeight)=2),"Формат 4xА4",IF(AND(ThePage!PageWidth*ThePage!PageHeight=249480 sq mm,INT(ThePage!PageWidth/ThePage!PageHeight)=1),"Формат А2",IF(ThePage!PageWidth*ThePage!PageHeight=124740 sq mm,"Формат А3",IF(ThePage!PageWidth*ThePage!PageHeight=62370 sq mm,"Формат А4","Формат "&Prop.text))))))))

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 апр 2014, 12:59 
Не в сети
Ветеран

Зарегистрирован: 06 май 2013, 13:01
Сообщений: 746
Откуда: Россия
Использую Visio c: 2013
Очков репутации: 18

Добавить очки репутацииУменьшить очки репутации
INDEX и/или LOOKUP не лучше было бы применить?
Хотя, я до конца не продумал идею, возможно, там есть какие-то проблемы...


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re:
СообщениеДобавлено: 10 апр 2014, 15:24 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Qwertiy писал(а):
INDEX и/или LOOKUP не лучше было бы применить?

когда нужны только стандартные размеры листов это лучший вариант !!! никаких сложностей

для различения 4хА4 и А2 пришлось применить часть от моего предыдущего решения, ее я тоже модифицировал Изображение
Value
Prompt
user.row_1
INT(MAX(ThePage!PageWidth,ThePage!PageHeight)/MIN(ThePage!PageWidth,ThePage!PageHeight))
ThePage!PageWidth*ThePage!PageHeight/1 sq mm
user.row_2
IF(AND(User.Row_1.Prompt=249480,User.Row_1=2),"4xА4",IF(AND(User.Row_1.Prompt=249480,User.Row_1=1),"А2",INDEX(LOOKUP(User.Row_1.Prompt,"62370;124740;187110;374220;499554;999949"),User.Row_2.Prompt)))
A4;A3;3xA4;3xA3;A1;A0

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB