Показать сообщение отдельно
Старый 25.03.2019, 21:57   #20
Максим Геннадьевич
Местный
 
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 162
Сказал(а) спасибо: 57
Поблагодарили 242 раз(а) в 45 сообщениях
Вес репутации: 137
Максим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от Tehnik Посмотреть сообщение
Не решен.
Поскольку "спасибок" под постом нет, то мало кому нужно. Если вам сделать легко, то был бы рад такому "конструктору холодильника". Иначе - не утруждайтесь.
Пока не специалист в этом деле, кое что слепил из того, что понимаю. Пробуйте:

Скрытый текст

Код:
var CurPos = NewVector(0, 0, 0);
var icebox ;


FileOptions = 'Холодильник.xml';
MakeProperties();
Action.Properties.Load(FileOptions);
Action.OnFinish = function() {
    Action.Properties.Save(FileOptions);
}

NewBtn = NewButtonInput('Закончить');
NewBtn.OnChange = function() {
    Action.Commit();
    Action.Finish();
}

NewTumba();

Action.Continue();

function MakeProperties() {
	prop = Action.Properties;
	width = prop.NewNumber('Ширина', 540);
    heidht = prop.NewNumber('Высота', 1935);
    depth = prop.NewNumber('Глубина', 550);
	h1 = prop.NewNumber('Высота 1', 34);
    h2 = prop.NewNumber('Высота 2', 75);
    h3 = prop.NewNumber('Высота 3', 57);	
    hd = prop.NewNumber('Высота низа', 550);	
    prop.OnChange = function() {
    Make();
    }
}
function NewTumba() {
    Make();
    Action.ShowPoints = true;
    Action.OnMove = function() {
        CurBlock.Position = Action.Pos3;
        CurPos = Action.Pos3;  };
    Action.OnClick = function() {
        Action.OnMove = undefined;
        Action.ShowPoints = false;
    };
}

function Make(){
	DeleteNewObjects();
	CurBlock = BeginBlock("Холодильник");
	icebox = AddExtrusion(); 
	icebox.MaterialName ='Холодильник';
	cd = icebox.Contour;
    cd.AddRectangle(0,0,depth.Value,heidht.Value);
	cont = NewContour();
	cont.AddRectangle(depth.Value - 30,0,depth.Value,h1.Value);
	cont.AddRectangle(depth.Value - 30,hd.Value,depth.Value,hd.Value + h2.Value);
	cont.AddRectangle(depth.Value - 30,heidht.Value,depth.Value,heidht.Value - h3.Value);
	cd.Subtraction(cont);
	icebox.Rotate(AxisY, -90);
    icebox.Thickness = width.Value;
	icebox.Position = NewVector(width.Value/2,0 ,-depth.Value);
	icebox.Name = 'Холодильник';
	icebox.Build();	
	EndBlock();
	CurBlock.Position = CurPos;
}
[свернуть]
Максим Геннадьевич вне форума   Ответить с цитированием Вверх
14 пользователя(ей) сказали cпасибо: