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

zz 5

Russia
54 Posts

Posted - 05/15/2006 :  14:45:53
Здраствуйте. Встала острая необходимость создать свой трафарет, своего рода рамку, единую для всех черчежей. За основу взял рамку, скаченную с этого сайта http://visio.artberg.ru/loading.htm#a003. Когда начал разбираться в ней, что да как, возникло три вопроса. Все они будут касаться второго элемента, а именно штамка.

1. Что за свойства LocPinX, LocPinY ? Чем они отличаются от PinX, PinY ?

2. В этом трафарете все элементы сгруппированны в один, у которого же прописано автопозиционирование. Так вот в строчке:
Width==GUARD(183 mm/ThePage!PageScale*ThePage!DrawingScale)
Что значит ThePage!PageScale*ThePage!DrawingScale вот это выражение ?

3. Если выбрать какой-нибудь дочерний элемент группы и посмотреть его на листе, то увидим, что для длины стоит следующая формула:
Width==Sheet.5!Width*0.3784. Вопрос в том, что фигуры Sheet.5 я не нашел на диаграмме. По логике понятно, что это главный сгруппированный элемент, но найти его на листе я его так и смог. Почему ?

Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !

Edited by - zz 5 on 05/15/2006 14:48:25

zz 5

Russia
54 Posts

Posted - 05/15/2006 :  17:57:22
Худо-бедно вроде бы разобрался. Хотя продвигается, ну очень долго. Все приходится проверять методом проб и ошибок. К сожалению, нормальной документации я так и не смог найти. Появился еще вопросик в догонку. Вот допустим создал я штамп, который автоматически позиционируется на листе. Он состоит из многих элементов, которые сгруппированыы в один. Так вот, по независящим каким-то причином, необходимо добавить в существующюю группу еще один элемент в имеющююся группу. Существует ли способ, при котором не пришлось бы заново прописывать все автопозиционирование для каждого элемента ? И если есть, в чем он заключается ?

Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 05/15/2006 :  18:47:20
Если Вы откроете группу для редактирования Edit / Open Group, то сможете добавить в нее элементы или изменить их. Редактирование никак не повлияет на свойства других элементов группы.
Все связывающие формулы рушатся только в том случае, когда Вы разгруппировываете группу, а потом группируете заново. В этом случае в момент разгруппировывания пропадает шейп-группа, естественно вместе со всеми ссылками на него.
Go to Top of Page

zz 5

Russia
54 Posts

Posted - 05/16/2006 :  09:48:28
Спасибо, то, что нужно. И еще: ThePage!PageScale*ThePage!DrawingScale, чем они принципиально отличаются ? Во всех примерах используется такая конструкция, смысл понимаю, что это идет корректировка в соотвествие с маштабом, но что каждое из них поотдельности обозначает не могу понять

Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !
Go to Top of Page

Julia

Russia
23 Posts

Posted - 05/16/2006 :  10:08:25
есть также хороший сайт со статьями и примерами http://www.prodigitall.narod.ru/articles/article5.html
Go to Top of Page

immortal

Russia
391 Posts

Posted - 05/16/2006 :  13:31:28  Visit immortal's Homepage
quote:
Originally posted by zz 5

Появился еще вопросик в догонку. Вот допустим создал я штамп, который автоматически позиционируется на листе. Он состоит из многих элементов, которые сгруппированыы в один. Так вот, по независящим каким-то причином, необходимо добавить в существующюю группу еще один элемент в имеющююся группу. Существует ли способ, при котором не пришлось бы заново прописывать все автопозиционирование для каждого элемента ? И если есть, в чем он заключается ?


quote:
Если Вы откроете группу для редактирования Edit / Open Group, то сможете добавить в нее элементы или изменить их. Редактирование никак не повлияет на свойства других элементов группы.


есть на мой взгляд более лёгкий способ (я уже о нём тут писал(ударение на букву а)): Выделяем группу, потом удерживая клавишу контрл выделяем шейп или шейпы которые хотите добавит в группу, нажимаем меню Shape - Grouping - Add to group
и наслаждаемся

quote:
Все связывающие формулы рушатся только в том случае, когда Вы разгруппировываете группу, а потом группируете заново. В этом случае в момент разгруппировывания пропадает шейп-группа, естественно вместе со всеми ссылками на него.


