Пожалуйста, не блокируйте рекламу!

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

*

Оффлайн Александр Ани

  • ****
  • 412
  • Репутация: +78/-0
  • Архитектор

Test

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

так вот, вопрос: возможно ли, чтобы при редактировании одного параметра вплывали еще несколько переменных? например указание площади, как здесь представлено..

я решал этот вопрос через hotspot2. Вторая переменная у меня показывается обманным путем (через редактирование пустышки-параметра). Нужно полное контролирование процесса (2-3 штуки).

файлик перезалил - если вдруг кому понадобится (теперь изменяется размерность площадей, метры, сантиметры, мметры)
ликвидируемая приписка: просьба первый из zip-ов ликвидировать
« Последнее редактирование: Февраля 02, 2010, 22:25:43 от CrazyASD »

*

Оффлайн Александр Ани

  • ****
  • 412
  • Репутация: +78/-0
  • Архитектор
вот картинка. Да :  10-ка ArchiCAD.

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Будут показываться только те параметры, которые изменяются с помощью этой точки редактирования.

П.С. Если не против, могу я указать на ошибки скрипта и показать как сделать его проще?

*

Оффлайн Александр Ани

  • ****
  • 412
  • Репутация: +78/-0
  • Архитектор
Немного не так. Показывется любой желаемый параметр. Но только при изменении какого-нибудь параметра этой точкой.
Этот желаемый прописывается после запятой дополнительно.

а возможно ли изменять больше двух параметров одновременно?
« Последнее редактирование: Мая 14, 2009, 15:24:39 от Александр Ани »

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Цитировать
Показывается любой желаемый параметр. .... Этот желаемый прописывается после запятой дополнительно.

Аа... Ну, это верно. Они как маски одетые на тот параметр, который редактируем. Я об в этой теме говорил - http://cadstudio.ru/forum/index.php/topic,11529.msg14070.html#msg14070
Но если они никак не связаны с этим параметром, то на них можно только смотреть.

Цитировать
возможно ли изменять больше двух параметров одновременно?

Похоже, что нет.


По поводу ошибок. Я принял за ошибку свободное перемещение точки в момент редактирования. Подумал, что это из-за того, что не указана 3 точка вектора. Оказалось, это из-за твоей уловки. А то, что ты не прописал точку вектора и редактирование все равно будет работать, так это для меня вообще стало откровением.  :o
А если делать скрипт проще, то тут конечно потеряется возможность уловки. Так то молчу и не предлагаю. :)


*

Оффлайн Александр Ани

  • ****
  • 412
  • Репутация: +78/-0
  • Архитектор
А то, что ты не прописал точку вектора и редактирование все равно будет работать, так это для меня вообще стало откровением.  :o


точка вектора в руководстве по ГДЛ  указывается обязательной для 3Д редактирования в пространстве, хотя какое 3Д редактирование при hotspot2? видимо упущенице :смайлик

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
точка вектора в руководстве по ГДЛ  указывается обязательной для 3Д редактирования в пространстве

Ничего об этом не нашел. Вот что написано:
"Для редактирования параметра линейного типа следует определить три узловые точки с типами 1, 2 и 3. Положительное направление линии редактирования задается вектором, идущим от ссылочной узловой точки к базисной узловой точки. Перемещаемая узловая точка должна быть размещена вдоль этой линии на расстоянии, определяемым значением сопутствующего параметра, измеряемым от базисной узловой точки."

Цитировать
Цитировать
возможно ли изменять больше двух параметров одновременно?

Похоже, что нет.

Можно в 3D. Т.е., сколько координат, столько и линейных параметров можно редактировать.
Для 2D - 2, для 3D - 3.


*

Оффлайн Александр Ани

  • ****
  • 412
  • Репутация: +78/-0
  • Архитектор
Да. Про необязательную точку написано в угловых хотспотах-тянучках. Это я по памяти перепутал.

ПС: у меня описание ГДЛ на англицком. Где русский лежит?

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Цитировать
Где русский лежит?
В АС12.

Но вышло еще в пору АС11.
http://cadstudio.ru/forum/index.php/topic,4599.0.html
http://cadstudio.ru/news/books/251--gdl-.html

*

Оффлайн Александр Ани

  • ****
  • 412
  • Репутация: +78/-0
  • Архитектор
изменил файл, т.к. оказывается овшники измеряют площадь в сантиметрах, иногда в метрах.
добавил точно все вентканалы по ГОСТУ, включая до 10-ти метров.

