Форум профессиональных мебельщиков PROMEBELclub
 
PROMEBELclub - Форум для мебельщиков: конструкторов, дизайнеров, мастеров, технологов и всех, кто имеет отношение к производству и изготовлению мебели. Программы для конструирования и дизайна мебели. Мебельная литература и обучающие пособия.
 
 

Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты

Меню

Маркет


беспроводные выключатели для мебели
Ответ
 
Опции темы Опции просмотра
Старый 06.06.2017, 08:56  
БАЗИС 10 - Скрипты
systland
VIP
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 565

Сказал(а) спасибо: 303
Поблагодарили 451 раз(а) в 189 сообщениях
Версия для печати Отправить по электронной почте
systland systland вне форума 06.06.2017, 08:56
Рейтинг: ()

Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 10 в этой теме.
__________________


Последний раз редактировалось systland; 26.12.2017 в 11:52..
Просмотров: 425256
Ответить с цитированием Вверх
Старый 06.09.2018, 06:49   #261
v22884
Местный
 
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 241
Поблагодарили 1,094 раз(а) в 210 сообщениях
Вес репутации: 386
v22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от v22884 Посмотреть сообщение
Action.DS.AngleX=15
Action.DS.AngleY=30
f = Action.ModelFilename+'ф.jpg'
Action.Control.SavePicture(f)

// ЧТО СЮДА ВСТАВИТЬ ЧТОБ СОХРАНИЛИСЬ РАЗНЫЕ КАРТИНКИ??? У МЕНЯ СОХРАНЯЮТСЯ ОДИНАКОВЫЕ.

Action.DS.AngleX=15
Action.DS.AngleY=30-50
f = Action.ModelFilename+'фф.jpg'
Action.Control.SavePicture(f)
Так вроде работает:

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


SetCamera(p3dLeft);
Action.DS.AngleX=15
Action.DS.AngleY=30

f = Action.ModelFilename+'ф.jpg'
Action.Control.SavePicture(f)

// ЧТО СЮДА ВСТАВИТЬ ЧТОБ СОХРАНИЛИСЬ РАЗНЫЕ КАРТИНКИ??? У МЕНЯ СОХРАНЯЮТСЯ ОДИНАКОВЫЕ.


SetCamera(p3dLeft);
Action.DS.AngleX=15
Action.DS.AngleY=30-50

f = Action.ModelFilename+'фф.jpg'
Action.Control.SavePicture(f)
[свернуть]


Есть более правильный вариант?

Добавлено через 14 минут
Фото - v Базис10.
(сохраняет 3 фото: слева, справа, справа с открытыми дверьми и ящиками)

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


Lights = Model.DS.LightList;
Min = Model.GMin;
Max = Model.GMax;
Pos = Model.GCenter;
Rad = Model.SphereRad;


$$FileName = Action.ModelFilename

function ActiveFilePath()
{
return $$FileName.substring(0, $$FileName.lastIndexOf("\\") + 1);
}

function ActiveFileNameS_RasshireniyemTolko()
{
return $$FileName.substring($$FileName.lastIndexOf("\\") + 1, $$FileName.length);
}

if(ActiveFilePath().indexOf("!!!!!!!!!!!!!!Серийные")>-1)
{seriynoye=true} else {seriynoye=false}

//скрыть 2д объекты
UnSelectAll();


Action.Control.Owner.Owner.FindComponent('a3Select2DElems').Execute();
Action.Control.Owner.Owner.FindComponent('a3SelectAuxLines').Execute();
//Action.Control.Owner.Owner.FindComponent('a1HideSelection').Execute();
//Model.Selections.
for(i=0;i< Model.SelectionCount;i++ )
{
o = Model.Selections[i]
o.Visible=false
}

/*
Action.Control.Owner.Select2DObjects()
Action.Control.Owner.SelectAuxObjects()
Action.Control.Owner.HideSelection()
Action.Control.Owner.LimitsVisible=false
*/

//
zakryt_()
Model.DS.DrawMode=4

Action.Control.FSAALevel=4

Model.DS.LineSmooth=true

//Model.DS.ActiveViewport.ViewOffset.TopLeft.X=-1000


if(seriynoye){
DelLights()
UnSelectAll();
MakeLights()
} else
{

}

SetCamera(p3dLeft);
Camera1()



//f="\\\\192.168.137.5\\!заказы\\фонУЮТ - копия.jpg"
//Action.Control.Owner.Control3D.Background.Image = f

GladkostDugMax()
//system.sleep(1000)
OtrisovkaSohraneniye("ф")

//alert("1")

//GladkostDugMin()
//DelLights()

SetCamera(p3dLeft);
Camera2()
// alert("1")
//Model.UpdateScene()
OtrisovkaSohraneniye("фф")