уточняю, если вы группируете группу с шейпом то связи конечно не пропадают, но получается следующая иерархия связей:

допустим у нас было 3 шейпа (шейп1, шейп2,шейп3) мы объединили их получили группа 1 (объединив, фактически добавили ещё один шейп)
, далее полученное объединили с шейпом 4 (фактически добавили новый шейп) в итоге иерархия такая:

группа2
-группа1
--шейп1
--шейп2
--шейп3
-шейп4

соответственно шейпы 1-3 имеют связку с группа1, а группа1 и шейп4 связи с группа 2

причём в данном случае у нас шесть шейпов (группа это тоже шейп), это можно сократить (а я именно так и рекомендую всегда делать) их до 4, чтобы было не 6 а 4, вот так:
шейп1
-шейп2
-шейп3
-шейп4

берём выделяем шейп1, нажимаем меню Shape - Grouping - Convert to group

а остальные шейпы присоединяем ранее описанным мною методом, а именно: Выделяем группу(шейп1), потом удерживая клавишу контрл выделяем шейпы2,3 и 4 которые надо добавить в группу, нажимаем меню Shape - Grouping - Add to group
и наслаждаемся


при разгруппировании просто шейп группы удаляется.



визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 05/16/2006 :  23:23:03  Visit Digitall's Homepage
Здраствуйте. Встала острая необходимость создать свой трафарет, своего рода рамку, единую для всех черчежей. За основу взял рамку, скаченную с этого сайта http://visio.artberg.ru/loading.htm#a003. Когда начал разбираться в ней, что да как, возникло три вопроса. Все они будут касаться второго элемента, а именно штамка.
На сколько я смог понять, участь пала на мой штамп.

1. Что за свойства LocPinX, LocPinY ? Чем они отличаются от PinX, PinY ?
PinX и PinY - это координата X и соответственно Y центра фигуры(не края, а именно центра) относительно начала координат листа.

LocPinX и LocPinY - это координаты центра фигуры.


2. В этом трафарете все элементы сгруппированны в один, у которого же прописано автопозиционирование. Так вот в строчке:
Width==GUARD(183 mm/ThePage!PageScale*ThePage!DrawingScale)
Что значит ThePage!PageScale*ThePage!DrawingScale вот это выражение ?
Значение этого выражения - коэффициент масштаба. Вкратце.

3. Если выбрать какой-нибудь дочерний элемент группы и посмотреть его на листе, то увидим, что для длины стоит следующая формула:
Width==Sheet.5!Width*0.3784. Вопрос в том, что фигуры Sheet.5 я не нашел на диаграмме. По логике понятно, что это главный сгруппированный элемент, но найти его на листе я его так и смог. Почему ?
Это сделано намерено, чтобы пользователь не мог изменять структуру штампа.

Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !
No comments
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 05/16/2006 :  23:30:38  Visit Digitall's Homepage
Худо-бедно вроде бы разобрался. Хотя продвигается, ну очень долго. Все приходится проверять методом проб и ошибок. К сожалению, нормальной документации я так и не смог найти. Появился еще вопросик в догонку. Вот допустим создал я штамп, который автоматически позиционируется на листе. Он состоит из многих элементов, которые сгруппированыы в один. Так вот, по независящим каким-то причином, необходимо добавить в существующюю группу еще один элемент в имеющююся группу. Существует ли способ, при котором не пришлось бы заново прописывать все автопозиционирование для каждого элемента ? И если есть, в чем он заключается ?
Вообще, идея и структура данного штампа абсолютно прозрачна. Поясню: Все автопозиционирующиеся элементы - это всего лишь блоки, и автопозиционирование не зависит от "наполнения" этого блока. Я сам уже несколько лет использую это идеологию и на основе этого штампа сделал, нет, с легкостью отредактировал, уже с десяток всевозможных рамок и штампов.

Все просто, вы открываете "блок", редактируете его, и все работает.


Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !
No comments...
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 05/16/2006 :  23:47:42  Visit Digitall's Homepage
Спасибо, то, что нужно. И еще: ThePage!PageScale*ThePage!DrawingScale, чем они принципиально отличаются ? Во всех примерах используется такая конструкция, смысл понимаю, что это идет корректировка в соотвествие с маштабом, но что каждое из них поотдельности обозначает не могу понять
ThePage!PageScale - это ячейка таблицы ShapeSheet листа, которая показывает единицы измерения листа (физические).
ThePage!DrawingScale - это ячейка таблицы ShapeSheet листа, которая показывает, чему она будет равняться (при масштабе).


Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !
Это походу приписка к постам? Я уж подумал, что это в мой огород
Go to Top of Page