Очень забавно : У нас Овшники до сих пор чертят без привязок от руки на глазок. При этом пользуют Архикад. И с ними боремся за то, что это выдают как задание. Потом проставляют размерные цепочки и вписывают туда размеры вручную. Просчитывают на кулькуляторе. Ужас.  И нам доказывают, что горизонтальную линию им провести невозможно.
А все потому, что требуют от них машинной графики.

Вот почему был настоятельно создан этот элемент.

*

Оффлайн crazyASD

  • Самый главный
  • *****
  • 8545
  • Репутация: +518/-25
  • Пол: Мужской
  • iCrazy
Это практически анекдот с первого курса института :)

*

Оффлайн ALAKK

  • *****
  • 625
  • Репутация: +55/-7
  • Пол: Мужской
  • Он спорил с модером...
Выводить доп. значения попробуй конкатенацией через фальшивый параметр. Чтоб сдвинуть значения вниз колонкой используй /n, иначе все будет в строку

И еще: я бы добавил
1. Показать/скрыть рамки штриховок с определением толщин и типов линий
2. Возможность изменить фонт надписи (через запрос)
3. Возможность выноса/сдвига надписи
4. Тиражирование вентканалов в пределах одного набора по вертикали и по горизонтали - надо дописать еще пару хотспотов и ввести параметр числа каналов.


*

SergeyAB

а возможно ли изменять больше двух параметров одновременно?

Если нужно изменять значения параметров,в зависимости от Hotspot2 тогда:
в скрипте параметров пишите так:

If Glob_MODPAR_name="Par1" Then
Parameters Par2=...,Par3=...,Par4=...,Par5=...
endif

в 2D скрипте:

Hotspot2 0,0,.....Par1

Теперь потащив за хотспот вы будете изменять значения параметров Par2...Par5, причем нужным вам образом(после Then может быть довольно замысловатый текст).
Принцип такой: у активного хотспота должен быть только один "ведущий параметр", а всю арифметику связанную с изменением этого параметра организуйте в скрипте параметров, выводите  измененные значения как вы делаете с параметром Ploshad2 в своем объекте.

следует избегать следующего:
если при редактировании Par1 вы измените значение некой совокупности параметров, то нужно следить за тем чтобы ранее в скрипте параметров значение Par1 не определялось в зависимости от тех параметров значение которых вы хотите изменять при изменении Par1, сумбурно объяснил, проще - не "зацикливать" параметр. Симптом зацикливания выглядит просто - интерактивный хотспот перестает двигаться, хотя и остается интерактивным...

По поводу вашего объекта: удобнее сделать один активный хотспот("Диагональный") зависимый от 2-х параметров - ширины и высоты канала, с ним работать будет в 2 раза быстрее, причем поправить нужно только описание Hotspot2, остальное останется. Наверно это и хотел предложить Valery W?

*

Оффлайн Александр Ани

  • ****
  • 412
  • Репутация: +78/-0
  • Архитектор
Согласен, SergeyAB. правда вопрос об изменении некоего количества параметров не стоял. Нужно отображение некоего количества в сплывающем меню.

а по поводу диагонального - попробуй, если время будет, сделай примерчик на этом элементе.
у меня, если честно, как-то не складывается этот вариант. С зависимостью от двух переменных что-то тут не то.




Насчет предложений ALAKK - было бы здорово, да понимая комичность ситуации со смежниками - обойдутся!

*

SergeyAB

             объяви параметры Eb1, Eb2 - типа целое.
!parameters script
VALUES "Eb1" 120,150,200,250, 510
                    -120,-150,-200,-250,-510
VALUES "Eb2" 120,150,200,250, 510
                     -120,-150,-200,-250,-510

!2D script:
             NHS=0
             HOTSPOT2 EB1,      0,    NHS+1,   EB2,    1+128
   HOTSPOT2 EB1,       -1,   NHS+2,    EB2,    3
   HOTSPOT2 EB1,       EB2,    NHS+3,    EB2,    2
   HOTSPOT2 0,       EB2,    NHS+4,    EB1,    1+128
   HOTSPOT2 -1,       EB2,    NHS+5,    EB1,    3
   HOTSPOT2 EB1,       EB2,   NHS+6,    EB1,    2

теперь хотспот будет зависеть от 2-х переменных, с набором значений, а дальше в 2д скрипте пиши что нужно отрисовать.

 

Похожие темы

  Тема / Автор