0 Пользователей и 1 Гость просматривают эту тему.

*

melky

Как работает команда MUL2 ?
« : Марта 23, 2007, 15:14:04 »
Объясните, каким образом работает команда MUL2, после того, как я ее ввожу происходит косяк с  HOTSPOT2 они некорректно начинают работать в других масштабах, кроме 1:100
« Последнее редактирование: Марта 26, 2007, 14:29:08 от Valery W »

*

Оффлайн BeArt

  • *****
  • 1012
  • Репутация: +94/-3
  • Пол: Мужской
Как работает команда MUL2 ?
« Ответ #1 : Марта 24, 2007, 03:46:31 »
MUL2 x, y  команда преобразования координат

PEN 5
RECT2  0,0,1,1
MUL2 2,0.5
PEN 20
RECT2  0,0,1,1
DEL 1
MUL2 0.5,0.25
PEN 40
RECT2  0,0,1,1

Цитировать
DEL n [, beg_with] Удаляет п последних помещенных в стек элементов.
Если параметр beg_with не определен, удаляет п предшествующих элементов, помещенных в стек преобразования. Устанавливается та локальная система координат, которая соответствует самому верхнему элементу в стеке. Когда определен параметр beg_with, удаляет n следующих элементов,  начиная с указанного параметром beg_with. Нумерация начинается с 1. Если параметр beg_with определен и его значение отрицательно, удаление элементов производится в обратном направлении. Если число п оказывается больше количества помещенных данным скриптом преобразовании, то удаляются только те из них, которые были им инициированы...

Попробуйте закрыть в комментарий команду DEL
« Последнее редактирование: Марта 28, 2007, 21:34:50 от BeArt »

*

melky

Как работает команда MUL2 ?
« Ответ #2 : Марта 24, 2007, 14:21:22 »
BeArt , я понимаю, что все преобразования  x  и y  преобразуются с учетом MUL, но почему  этого не происходит с hotspot2  тип 1, 2, 3
то есть когда обект строится, то базовые точки и точки редактирования ставятся куда нужно, а когда пытаешься изменить объект при помощи этих точек, то происходят чудеса.... например в масштабе 1:200 по двойному клику на точке редактирования объект увеличивается в два раза, да и любое перемещение точки приводит к тому же...
Это при условии, что есть команда MUL2   0.01*A_,  0.01*A_
Что и как нужно сделать, чтобы базовые точки вели себя корректно ?
« Последнее редактирование: Марта 26, 2007, 14:30:49 от Valery W »

*

Оффлайн BeArt

  • *****
  • 1012
  • Репутация: +94/-3
  • Пол: Мужской
Как работает команда MUL2 ?
« Ответ #3 : Марта 25, 2007, 08:36:26 »
Если Вы хотите получить конкретный ответ, задавайте конкретные вопросы и придерживайтесь правила: Язык инженера - чертёж, программиста ГДЛ – скрипт.
А так только предположения.
Предположение 1
Выведите из связки MUL2 – DEL  установку  HOTSPOT2 – поставьте после.
Скорее всего, дело не в команде MUL2, а в общей масштабируемости объекта.
« Последнее редактирование: Марта 26, 2007, 14:31:37 от Valery W »

*

melky

Re: Как работает команда MUL2 ?
« Ответ #4 : Марта 26, 2007, 16:53:04 »
Необходимо, чтобы при  масштабе 1:50 символ печатался как и в масштабе 1:100 но при этом не страдала его длина, так как она используется для подсчета...
и корректно работали точки привязки и редактирования... а они то как раз и не хотят работать корректно при использовании MUL2,  вне зависимости где будут стоять, внутри MUL2 - Del или снаружи, просто по разному отрабатывают...

*

Оффлайн BeArt

  • *****
  • 1012
  • Репутация: +94/-3
  • Пол: Мужской