SetCamera(p3dLeft);
Camera2()

yestAnim = false
/*
Model.forEach(function(obj) {
if ((obj.AnimType >0))
{yestAnim = true}
});
*/



/////

yestAnim = false

Recurse2(Model);

function Recurse2(List) {
for (var i = 0; i < List.Count; i++) {
Obj = List[i];
if (Obj.List){
otkrytyLiDveriYashiki(Obj);
Recurse2(Obj);
}
else {
otkrytyLiDveriYashiki(Obj);
}
}
}

function otkrytyLiDveriYashiki(obj)
{
if ((obj.AnimType >0))
{

yestAnim = true

}
}


//alert(yestAnim)



//////////////////////////////////////////////////////////////////////
if (yestAnim)
{
//system.include("\\\\192.168.137.5\\!заказы\\__________ПО\\Bazis8\\Scripts\\ОткрытьДвериЯщики.js")
//alert('Двери ящики открылись?' )
otkryt_()

ViewAll();
if(seriynoye){
DelLights()
MakeLights()
}
OtrisovkaSohraneniye("ффф")
}

GladkostDugMin()
if(seriynoye){
DelLights()
}


Action.Control.FSAALevel=0
Model.DS.LineSmooth=false
Action.DS.Perspective = false



Model.SetVisibleAllObjects()
//system.include("\\\\192.168.137.5\\!заказы\\__________ПО\\Bazis8\\Scripts\\ОткрытьДвериЯщики.js")
zakryt_()
/////////////////////////

function OtrisovkaSohraneniye(fileName){
if(seriynoye){
//Action.Control.Owner.Render()

QualityRendering()
//alert('Дождись отрисовки, потом жми ОК, чтобы сохранить '+fileName+'.jpg.' )
result = confirm('Дождись отрисовки, потом жми ОК, чтобы сохранить '+fileName+'.jpg.\n\nЕсли не начало отрисовываться жми "Отмена".' )
if(!result){
//OtrisovkaSohraneniye(fileName)
QualityRendering()
alert('Дождись отрисовки, потом жми ОК, чтобы сохранить '+fileName+'.jpg.' )
}
}
//+Action.Control.Owner.Control3D.Rendering
//while ()

// QualityRendering()

f = ActiveFilePath()+'\\'+fileName+'.jpg'
Action.Control.SavePicture(f)




}

