Показать сообщение отдельно
Старый 06.02.2019, 09:58   #330
Ozimko
VIP
 
Аватар для Ozimko
 
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 356
Ozimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючекOzimko как роза среди колючек
По умолчанию

Огромное спасибо, все работает. Что бы мы, дилетанты, без вас делали....
А по этому скрипту - нельзя ли сделать точку вставки фрагмента привязанной либо к положению курсора, либо вводом высоты полки в выпадающее окно либо в панели свойств? Добили бы тогда офигенный скрипт.

с вводом высоты справился. А вот с привязкой к курсору мыши не могу....

const filename = 'C:\\Bazis 10\\Фрагменты\\35\\11.fr3d';
pozY = NewNumberInput('высота полки');
pozY.Value = 30;
SetCamera(p3dFront);
var Bok1 = GetPanel("Укажите 1-ую вертикальную панель");
var Bok2 = GetPanel("Укажите 2-ую вертикальную панель");
SetCamera(p3dTop);
var Back = GetEdge('Укажите заднюю границу', AxisX).First.z;
var Front = GetEdge('Укажите переднюю границу', AxisX).First.z;
SetCamera(p3dFront);

var x1 = Bok1.GabMax.x + 0;
var x2 = Bok2.GabMin.x - 0;
// Максимальная координата по высоте из двух минимальных координат панелей
var y1 = Math.max(Bok1.GabMin.y, Bok2.GabMin.y);
// Минимальная координата по высоте из двух максимальных координат панелей
var y2 = Math.min(Bok1.GabMax.y, Bok2.GabMax.y);
var z1 = Back;
var z2 = Front;
var frag = OpenFurniture(filename);
if (frag) {
var obj = frag.Make(0, 0);
if (obj) {
// размер по оси = максимум - минимум
obj.ElasticResize({
x: x2 - x1,
y: y2 - y1,
z: z2 - z1
});
obj.Owner = Model.Temp;
}
// минимальная координата идёт в координату позиции
obj.Position = {
x: x1,
y: y1 + pozY.Value,
z: z1
}
}
Ozimko вне форума   Ответить с цитированием Вверх