Re: Как работает команда MUL2 ?
« Ответ #5 : Марта 26, 2007, 21:30:18 »
Скрипт? :(

*

melky

Re: Как работает команда MUL2 ?
« Ответ #6 : Марта 27, 2007, 09:32:15 »
Есть некоторые условия работы объекта..
1. должна корректно работать  установка объекта в режиме "Диагонально с поворотом"
2. в масштабах 1:50, 1:100, 1:200  единица длины не должна меняться но при этом символьное представление объекта на печати должно быть одинаковым
3. должны корректно работать точки редактирования (hotspot2)
.
Но вот с преобразованием координат что-то да вылетает, то точки редактирования, то перестает работать при установке объекта...
Видимо MUL не для этой ситуации....
единственно, это вариант MUL2 1, d где d=0.01*A_  работает, так как мне  надо ширину объекта делать меньше при печати в масштабе 1:50, но тогда объект сильно растягивается, в том смысле неестественно...

*

Оффлайн BeArt

  • *****
  • 1012
  • Репутация: +94/-3
  • Пол: Мужской
Re: Как работает команда MUL2 ?
« Ответ #7 : Марта 27, 2007, 16:17:47 »
Это все, что Вам нужно:

HOTSPOT2 0,0, 101, A, 1
HOTSPOT2 A,0, 102, A, 2
LINE2 0, 0, A, 0

*

melky

Re: Как работает команда MUL2 ?
« Ответ #8 : Марта 27, 2007, 16:56:07 »
BeArt, увы, но линия как таковая  это только база объекта, на этой линии будут разные символы, которые имеют кроме параметра X еще и параметр Y  и вот эти символы и должны будут при печати быть одинаковыми...
скрипт я набросал просто как пример поведения линии при масштабах 1:50 и 1:200 и использовании команды MUL2. и такое поведение объекта меня как раз и не устраивает...
например символы  должны будут выглядеть так в итоге...
Здесь масштаб 1:50
верхний символ, который будет выглядеть в масштабе 1:100 как нижний
нижний же будет выглядеть одинаково в обоих масштабах, вот этого эффекта я и пытался добиться при помощи MUL2 но увы, поведение объекта при постановке в режиме "Диагонально с поворотом" или при использовании точки  редактирования сводит все на нет...

*

Оффлайн BeArt

  • *****
  • 1012
  • Репутация: +94/-3
  • Пол: Мужской
Re: Как работает команда MUL2 ?
« Ответ #9 : Марта 29, 2007, 16:38:15 »
!Скрипт-шаблон.На примере "Проводка под плинтусом"
!Прописывайте в теле FOR k.....NEXT k свою "закорючку",
!получите новый тип условного графического изображения.
« Последнее редактирование: Марта 31, 2007, 09:49:50 от BeArt »

*

melky

Re: Как работает команда MUL2 ?
« Ответ #10 : Марта 30, 2007, 13:30:02 »
BeArt, необходимо именно  корректная  работа при смене масштаба, все остальное (циклы закорючек и прочее уже мелочи)
нужен вариант показа линий со всеми причиндалами на линии без масштабирования относительно масштабов...
уперся в то, что команда MUL2 не подходит, так что ищу другие пути.

*

Оффлайн ALAKK

  • *****
  • 625
  • Репутация: +55/-7
  • Пол: Мужской
  • Он спорил с модером...
Re: Как работает команда MUL2 ?
« Ответ #11 : Марта 30, 2007, 13:57:15 »
Может подойдет такая идея:
Подготовь в скрипте 2 варианта 2Д отражения. Один для печати со всеми экранными минусами, но который тебе нужен на бумаге, а второй - чисто для работы с компом. Запрограммируй переключатель, типа "Подготовить объекты для печати"/"Вывод на Экран". Это достаточно искусственный прием, но иногда он действует. Принцип "Раздели задачу и решай ее позвенно".

*

Оффлайн BeArt

  • *****
  • 1012
  • Репутация: +94/-3
  • Пол: Мужской
Re: Как работает команда MUL2 ?
« Ответ #12 : Марта 31, 2007, 21:53:22 »
BeArt, необходимо именно  корректная  работа при смене масштаба, все остальное (циклы закорючек и прочее уже мелочи)
нужен вариант показа линий со всеми причиндалами на линии без масштабирования относительно масштабов...
уперся в то, что команда MUL2 не подходит, так что ищу другие пути.
Если для Вас показанный алгоритм мелочи..., для меня мелочь, как раз таки, масштабирование, поверьте, это для меня пройденный этап.
Дерзайте, с Вашей подготовкой Вы наверняка добьетесь чего хотите.
Хотя, не могу понять, зачем Вам объект без масштабирования.
Зная, чем Вы занимаетесь., согласно ГОСТ 21.614-88 Изображения условные графические электрооборудования и проводок на планах.Там всё масштабируется...
И тем не менее остаюсь при своем мнении...

Цитировать
Панель Редактирование выбранного типа (символ)
Для создания нового типа линии в виде специально символа сначала начертите образец этого символа на плане этажа с помощью линий, дуг и узловых точек. Выберите все элементы образца и выполните команду Редактор > Скопировать.
Выполните команду Параметры > Реквизиты элементов > Типы линий.
Нажмите кнопку Новый. В диалоге Добавить новую линию выберите вариант Символ и нажмите кнопку ОК.
В диалоговом окне Типы линий нажмите кнопку Вставка элементов линии. Ранее скопированный образец символа будет вставлен в графическое окно. Размеры символа и пробела могут редактироваться флажками и числовым вводом. Символ изменяется в размере пропорционально как единое целое. Изменения размеров автоматически отражаются в числовых окошках.
Примечания: Образец символа может состоять из линий, дуг и узловых точек


*

Оффлайн BeArt

  • *****
  • 1012
  • Репутация: +94/-3
  • Пол: Мужской
Re: Как работает команда MUL2 ?
« Ответ #13 : Марта 31, 2007, 22:00:04 »
Цитировать
Параметры > Реквизиты элементов>Менеджер реквизитов
Сохраняйте созданные линии и делитесь с друзьями.
Кстати, решение Вашей проблемы масштабирования там, выполняется одним кликом.
Для вычисления длин соответсвующих линий, используйте ArchiTabula.
УДАЧИ!



« Последнее редактирование: Марта 31, 2007, 23:00:20 от BeArt »

*

melky

Re: Как работает команда MUL2 ?
« Ответ #14 : Апреля 01, 2007, 02:12:28 »
Просто нарисовать типы линий не подходит по трем причинам.
1.  известную длину линии нужно переодичски умножать на n, где n  количество проводников. (Возможно Архитабула и умеет это делать, хотя сильно сомневаюсь, так как на чертеже могут разница в разных линиях значения n)
2. к линиям необходимо еще приплюсовывать длину опуска, если он есть + его длина может меняться в зависимости от плана. (на чертеже не отображается) но это собственно так, плюсовочка
3. дополнительный подсчет, количество соединений, будет зависеть от установленного маркера конца линии...
.
собственно поэтому и страдаю :)
а первоначально объект и состоял из кучи разного количества линий, только прописанных в скрипте... только вот неоторые вещи в нем нельзя прописать используя типы линий Архика... например маркеры множества открытых линий, маркер соединения линии на тросе... это все равно сриптом приходится делать...
Да, по ГОСТ там все должно масштабироваться, но есть НО - диаметр или ширина не должна быть меньше 1,5 мм, если масштаб 1:200 или больше.
ну и хочу сделать отключаемое мастштабирование, если будет необходимо в 1:50 делать на плотном чертеже, в 1:200 и так все меньше...
собственно сейчас уже переписываю, раз с Мулом не получилось, приходится через коэффициент делать, примерно так:
d = 0.01*A_
ну а потом везде добавлять d
line2 aa, bb*d, aa+n, bb*d
и так на каждой прорисовке....
.
еще такой вопрос по ходу движения... линии печатаются всегда с закругленными краями ?
возможно ли задать толщину линии жестко, не выбирая из набора перьев ?
а также цвет, опять же не беря из набора перьев ?

 

Похожие темы

  Тема / Автор