function MakeLights() {



koef_Udaleniya = Model.GMax.y/1000
if(Model.GMax.y<1000){koef_Udaleniya = 1}
//alert(koef_Udaleniya)
nl = NewVector(Model.GMin.x-300,Model.GMin.y-100,Model.GMax.z+200*koef_Udaleniya)
np = NewVector(Model.GMax.x+300,Model.GMin.y-100,Model.GMax.z+200*koef_Udaleniya)

vp = NewVector(Model.GMax.x+300,Model.GMax.y+300,Model.GMax.z+400*koef_Udaleniya)
vl = NewVector(Model.GMin.x-300,Model.GMax.y+300,Model.GMax.z+400*koef_Udaleniya)





Asm = AddAssembly("НизЛево");
Asm.Load('ЛампаНиз.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = nl;

lamp.Name = "НизЛево" ;


Asm = AddAssembly("НизПраво");
Asm.Load('ЛампаНиз.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = np;

lamp.Name = "НизПраво" ;

Asm = AddAssembly("ВерхЛево");
Asm.Load('ЛампаВерх.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = vl;

lamp.Name = "ВерхЛево" ;

Asm = AddAssembly("ВерхПраво");
Asm.Load('ЛампаВерхМягкая.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = vp;
//lamp.Softness = 0.5
lamp.Name = "ВерхПраво" ;




}

function Camera1()
{
Action.DS.AngleX=15
Action.DS.AngleY=30
if(seriynoye){
Action.DS.Perspective = true
}else{Action.DS.Perspective = false}
Action.Control.ViewAll();
}

function Camera2()
{
Action.DS.AngleX=15
Action.DS.AngleY=30-50
if(seriynoye){
Action.DS.Perspective = true
}else{Action.DS.Perspective = false}
Action.Control.ViewAll();
}


function GladkostDugMax()
{
Action.Control.Background.Mode=2
Action.Control.DS.ModelAccuracy=0
Model.DS.ModelAccuracy=0
}

function GladkostDugMin()
{
Action.Control.Background.Mode=0
Action.Control.DS.ModelAccuracy=1
Model.DS.ModelAccuracy=0
}


function DelLights()
{
Lights = Model.DS.LightList;
while (Lights.Count > 0)
DeleteObject(Lights.Light[0]);

}


function otkryt_(){
Recurse(Model,"zakryt_obj");
}

/*
function zakryt_(){
Model.forEach(function(obj) {
if ((obj.AnimType >0))
{

obj.Animation.AnimPos=0

}
});
}
*/

function zakryt_(){
Recurse(Model,"otktyti_obj");
}
//Recurse(Model);

function Recurse(List,komanda,res) {
for (var i = 0; i < List.Count; i++) {
Obj = List[i];
if (Obj.List){
eval(komanda+"(Obj)")
// otkrytDveriYashiki(Obj);
Recurse(Obj,komanda,res);
}
else {
eval(komanda+"(Obj)")
//otkrytDveriYashiki(Obj);
}
}
}

function zakryt_obj(obj)
{
if ((obj.AnimType >0))
{

// obj.ToggleAnimatePos()
obj.Animation.AnimPos=1
}
}

function otktyti_obj(obj)
{
if ((obj.AnimType >0))
{

// obj.ToggleAnimatePos()
obj.Animation.AnimPos=0
}
}

/*QualityRendering()


*/
function QualityRendering() {
system.secureExec("" +
"AQAA/wF4nGNigAA2IA7OLy1KTv0PBIwgIUaYlCaQ" +
"cGRIZihhyGTIZ8hj0GNwBtMlDEVAOgfID2JIZKgE" +
"iiYyFANFNcAypQypDDoMCljZmgzWDAAvIhVd" +
"");
}


[свернуть]


Добавлено через 14 минут
Фото одной картинки с выбранного ракурса.

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


Lights = Model.DS.LightList;
Min = Model.GMin;
Max = Model.GMax;
Pos = Model.GCenter;
Rad = Model.SphereRad;


$$FileName = Action.ModelFilename

function ActiveFilePath()
{
return $$FileName.substring(0, $$FileName.lastIndexOf("\\") + 1);
}

function ActiveFileNameS_RasshireniyemTolko()
{
return $$FileName.substring($$FileName.lastIndexOf("\\") + 1, $$FileName.length);
}

if(ActiveFilePath().indexOf("!!!!!!!!!!!!!!Серийные")>-1)
{seriynoye=true} else {seriynoye=false}

//скрыть 2д объекты
UnSelectAll();
/*
Action.Control.Owner.Select2DObjects()
Action.Control.Owner.SelectAuxObjects()
Action.Control.Owner.HideSelection()
Action.Control.Owner.LimitsVisible=false
*/

Action.Control.Owner.Owner.FindComponent('a3Select2DElems').Execute();
Action.Control.Owner.Owner.FindComponent('a3SelectAuxLines').Execute();
//Action.Control.Owner.Owner.FindComponent('a1HideSelection').Execute();
//Model.Selections.
for(i=0;i< Model.SelectionCount;i++ )
{
o = Model.Selections[i]
o.Visible=false
}
Model.DS.DrawLimits=false
//
//zakryt_()
Model.DS.DrawMode=4

Action.Control.FSAALevel=4

Model.DS.LineSmooth=true

Model.DS.ActiveViewport.ViewOffset.TopLeft.X=-1000


if(seriynoye){
DelLights()
UnSelectAll();
MakeLights()
} else
{

}

Camera0()



//f="\\\\192.168.137.5\\!заказы\\фонУЮТ - копия.jpg"
//Action.Control.Owner.Control3D.Background.Image = f

GladkostDugMax()

OtrisovkaSohraneniye1()



//GladkostDugMin()
//DelLights()

/*
Camera2()
OtrisovkaSohraneniye("фф")



yestAnim = false
Model.forEach(function(obj) {
if ((obj.AnimType >0))
{yestAnim = true}
});

if (yestAnim)
{
//system.include("\\\\192.168.137.5\\!заказы\\__________ПО\\Bazis8\\Scripts\\ОткрытьДвериЯщики.js")
//alert('Двери ящики открылись?' )
otkryt_()

ViewAll();
if(seriynoye){
DelLights()
MakeLights()
}
OtrisovkaSohraneniye("ффф")
}
*/
GladkostDugMin()

DelLights()
/*if(seriynoye){
DelLights()
}
*/

Action.Control.FSAALevel=0
Model.DS.LineSmooth=false
Action.DS.Perspective = false
Model.DS.DrawLimits=true


Model.SetVisibleAllObjects()
//system.include("\\\\192.168.137.5\\!заказы\\__________ПО\\Bazis8\\Scripts\\ОткрытьДвериЯщики.js")
//zakryt_()
/////////////////////////


function OtrisovkaSohraneniye1(){
if(seriynoye){
Action.Control.Owner.Render()
//alert('Дождись отрисовки, потом жми ОК.' )
result = confirm('Дождись отрисовки, потом жми ОК.\n\nЕсли не начало отрисовываться жми "Отмена".' )
if(!result){
//OtrisovkaSohraneniye(fileName)
Action.Control.Owner.Render()
alert('Дождись отрисовки, потом жми ОК.' )
}
}
//+Action.Control.Owner.Control3D.Rendering
//while ()
for(i=4;i<9;i++)
{
f = ActiveFilePath()+'\\ф'+i+'.jpg'
if(!system.fileExists(f))
{break}
}
//fileName = prompt("Введите имя файла","ф4")

Action.Control.SavePicture(f)




}

function OtrisovkaSohraneniye(fileName){
if(seriynoye){
Action.Control.Owner.Render()
alert('Дождись отрисовки, потом жми ОК, чтобы сохранить '+fileName+'.jpg.' )
}
//+Action.Control.Owner.Control3D.Rendering
//while ()


f = ActiveFilePath()+'\\'+fileName+'.jpg'
Action.Control.Owner.SaveToPicture(f)




}

function MakeLights() {



koef_Udaleniya = Model.GMax.y/1000
if(Model.GMax.y<1000){koef_Udaleniya = 1}
//alert(koef_Udaleniya)
nl = NewVector(Model.GMin.x-300,Model.GMin.y-100,Model.GMax.z+200*koef_Udaleniya)
np = NewVector(Model.GMax.x+300,Model.GMin.y-100,Model.GMax.z+200*koef_Udaleniya)

vp = NewVector(Model.GMax.x+300,Model.GMax.y+300,Model.GMax.z+400*koef_Udaleniya)
vl = NewVector(Model.GMin.x-300,Model.GMax.y+300,Model.GMax.z+400*koef_Udaleniya)





Asm = AddAssembly("НизЛево");
Asm.Load('ЛампаНиз.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = nl;

lamp.Name = "НизЛево" ;


Asm = AddAssembly("НизПраво");
Asm.Load('ЛампаНиз.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = np;

lamp.Name = "НизПраво" ;

Asm = AddAssembly("ВерхЛево");
Asm.Load('ЛампаВерх.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = vl;

lamp.Name = "ВерхЛево" ;

Asm = AddAssembly("ВерхПраво");
Asm.Load('ЛампаВерхМягкая.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = vp;
//lamp.Softness = 0.5
lamp.Name = "ВерхПраво" ;




}

function Camera0()
{
/*Action.DS.AngleX=15
Action.DS.AngleY=30
if(seriynoye){
*/
//Action.DS.Perspective = true
/*}else{Action.DS.Perspective = false}
ViewAll();
*/
}

function Camera1()
{
Action.DS.AngleX=15
Action.DS.AngleY=30
if(seriynoye){
Action.DS.Perspective = true
}else{Action.DS.Perspective = false}
ViewAll();
}

function Camera2()
{
Action.DS.AngleX=15
Action.DS.AngleY=30-50
if(seriynoye){
Action.DS.Perspective = true
}else{Action.DS.Perspective = false}
ViewAll();
}


function GladkostDugMax()
{
Action.Control.Background.Mode=2
Action.Control.DS.ModelAccuracy=0
Model.DS.ModelAccuracy=0
}

function GladkostDugMin()
{
Action.Control.Background.Mode=0
Action.Control.DS.ModelAccuracy=1
Model.DS.ModelAccuracy=0
}


function DelLights()
{
Lights = Model.DS.LightList;
while (Lights.Count > 0)
DeleteObject(Lights.Light[0]);

}


function otkryt_(){
Model.forEach(function(obj) {
if ((obj.AnimType >0))
{

obj.Animation.AnimPos=1

}
});
}


function zakryt_(){
Model.forEach(function(obj) {
if ((obj.AnimType >0))
{

obj.Animation.AnimPos=0

}
});
}

/*QualityRendering()



function QualityRendering() {
system.secureExec("" +
"AQAA/wF4nGNigAA2IA7OLy1KTv0PBIwgIUaYlCaQ" +
"cGRIZihhyGTIZ8hj0GNwBtMlDEVAOgfID2JIZKgE" +
"iiYyFANFNcAypQypDDoMCljZmgzWDAAvIhVd" +
"");
}

*/Lights = Model.DS.LightList;
Min = Model.GMin;
Max = Model.GMax;
Pos = Model.GCenter;
Rad = Model.SphereRad;


$$FileName = Action.ModelFilename

function ActiveFilePath()
{
return $$FileName.substring(0, $$FileName.lastIndexOf("\\") + 1);
}

function ActiveFileNameS_RasshireniyemTolko()
{
return $$FileName.substring($$FileName.lastIndexOf("\\") + 1, $$FileName.length);
}

if(ActiveFilePath().indexOf("!!!!!!!!!!!!!!Серийные")>-1)
{seriynoye=true} else {seriynoye=false}

//скрыть 2д объекты
UnSelectAll();
/*
Action.Control.Owner.Select2DObjects()
Action.Control.Owner.SelectAuxObjects()
Action.Control.Owner.HideSelection()
Action.Control.Owner.LimitsVisible=false
*/

Action.Control.Owner.Owner.FindComponent('a3Select2DElems').Execute();
Action.Control.Owner.Owner.FindComponent('a3SelectAuxLines').Execute();
//Action.Control.Owner.Owner.FindComponent('a1HideSelection').Execute();
//Model.Selections.
for(i=0;i< Model.SelectionCount;i++ )
{
o = Model.Selections[i]
o.Visible=false
}
Model.DS.DrawLimits=false
//
//zakryt_()
Model.DS.DrawMode=4

Action.Control.FSAALevel=4

Model.DS.LineSmooth=true

Model.DS.ActiveViewport.ViewOffset.TopLeft.X=-1000


if(seriynoye){
DelLights()
UnSelectAll();
MakeLights()
} else
{

}

Camera0()



//f="\\\\192.168.137.5\\!заказы\\фонУЮТ - копия.jpg"
//Action.Control.Owner.Control3D.Background.Image = f

GladkostDugMax()

OtrisovkaSohraneniye1()



//GladkostDugMin()
//DelLights()

/*
Camera2()
OtrisovkaSohraneniye("фф")



yestAnim = false
Model.forEach(function(obj) {
if ((obj.AnimType >0))
{yestAnim = true}
});

if (yestAnim)
{
//system.include("\\\\192.168.137.5\\!заказы\\__________ПО\\Bazis8\\Scripts\\ОткрытьДвериЯщики.js")
//alert('Двери ящики открылись?' )
otkryt_()

ViewAll();
if(seriynoye){
DelLights()
MakeLights()
}
OtrisovkaSohraneniye("ффф")
}
*/
GladkostDugMin()

DelLights()
/*if(seriynoye){
DelLights()
}
*/

Action.Control.FSAALevel=0
Model.DS.LineSmooth=false
Action.DS.Perspective = false
Model.DS.DrawLimits=true


Model.SetVisibleAllObjects()
//system.include("\\\\192.168.137.5\\!заказы\\__________ПО\\Bazis8\\Scripts\\ОткрытьДвериЯщики.js")
//zakryt_()
/////////////////////////


function OtrisovkaSohraneniye1(){
if(seriynoye){
Action.Control.Owner.Render()
//alert('Дождись отрисовки, потом жми ОК.' )
result = confirm('Дождись отрисовки, потом жми ОК.\n\nЕсли не начало отрисовываться жми "Отмена".' )
if(!result){
//OtrisovkaSohraneniye(fileName)
Action.Control.Owner.Render()
alert('Дождись отрисовки, потом жми ОК.' )
}
}
//+Action.Control.Owner.Control3D.Rendering
//while ()
for(i=4;i<9;i++)
{
f = ActiveFilePath()+'\\ф'+i+'.jpg'
if(!system.fileExists(f))
{break}
}
//fileName = prompt("Введите имя файла","ф4")

Action.Control.SavePicture(f)




}

function OtrisovkaSohraneniye(fileName){
if(seriynoye){
Action.Control.Owner.Render()
alert('Дождись отрисовки, потом жми ОК, чтобы сохранить '+fileName+'.jpg.' )
}
//+Action.Control.Owner.Control3D.Rendering
//while ()


f = ActiveFilePath()+'\\'+fileName+'.jpg'
Action.Control.Owner.SaveToPicture(f)




}

function MakeLights() {



koef_Udaleniya = Model.GMax.y/1000
if(Model.GMax.y<1000){koef_Udaleniya = 1}
//alert(koef_Udaleniya)
nl = NewVector(Model.GMin.x-300,Model.GMin.y-100,Model.GMax.z+200*koef_Udaleniya)
np = NewVector(Model.GMax.x+300,Model.GMin.y-100,Model.GMax.z+200*koef_Udaleniya)

vp = NewVector(Model.GMax.x+300,Model.GMax.y+300,Model.GMax.z+400*koef_Udaleniya)
vl = NewVector(Model.GMin.x-300,Model.GMax.y+300,Model.GMax.z+400*koef_Udaleniya)





Asm = AddAssembly("НизЛево");
Asm.Load('ЛампаНиз.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = nl;

lamp.Name = "НизЛево" ;


Asm = AddAssembly("НизПраво");
Asm.Load('ЛампаНиз.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = np;

lamp.Name = "НизПраво" ;

Asm = AddAssembly("ВерхЛево");
Asm.Load('ЛампаВерх.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = vl;

lamp.Name = "ВерхЛево" ;

Asm = AddAssembly("ВерхПраво");
Asm.Load('ЛампаВерхМягкая.fr3d');
lamp = Asm.Objects[0]
lamp.Owner = Model;
Asm.Free();
lamp.Position = vp;
//lamp.Softness = 0.5
lamp.Name = "ВерхПраво" ;




}

function Camera0()
{
/*Action.DS.AngleX=15
Action.DS.AngleY=30
if(seriynoye){
*/
//Action.DS.Perspective = true
/*}else{Action.DS.Perspective = false}
ViewAll();
*/
}

function Camera1()
{
Action.DS.AngleX=15
Action.DS.AngleY=30
if(seriynoye){
Action.DS.Perspective = true
}else{Action.DS.Perspective = false}
ViewAll();
}

function Camera2()
{
Action.DS.AngleX=15
Action.DS.AngleY=30-50
if(seriynoye){
Action.DS.Perspective = true
}else{Action.DS.Perspective = false}
ViewAll();
}


function GladkostDugMax()
{
Action.Control.Background.Mode=2
Action.Control.DS.ModelAccuracy=0
Model.DS.ModelAccuracy=0
}

function GladkostDugMin()
{
Action.Control.Background.Mode=0
Action.Control.DS.ModelAccuracy=1
Model.DS.ModelAccuracy=0
}


function DelLights()
{
Lights = Model.DS.LightList;
while (Lights.Count > 0)
DeleteObject(Lights.Light[0]);

}


function otkryt_(){
Model.forEach(function(obj) {
if ((obj.AnimType >0))
{

obj.Animation.AnimPos=1

}
});
}


function zakryt_(){
Model.forEach(function(obj) {
if ((obj.AnimType >0))
{

obj.Animation.AnimPos=0

}
});
}

/*QualityRendering()



function QualityRendering() {
system.secureExec("" +
"AQAA/wF4nGNigAA2IA7OLy1KTv0PBIwgIUaYlCaQ" +
"cGRIZihhyGTIZ8hj0GNwBtMlDEVAOgfID2JIZKgE" +
"iiYyFANFNcAypQypDDoMCljZmgzWDAAvIhVd" +
"");
}

*/

[свернуть]
v22884 вне форума   Ответить с цитированием Вверх
6 пользователя(ей) сказали cпасибо:
Старый 06.09.2018, 11:23   #262
sibmebel
Модератор
 
Аватар для sibmebel
 
Регистрация: 14.04.2010
Адрес: Псков
Сообщений: 2,394
Сказал(а) спасибо: 14,271
Поблагодарили 20,679 раз(а) в 2,725 сообщениях
Вес репутации: 4617
sibmebel репутация неоспоримаsibmebel репутация неоспоримаsibmebel репутация неоспоримаsibmebel репутация неоспоримаsibmebel репутация неоспоримаsibmebel репутация неоспоримаsibmebel репутация неоспоримаsibmebel репутация неоспоримаsibmebel репутация неоспоримаsibmebel репутация неоспоримаsibmebel репутация неоспорима
По умолчанию

Цитата:
Сообщение от v22884 Посмотреть сообщение
Фото - v Базис10.
(сохраняет 3 фото: слева, справа, справа с открытыми дверьми и ящиками)
Как работает скрипт? Нужно ли делать предподготовку (прописывание путей и тп..)?
Цитата:
Сообщение от v22884 Посмотреть сообщение
Фото одной картинки с выбранного ракурса.
То же самое... Есть ли варианты работы скрипта с Перспективой, а не только с Аксонометрией?
__________________
Старайся делать хорошо! Плохо само получится...
sibmebel вне форума   Ответить с цитированием Вверх
Старый 11.09.2018, 01:37   #263
v22884
Местный
 
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 241
Поблагодарили 1,094 раз(а) в 210 сообщениях
Вес репутации: 386
v22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от sibmebel Посмотреть сообщение
Как работает скрипт? Нужно ли делать предподготовку (прописывание путей и тп..)?
1) Нужно сохранить файл с моделью.
2) Запустить сприпт.
3) скрипт сохраняет вышеупомянутых 3 файла в папку сохранённой модели.
4) серийные мы пытаемся делать фотки фотореалистичными, заказные - максимум деталей для клиента. Поэтому
- для серийных по признаку нахождения в специальной папке называемой "Серийные" (посмотрите в коде) : прячутся все 2д элементы, перспектива, свет с тенями, рендеринг, сохраняется фото.
- если не серийное, то заказное: прячутся 2д элементы, аксонометрия, вид текстура с линиями(чтоб клиенту была видна каждая деталь), без рендеринга сохранение фот.

Добавлено через 6 минут
Цитата:
Сообщение от sibmebel Посмотреть сообщение
Как работает скрипт? Нужно ли делать предподготовку (прописывание путей и тп..)?

То же самое... Есть ли варианты работы скрипта с Перспективой, а не только с Аксонометрией?
поменяйте в коде с аксонометрии на перспективу если надо. или установите свои условия переключения аксонометрии или перспективы.

if(seriynoye){
Action.DS.Perspective = true
}else{Action.DS.Perspective = false}


соответственно всё это одной клавишей, у нас "=".

но в 9ке было быстрей. не переключались виды долго. Как сделать всё таки без переезжания видов? типа функция дождаться сохранения или обновить DS? про обновить всё перепробовал вроде.
v22884 вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
sibmebel (11.09.2018)
Старый 13.09.2018, 17:16   #264
sell-123
Новичок
 
Регистрация: 30.11.2016
Сообщений: 6
Сказал(а) спасибо: 12
Поблагодарили 2 раз(а) в 2 сообщениях
Вес репутации: 0
sell-123 пока не определено
По умолчанию

Добрый день!
Прошу у помочь со скриптом по подсчету суммарной длины всех пазов, которые есть в модели.
Задача состоит в том, что бы суммировалась длина пазов, в том числе которых нет в моей базе, например на присланных моделях.
И второй момент – можно ли данный код скрипта будет применить в «Пользовательских вычисляемых параметрах» базы операций.
Благодарю за желание помочь!
sell-123 вне форума   Ответить с цитированием Вверх
Старый 13.09.2018, 18:01   #265
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от sell-123 Посмотреть сообщение
Добрый день!
Прошу у помочь со скриптом по подсчету суммарной длины всех пазов, которые есть в модели.
Задача состоит в том, что бы суммировалась длина пазов, в том числе которых нет в моей базе, например на присланных моделях.
И второй момент – можно ли данный код скрипта будет применить в «Пользовательских вычисляемых параметрах» базы операций.
Благодарю за желание помочь!
Вот код для Мебельщика (Последнюю строку можно раскомментировать, чтобы алерт вывел результат, но не уверен, что последняя строчка будет нормально работать в Смете):
Код:
function forEachPanel(obj, func){
    if (obj.AsPanel){
        func(obj)
    }
    else if (obj.List){
        var list = obj.AsList();
        for (var i = 0; i < list.Count; i++){
            forEachPanel(list.Objects[i], func);
        }
    }
}

Result = 0;
//для каждой панели
forEachPanel(Model, function (panel){    
    //для каждого паза панели
    for (var i = 0; i < panel.Cuts.Count; i++){
        // добавляем к результату длину траектории паза
        Result += panel.Cuts.Cuts[i].Trajectory.ObjLength();
    }
})
//alert(Result) //Выводит результат
Для Сметы по идее всё готово, проблема может быть только в переменной Model - её (переменной) может и не быть. Тогда надо получить любой 3д объект модели и у него взять свойство Model - это и должна быть исконная модель.
Letos вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
bbb i ko (13.09.2018), Miracle01 (20.03.2019), sell-123 (13.09.2018), volunka (13.09.2018), АлКузнецов (15.03.2019)
Старый 13.09.2018, 18:30   #266
bbb i ko
VIP
 
Регистрация: 04.07.2012
Сообщений: 1,946
Сказал(а) спасибо: 3,974
Поблагодарили 3,530 раз(а) в 1,157 сообщениях
Вес репутации: 1043
bbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспорима
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
Для Сметы по идее всё готово, проблема может быть только в переменной Model - её (переменной) может и не быть. Тогда надо получить любой 3д объект модели и у него взять свойство Model - это и должна быть исконная модель.
в пользовательском параметре есть предопределенной параметр Panel, к нему можно обращаться. Итого должно быть как-то так:

Код:
  Result = 0;
      for (var i = 0; i < panel.Cuts.Count; i++){
          // добавляем к результату длину траектории паза
          Result += panel.Cuts.Cuts[i].Trajectory.ObjLength();
      }
не проверял. Еще отметил такой момент - бывает почему-то итоговое значение больше истинного в N раз. Где N соответствует количеству объектов выборки в панели, т.е. в данном случае в panel.Cuts.Count раз. Поэтому возможно в итоге правильно будет так:
Код:
 Result = 0;
      for (var i = 0; i < panel.Cuts.Count; i++){
          // добавляем к результату длину траектории паза
          Result += panel.Cuts.Cuts[i].Trajectory.ObjLength()/panel.Cuts.Count;
      }
__________________
Автоматизация автоматизаций на АСУ, ТП и тд и тп..
Комплексное решение
bbb i ko вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
Miracle01 (20.03.2019), sell-123 (13.09.2018), volunka (13.09.2018)
Старый 13.09.2018, 22:12   #267
sell-123
Новичок
 
Регистрация: 30.11.2016
Сообщений: 6
Сказал(а) спасибо: 12
Поблагодарили 2 раз(а) в 2 сообщениях
Вес репутации: 0
sell-123 пока не определено
По умолчанию

Letos,
bbb i ko,

Спасибо Вам, буду пробовать!
sell-123 вне форума   Ответить с цитированием Вверх
Старый 14.09.2018, 10:29   #268
sell-123
Новичок
 
Регистрация: 30.11.2016
Сообщений: 6
Сказал(а) спасибо: 12
Поблагодарили 2 раз(а) в 2 сообщениях
Вес репутации: 0
sell-123 пока не определено
По умолчанию

[/CODE][/QUOTE]
Цитата:
Сообщение от Letos Посмотреть сообщение
function forEachPanel(obj, func){
if (obj.AsPanel){
func(obj)
}
else if (obj.List){
var list = obj.AsList();
for (var i = 0; i < list.Count; i++){
forEachPanel(list.Objects[i], func);
}
}
}

Result = 0;
//для каждой панели
forEachPanel(Model, function (panel){
//для каждого паза панели
for (var i = 0; i < panel.Cuts.Count; i++){
// добавляем к результату длину траектории паза
Result += panel.Cuts.Cuts[i].Trajectory.ObjLength();
}
})
//alert(Result) //Выводит результат
Данный скрипт сам по себе работает, считает длину всех пазов в модели, если его запускать из меню скриптов. Единственное хотелось бы получать результат в метрах (сейчас он в миллиметрах).
А вот касаемо "пользовательских вычисляемых параметров" в базе операций, то пока не получается его там запустить , что то не работает. Пробовал все предложенные варианты. Может что то не то делаю? В поле для скрипта в "пользовательских настраиваемых параметрах" я должен скопировать весь код скрипта или только вторую его часть? Вот эту например:
Цитата:
Сообщение от bbb i ko Посмотреть сообщение
Result = 0;
for (var i = 0; i < panel.Cuts.Count; i++){
// добавляем к результату длину траектории паза
Result += panel.Cuts.Cuts[i].Trajectory.ObjLength();
}
P.S. Не особо силен в скриптах, поэтому подробности не помешают.

Спасибо!!!

Последний раз редактировалось sell-123; 14.09.2018 в 10:30. Причина: Некорректная цитата
sell-123 вне форума   Ответить с цитированием Вверх
Старый 14.09.2018, 11:42   #269
bbb i ko
VIP
 
Регистрация: 04.07.2012
Сообщений: 1,946
Сказал(а) спасибо: 3,974
Поблагодарили 3,530 раз(а) в 1,157 сообщениях
Вес репутации: 1043
bbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспоримаbbb i ko репутация неоспорима
По умолчанию

Да, проблемка в том что код чувствителен к регистру. Вот так работает, проверил:
Код:
Result = 0;
for (var i = 0; i < Panel.Cuts.Count; i++){
         // добавляем к результату длину траектории паза
         Result += Panel.Cuts.Cuts[i].Trajectory.ObjLength();
}
Result=Result/1000
последняя строка - переводим в метры.
__________________
Автоматизация автоматизаций на АСУ, ТП и тд и тп..
Комплексное решение
bbb i ko вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
Letos (14.09.2018), sell-123 (14.09.2018)
Старый 14.09.2018, 11:53   #270
sell-123
Новичок
 
Регистрация: 30.11.2016
Сообщений: 6
Сказал(а) спасибо: 12
Поблагодарили 2 раз(а) в 2 сообщениях
Вес репутации: 0
sell-123 пока не определено
По умолчанию

Цитата:
Сообщение от bbb i ko Посмотреть сообщение
Да, проблемка в том что код чувствителен к регистру. Вот так работает, проверил:
Код:
Result = 0;
for (var i = 0; i < Panel.Cuts.Count; i++){
         // добавляем к результату длину траектории паза
         Result += Panel.Cuts.Cuts[i].Trajectory.ObjLength();
}
Result=Result/1000
последняя строка - переводим в метры.
Да, действительно все работает! Спасибо огромное!
sell-123 вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
bbb i ko (14.09.2018)
Ответ

Нижняя навигация
Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис-Мебельщик 10 systland Базис-мебельщик 10 1264 13.03.2024 22:48
БАЗИС-Мебельщик 7.0 Shadow Базис-мебельщик 7 2230 29.11.2019 10:37
Базис-мебельщик JavaScript ran Ищу работу 0 09.05.2014 10:08


Текущее время: 21:08. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 2007-2023 PROMEBEL

џндекс.Њетрика