Показать сообщение отдельно
Старый 07.03.2024, 16:43   #503
Kraska
Новичок
 
Регистрация: 15.11.2023
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
Kraska пока не определено
По умолчанию вот не работает, пишет ошибку в строке 179

Цитата:
Сообщение от aov27 Посмотреть сообщение
Спасибо, всё сам собрал по урокам из сети. вот пользуйтесь кому надо. Есть не доделки, такие как вырез паза, надо добавить на дно и левую боковину, кромка на фасаде не идёт. Но в любом случае, кому интересно сам добавит.
PHP код:
FileOptions 'Настройки кухонный модуль.xml';
MakeProperties();

Action.Properties.Load(FileOptions);
Action.OnFinish = function(){
    
Action.Properties.Save(FileOptions);
    }

function 
MakeProperties(){      // "Кнопки"
    
Prop Action.Properties;
    
Prop.NewNumber('Ширина'600);
    
Prop.NewNumber('Высота'820);
    
OtstupSzadi Prop.NewNumber('Отступ сзади'20);
    
OtstupSperedi Prop.NewNumber('Отступ спереди'20);
    
HC Prop.NewNumber('Высота цоколя',100);
    
ZS Prop.NewCombo('Задняя стенка','Да\nНет')


    
Materialy Prop.NewGroup('Материалы')
    
KromkaF Materialy.NewButt('Кромка фасад');
    
KromkaV Materialy.NewButt('Кромка внутри');
    
Konfirmat Materialy.NewFurniture('Конфирмат')
    
Matkorp Materialy.NewMaterial('Материал корпуса');
    
FasadGroup Prop.NewGroup('Фасад');
    
TipFasada FasadGroup.NewCombo('Фасад',  'нет\nОбычный\nGola\nФасад TW5');
    
OtstupTop FasadGroup.NewNumber('Отступ фасада сверху',3);
    
OtstupLeft FasadGroup.NewNumber('Отступ фасада слева',1.5);
    
OtstupRight FasadGroup.NewNumber('Отступ фасада справа',1.5);




    
CargaSperedi Prop.NewCombo('Передняя царга',  'Горизонтально\nВертикально\nБез царги')
    
CargaSzadi Prop.NewCombo('Задняя царга',  'Горизонтально\nВертикально\nБез царги')
    
PolkaVnutri Prop.NewCombo('Полка',  'Да\nНет')
    
OkBtn Action.Properties.NewButton('построить');
};

OkBtn.OnClick = function(){
    
Make();
    
Action.Finish();
};

Prop.OnChange = function(){
    
Make();
};

