Спасибо большое за помощь. Попробовал все 3 варианта. Результат одинаков.
1). Выдает ошибку в строке arguments[0].SetActive(); TypeError: Cannot read properti "SetActive" of undefined at HNap at Function Window1.Hprm.OnValuehange 2) Я поменял arguments[0] и arguments[1] на Mater11 и HNap11 и теперь иоя функция выглядит так: function HNap(Mater11,Hnap11){ Window1.Mater11.SetActive(); var thick = ActiveMaterial.Thickness; if(thick == 10){ Window1.Hnap11.Value=Window1.Hprm.Value-99; Window1.Hnap11.Layout.Top=Window1.Hnap11.Layout.To p; } if(thick == 4){ Window1.Hnap11.Value=Window1.Hprm.Value-102; Window1.Hnap11.Layout.Top=Window1.Hnap11.Layout.To p; } } Window1.Hprm.OnValueChange=function(){ Hdvr(); LVProf(); LChleg();LObVProf(); for (var i = 0; i < mater.length; i++) { HNap(Window1[mater + i + '1'], Window1[hnap + i + '1']); } } Но при вызове через for срабатывает только Mater11 и HNap11 все 3 варианта. Наверное что то в функции P.S. Я изначально писал через имена, но что то не получалось, а через arguments получилось запустить хотя бы перечислением. |
Цитата:
Цитата:
Код:
var mater = [Window1.Mater11, Window1.Mater21, Window1.Mater31]; |
Цитата:
Цитата:
function HNap(Mater11,Hnap11){ Mater11.SetActive(); var thick = ActiveMaterial.Thickness; if(thick == 10){ Window1.Hnap11.Value=Window1.Hprm.Value-99; Window1.Hnap11.Layout.Top=Window1.Hnap11.Layout.To p; } if(thick == 4){ Window1.Hnap11.Value=Window1.Hprm.Value-102; Window1.Hnap11.Layout.Top=Window1.Hnap11.Layout.To p; } } ошибка TypeError: Cannot read properti "SetActive" of undefined at HNap at Function Window1.Hprm.OnValuehange Если Window1.Mater11.SetActive(); то Window1.Hprm.OnValueChange=function(){ Hdvr(); LVProf(); LChleg();LObVProf(); for (var i = 0; i < mater.length; i++) { HNap(Window1[mater + i + '1'], Window1[hnap + i + '1']); } } срабатывает только Mater11 и HNap11. Цитата:
Добавлено через 7 минут Цитата:
и при Mater11.SetActive(); и при Window1.Mater11.SetActive(); |
Спасибо большое за помощь и потраченное время. Код заработал, правда после того,
как я вернулся к arguments и учел Ваши поправки в цикле.Если Вам интересно, выглядит он так: function BNap(Mater11,Bnap11){ arguments[0].SetActive(); var thick = ActiveMaterial.Thickness; if(thick == 10){ arguments[1].Value=Window1.LGProf.Value+15; arguments[1].Layout.Top=arguments[1].Layout.Top; } if(thick == 4){ arguments[1].Value=Window1.LGProf.Value+11; arguments[1].Layout.Top=arguments[1].Layout.Top; } } var mater = [Window1.Mater11, Window1.Mater21, Window1.Mater31]; var hnap = [Window1.Hnap11, Window1.Hnap21, Window1.Hnap31]; Window1.Hprm.OnValueChange=function(){ Hdvr(); LVProf(); LChleg();LObVProf(); for (var i = 0; i < mater.length; i++) { HNap(mater[i], hnap[i]); } } По Вашему совету избавился от лишней j. Теперь попробую додуматься, как короче записать var mater = [Window1.Mater11, Window1.Mater12, Window1.Mater13, Window1.Mater21, Window1.Mater22, Window1.Mater23, .................................................. ........................ , Window1.Mater51, Window1.Mater52, Window1.Mater53]; |
Редактировать панель
В справочнике есть пример редактирования панели, но панель ставиться фронтально. Если поставить горизонтальную панель то пример не подходит.
Планирую написание концевого модуля кухни с угловой дверкой 30,45 градусов. Если нужно "срезать" угол нужно строить замкнутый треугольник и вычитать его из панели? Может есть какие то решения. Или направьте на путь. Спасибо |
Цитата:
Код:
var p = AddPanel(); |
Цитата:
Насчет создания треугольника понял, просто у меня задается длина среза т.е гипотенуза треугольника, ну не беда будем вычислять по формуле устанавливать расположение точек линий. Но как редактировать горизонтальную панель? Можно конечно создать фронт панель, отредактировать и потом ее повернуть. И все таки есть ли еще варианты. |
Цитата:
Код:
// фронтальная |
Цитата:
|
Цитата:
Спасибо |
Текущее время: 21:21. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 2007-2023 PROMEBEL