zz 5

Russia
54 Posts

Posted - 05/17/2006 :  10:56:54
Ну, подпись у меня такая .

quote:
PinX и PinY - это координата X и соответственно Y центра фигуры(не края, а именно центра) относительно начала координат листа.
LocPinX и LocPinY - это координаты центра фигуры.
Так чем же они отличаются ? Loc*** это координаты центра фигуры относительно левого нижнего угла фигуры или нет ?


Если автор пишет о том, чего не понимает, его работа будет понята только теми читателями, которые понимают в этом больше, чем он !
Go to Top of Page

brace

Russia
358 Posts

Posted - 05/17/2006 :  11:17:07
поиск рулит... и гугле
см. здесь
http://support.microsoft.com/kb/279278/en-us
Go to Top of Page

immortal

Russia
391 Posts

Posted - 05/17/2006 :  11:19:00  Visit immortal's Homepage
quote:
1. Что за свойства LocPinX, LocPinY ? Чем они отличаются от PinX, PinY ?
PinX и PinY - это координата X и соответственно Y центра фигуры(не края, а именно центра) относительно начала координат листа.

LocPinX и LocPinY - это координаты центра фигуры.
не совсем так,
quote:
Так чем же они отличаются ? Loc*** это координаты центра фигуры относительно левого нижнего угла фигуры или нет ?


практически все координаты в шейпе локальные, т.е. имеют отношение к ячейкам внутри шейпа, координаты ПинХ и ПинУ абсолютные относительно листа, а координаты ЛокПинХ и ЛокПинУ локальные координаты шейпа определяют смещение всех других координат шейпа относительно абсолютных координат, т.е. допустим у нас геометрия имеет две ячейки (Х/У) 0 мм/0мм и 60мм/50 мм, т.е. есть линия, расположение этой линии на листе определяется координатами ПинХ и ПинУ, допустим ПинХ=10мм ПинУ=20мм
соответственно получается начало относительно листа 10/20 конец 70/70мм, но это при условии что локального смещения нет, если есть локальное смещение, то координата линии будет равна

ПоХ = ПинХ-ЛокПинХ

по У соответственно.
обратите внимание на ФлипХ и ФлипУ, тоже определяют положение локальных координат

вот както примерно так

а центр шейпа, потомучто в ямейке написано Видтх/2 и Хейгхт/2

достаточно интересное решение сделано у меня относительно штампов, рекомендую http://www.immortal.vstu.edu.ru/index.php?name=Files&op=view_file&lid=9


quote:
поиск рулит... и гугле
см. здесь


а если я непорусски не знаю? то что рулит (или кто)?


визио 2003 форэвер

...а вобще-то я белый и пушистый.

Edited by - immortal on 05/17/2006 11:22:41
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 05/17/2006 :  18:37:40
Не совсем так :)
У шейпа нет центра (в ShapeSheet).
Но у шейпа есть центр вращения. Вот к этой точке все и привязывается. Остальное сказали верно.
LocPinX, LocPinY определяют координаты центра вращения относительно левого нижнего угла прямоугольника, описывающего шейп.
PinX, PinY определяют координаты центра вращения относительно левого нижнего угла страницы.
Можно, например, вписать в LocPinX, LocPinY нули. Тогда центр вращения будет в уголке. И шейп будет реально вращаться вокруг этого угла. И PinX, PinY покажут расстояние между углом страницы и углом описанного прямоугольника.
Go to Top of Page

immortal

Russia
391 Posts

Posted - 05/18/2006 :  11:34:36  Visit immortal's Homepage
:-)

quote:
LocPinX, LocPinY определяют координаты центра вращения относительно левого нижнего угла прямоугольника, описывающего шейп

не совсем левого угла, FilpX установите в TRUE и будет вращаться относительно правого, FlipY установите в TRUE и будет относительно верха

визио 2003 форэвер

...а вобще-то я белый и пушистый.
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)