function 
Make(){

    
DeleteNewObjects();
    
Matkorp.SetActive();
    
Thick ActiveMaterial.Thickness;   // "толщина панели"

    
LevBok AddVertPanel (OtstupSzadi.Value,HC.Value+Thick,600-OtstupSperedi.Value,H.Value,0);
    
LevBok.Name "НМ Левая боковина"
    
LevBok.TextureOrientation TextureOrientation.Vertical
    LevBok
.AddButt(KromkaF1)
    
LevBok.AddButt(KromkaV,3)
    
LevBok.AddButt(KromkaV2)

    switch (
TipFasada.ItemIndex){     // вырез под Gola левый бок
        
case 2: {
        
LBC LevBok.Contour;
        
VirezGolaLB NewContour ();
        
VirezGolaLB.AddRoundRect(LevBok.ContourWidth 25.8LevBok.ContourHeight-57LevBok.ContourWidth+5LevBok.ContourHeight+5,5);
        
LBC.Subtraction(VirezGolaLB);
        break;

    }
    }
    
CutLevBok LevBok.AddCut('Паз под ZS (4x6)');
    
CutLevBok.Trajectory.AddLine(10010H.Value Thick);
    
CutLevBok.Contour.AddRectangle(-100, -66)

    
LevBok.Build();

    
PravBok AddVertPanel (OtstupSzadi.Value,HC.Value+Thick,600-OtstupSperedi.Value,H.Value,W.Value-Thick);
    
PravBok.Name "НМ Правая боковина"
    
PravBok.TextureOrientation TextureOrientation.Vertical
    PravBok
.AddButt(KromkaF1)
    
PravBok.AddButt(KromkaV3)
    
PravBok.AddButt(KromkaV2)

    switch (
TipFasada.ItemIndex){   // вырез под Gola правый бок
        
case 2: {
        
PBC PravBok.Contour;
        
VirezGolaPB NewContour ();
        
VirezGolaPB.AddRoundRect(PravBok.ContourWidth 25.8PravBok.ContourHeight-57PravBok.ContourWidth+5PravBok.ContourHeight+5,5);
        
PBC.Subtraction(VirezGolaPB);
        break;

    }
    }
    
PravBok.Build();

    
Dno AddHorizPanel (0,OtstupSzadi.Value,W.Value,600-OtstupSperedi.Value,HC.Value); // "Дно"
    
Dno.Name "НМ Дно"
    
Dno.TextureOrientation TextureOrientation.Horizontal
    Dno
.AddButt(KromkaV0)
    
Dno.AddButt(KromkaV1)
    
Dno.AddButt(KromkaF2)
    
Dno.AddButt(KromkaV3)
    
Dno.Build();

    switch(
PolkaVnutri.ItemIndex){
        case 
0:{
    
Polka AddHorizPanel (Thick,OtstupSzadi.Value+20,W.Value-Thick,600-OtstupSperedi.Value-10,H.Value/2-Thick+50+Thick/2); // "полка"
    
Polka.Name "НМ Полка";
    
Polka.TextureOrientation TextureOrientation.Horizontal;
    
Polka.AddButt(KromkaF2);
    if(
ZS.ItemsIndex == 1){Polka.AddButt(KromkaV0)}; //тогда кромка добавляется.
    
Polka.Build(); break;
        }

    }

   switch(
CargaSzadi.ItemIndex){
        case 
0:{
    
CargaZad AddHorizPanel (Thick,OtstupSzadi.Value+20,W.Value-Thick,OtstupSzadi.Value+120,H.Value-Thick); // "царга задняя"
    
CargaZad.Name "НМ Царга передняя"
    
CargaZad.TextureOrientation TextureOrientation.Horizontal;
    
CargaZad.AddButt(KromkaV2);
    
CargaZad.AddButt(KromkaV0);
    
CargaZad.Build(); break;
        }
        case 
1:{
    
CargaZad AddFrontPanel (Thick,H.Value,W.Value-Thick,H.Value-100,OtstupSzadi.Value+20); //"царга задняя"
    
CargaZad.Name "НМ Царга передняя"
    
CargaZad.TextureOrientation TextureOrientation.Horizontal;
    
CargaZad.AddButt(KromkaV2);
    
CargaZad.AddButt(KromkaV0);
    
CargaZad.Build(); break;
    }

    }


    
Nogka OpenFurniture('C:\\Users\\admin\\Documents\\Bazis10\\Фурнитура\\Опоры и подпятники\\Сборки\\Ножка кух. 100мм клипса универсальная.fr3d');
    
Nogka.Mount1(Dno51.5HC.ValueOtstupSzadi.Value+65.5, -90)
    
Nogka.Mount1(Dno51.5HC.Value600-OtstupSperedi.Value-83.5, -90)
    
Nogka.Mount1(DnoW.Value-51.5HC.ValueOtstupSzadi.Value+65.590)
    
Nogka.Mount1(DnoW.Value-51.5HC.Value600-OtstupSperedi.Value-83.590)


    switch(
CargaSperedi.ItemIndex){
        case 
0:{


        
// if(условие){код1}esle{код2};
        // условие? код1; код2;
    
TipFasada.ItemIndex == 2?
    
CargaPered AddHorizPanel (Thick,600-OtstupSperedi.Value-127,W.Value-Thick,600-OtstupSperedi.Value-25.8,H.Value-Thick): //"царга передняя отступ зп голу"
    
CargaPered AddHorizPanel (Thick,600-OtstupSperedi.Value-100,W.Value-Thick,600-OtstupSperedi.Value,H.Value-Thick); //"царга передняя горизонтально"
    
CargaPered.Name "НМ Царга задняя"
    
CargaPered.TextureOrientation TextureOrientation.Horizontal
    CargaPered
.AddButt(KromkaF2)
    
CargaPered.AddButt(KromkaV0)
    
CargaPered.Build(); break;
        }
        case 
1:{
    
CargaPered AddFrontPanel (Thick,H.Value,W.Value-Thick,H.Value-100,600-OtstupSperedi.Value-Thick); //"царга фронтально"
    
CargaPered.Name "НМ Царга задняя"
    
CargaPered.TextureOrientation TextureOrientation.Horizontal
    CargaPered
.AddButt(KromkaF2)
    
CargaPered.AddButt(KromkaV0)
    
CargaPered.Build(); break;
    }

    }


     switch(
CargaSperedi.ItemIndex){
        case 
0:{

        if(
TipFasada.ItemIndex == 2){
        
Konfirmat.Value.Mount(CargaPered,LevBok,0,H.Value-Thick/2,600-OtstupSperedi.Value-76.4);
        
Konfirmat.Value.Mount(CargaPered,PravBok,600,H.Value-Thick/2,600-OtstupSperedi.Value-76.4);
        }else{
        
Konfirmat.Value.Mount(CargaPered,LpevBok,0,H.Value-Thick/2,600-OtstupSperedi.Value-50);
        
Konfirmat.Value.Mount(CargaPered,PravBok,600,H.Value-Thick/2,600-OtstupSperedi.Value-50);
        }

        break;
        }
    case 
1:{
        
Konfirmat.Value.Mount(CargaPered,LevBok,0,H.Value-50,600-OtstupSperedi.Value-50);
        
Konfirmat.Value.Mount(CargaPered,PravBok,600,H.Value-50,600-OtstupSperedi.Value-50);
         break;
    }

    }


      switch(
CargaSzadi.ItemIndex){
        case 
0:{
        
Konfirmat.Value.Mount(CargaZad,LevBok,0,H.Value-50,OtstupSzadi.Value+70);
        
Konfirmat.Value.Mount(CargaZad,PravBok,W.Value-Thick,H.Value-Thick/2,OtstupSzadi.Value+70);
        break;
        }
    case 
1:{
        
Konfirmat.Value.Mount(CargaZad,LevBok,0,H.Value-50,OtstupSzadi.Value+70);
        
Konfirmat.Value.Mount(CargaZad,PravBok,W.Value-Thick,H.Value-50,OtstupSzadi.Value+70);
        break;
    }

    }


    switch(
PolkaVnutri.ItemIndex){
        case 
0:{
    
Konfirmat.Value.Mount(Polka,LevBok,0,452,OtstupSzadi.Value+70);
    
Konfirmat.Value.Mount(Polka,LevBok,0,452,600-OtstupSperedi.Value-50);
    
Konfirmat.Value.Mount(Polka,PravBok,600,452,600-OtstupSperedi.Value-50);
    
Konfirmat.Value.Mount(Polka,PravBok,600,452,OtstupSzadi.Value+70); break;
        }
        case 
1:{
        }
         }

    switch(
TipFasada.ItemIndex) {
    case 
1:{
    
Fasad AddFrontPanel(OtstupLeft.Value,HC.Value,W.Value-OtstupRight.Value,H.Value OtstupTop.Value,600-OtstupSperedi.Value);
    
Fasad.Name 'Фасад';
    
// не работает     Fasad.AddButt(Kromka2mm, 0);
    // не работает     Fasad.AddButt(Kromka2mm, 1);
    // не работает     Fasad.AddButt(Kromka2mm, 2);
    // не работает     Fasad.AddButt(Kromka2mm, 3);
    
Fasad.TextureOrientation TextureOrientation.Vertical;
    
Fasad.Build(); break;
    }

    case 
2:{

    
Fasad AddFrontPanel(OtstupLeft.Value,HC.Value,W.Value-OtstupRight.Value,H.Value OtstupTop.Value-36,600-OtstupSperedi.Value);
    
Fasad.Name 'Фасад';
    
// не работает     Fasad.AddButt(Kromka2mm, 0);
    // не работает     Fasad.AddButt(Kromka2mm, 1);
    // не работает     Fasad.AddButt(Kromka2mm, 2);
    // не работает     Fasad.AddButt(Kromka2mm, 3);
    
Fasad.TextureOrientation TextureOrientation.Vertical;
    
Fasad.Build();

    
ActiveMaterial.Make('Профиль L-образный, горизонтальный KB92 A00-Серебро,100');
    
GolaL AddExtrusion();
    
GolaL.Contour.Load('C:\\Users\\admin\\Documents\\Bazis10\\Контуры\\Gola L KB 92.frw');
    
GolaL.RotateY(90);   //TW5.Thickness = 1000
    
GolaL.PositionX OtstupLeft.Value;
    
GolaL.PositionY H.Value OtstupTop.Value 54;
    
GolaL.PositionZ 608 OtstupSperedi.Value 8;
    
GolaL.Thickness =  W.Value OtstupRight.ValueOtstupLeft.Value;
    
GolaL.Build();break;





    }

    case 
3:{
    
Fasad AddFrontPanel(OtstupLeft.Value,HC.Value,W.Value-OtstupRight.Value,H.Value OtstupTop.Value 31,600-OtstupSperedi.Value);
    
Fasad.Name 'Фасад';
    
// не работает     Fasad.AddButt(Kromka2mm, 0);
    // не работает     Fasad.AddButt(Kromka2mm, 1);
    // не работает     Fasad.AddButt(Kromka2mm, 2);
    // не работает     Fasad.AddButt(Kromka2mm, 3);
    
Fasad.TextureOrientation TextureOrientation.Vertical;
    
Fasad.Build();

    }
    
CutFasad Fasad.AddCut('Паз под TW5 (3x14)');
    
CutFasad.Trajectory.AddLine(0Fasad.ContourHeightFasad.ContourWidthFasad.ContourHeight);
    
CutFasad.Contour.AddRectangle(010.5, -147.5)

    
Fasad.Build();

    
ActiveMaterial.Make('Профиль-ручка TW5 A00 - Серебро'1);
    
TW5 AddExtrusion();
    
TW5.Contour.Load('C:\\Users\\admin\\Documents\\Bazis10\\Контуры\\TW5.frw');
    
TW5.RotateY(90);   //TW5.Thickness = 1000

    
TW5.PositionX OtstupLeft.Value;
    
TW5.PositionY H.Value OtstupTop.Value 31;
    
TW5.PositionZ 608 OtstupSperedi.Value;
    
TW5.Thickness =  W.Value OtstupRight.ValueOtstupLeft.Value;
    
TW5.Build(); break;

  }


    if(
ZS.ItemIndex == 0){                                                              // Установка задней стенки
     
ActiveMaterial.Make('ХДФ лакированная Белая (2800*2070*3мм) Kronospan'3)
     
Zadst AddFrontPanel (10HC.Value+10W.Value-10,H.Value,OtstupSzadi.Value+17);
     
Zadst.Name 'Задняя стенка';
     
Zadst.TextureOrientation TextureOrientation.Vertical;
     };

    
Konfirmat.Value.Mount(LevBok,Dno,0,HC.Value,OtstupSzadi.Value+70);
    
Konfirmat.Value.Mount(LevBok,Dno,0,HC.Value,600-OtstupSperedi.Value-50);
    
Konfirmat.Value.Mount(PravBok,Dno,W.Value-Thick/2,HC.Value,600-OtstupSperedi.Value-50);
    
Konfirmat.Value.Mount(PravBok,Dno,W.Value-Thick/2,HC.Value,OtstupSzadi.Value+70);





};
Make();
Action.Continue(); 
Никогда не плачу за то, что могу взять бесплатно.
Kraska вне форума   Ответить с цитированием Вверх