Показать сообщение отдельно
Старый 12.11.2014, 01:27   #628
v22884
Местный
 
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 242
Поблагодарили 1,094 раз(а) в 210 сообщениях
Вес репутации: 386
v22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордится
По умолчанию

Труба (продолжение)
объеденил вертикальную и горизонтальную в 1 скрипт.


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


FileOptions = 'Труба_Настройки.xml';










MakeProperties();

Action.Properties.Load(FileOptions);



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






Action.Continue();

function MakeProperties() {

Prop = Action.Properties;







Krepej = Prop.NewFurniture('Трубодержатель');
Truba = Prop.NewMaterial('Материал Трубы')
Diametr = Prop.NewNumber('Диаметр трубы', 25)
Shirina = Prop.NewNumber('Ширина трубы', 25)
Vertik = Prop.NewBool('Вертикальная')
Vertik.OnChange = function()
{
Action.Commit()
}
}

if (Vertik.Value)
{
Bok1 = GetPanel("Укажите Нижнюю панель");
Bok2 = GetPanel("Укажите Верхнюю панель");

y1k = Bok1.GabMax.y
y2k = Bok2.GabMin.y


SetCamera(p3dTop )

z1 = Bok1.GabMin.z + 1;
z2 = Bok1.GabMax.z - 20;

}
else
{
Bok1 = GetPanel("Укажите 1-ую панель");
Bok2 = GetPanel("Укажите 2-ую панель");

x1k = Bok1.GabMax.x
x2k = Bok2.GabMin.x

x1 = x1k + 1;
x2 = x2k - 1;

SetCamera(p3dLeft)

z1 = Bok1.GabMin.z + 1;
z2 = Bok1.GabMax.z - 20;


}

//TPro = Bok2.Contour.TProjection;
//alert(Bok1);

//SetCamera(Bok1.PanelSideEnum(true));

//SetCamera(Bok1.PanelSideEnum=true);









function MoveOdj()
{
DeleteNewObjects()
Truba.SetActive()
Ext = AddExtrusion('Труба D25');
Ext.Name = 'Труба'
// выталкиваемый профиль
//truba = 'Труба25.frw'
//Ext.Contour.AddCircle(0, 0, Diametr.Value*0.5)
if (Shirina.Value < Diametr.Value) {
Ext.Contour.AddCircle(0, 0, Diametr.Value * 0.5);
}
else {
d = Shirina.Value - Diametr.Value
p1 = NewPoint(-Diametr.Value * 0.5, 0);
p2 = NewPoint(Diametr.Value * 0.5, 0);
p3 = NewPoint(-Diametr.Value * 0.5, d);
p4 = NewPoint(Diametr.Value * 0.5, d);
centre1 = NewPoint(0, -Diametr.Value * 0.5);
centre2 = NewPoint(0, Diametr.Value * 0.5 + d);
Ext.Contour.AddArc3(p1, centre1, p2);
Ext.Contour.AddArc3(p3, centre2, p4);
Ext.Contour.AddLine(p1.x, p1.y, p3.x, p3.y);
Ext.Contour.AddLine(p2.x, p2.y, p4.x, p4.y);

};

if (Vertik.Value)
{
Ext.Orient(AxisY, AxisZ);
// установим длину профиля
Ext.Thickness =y2k-y1k;
Ext.PositionX = Action.Pos3.x
Ext.PositionY = Action.Pos3.y
Ext.PositionZ = Action.Pos3.z
Ext.Translate(NewVector(0, y1k, 0))

Krepej.Value.Mount1(Bok1, Action.Pos3.x, y1k, Action.Pos3.z, 0)
Krepej.Value.Mount1(Bok2, Action.Pos3.x,y2k, Action.Pos3.z, 0)
}
else
{
// вытянем профиль вдоль оси X
Ext.Orient(AxisX, AxisZ);
Ext.RotateX(90);
// установим длину профиля
Ext.Thickness =x2-x1;
Ext.PositionX = Action.Pos3.x
Ext.PositionY = Action.Pos3.y
Ext.PositionZ = Action.Pos3.z
Ext.Translate(NewVector(x1, 0, 0))

Krepej.Value.Mount1(Bok1, x1k, Action.Pos3.y, Action.Pos3.z, 0)
Krepej.Value.Mount1(Bok2, x2k, Action.Pos3.y, Action.Pos3.z, 0)
}

}

Action.ShowPoints = true;
Action.OnMove = function() {MoveOdj()};
Action.OnClick = function() {Action.Finish()};
Action.Continue();
[свернуть]


как сделать чтоб OnChange скрипт перезапускался, чтоб перезапрашивать панели с новыми значениями параметров?

Последний раз редактировалось v22884; 12.11.2014 в 02:45.
v22884 вне форума   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
DTioutiou (12.11.2014), kostiaarh (01.10.2018), maxgmv (12.11.2014), Ovsyanicov (12.11.2014)