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

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

Меню

Маркет


беспроводные выключатели для мебели
Ответ
 
Опции темы Опции просмотра
Старый 21.12.2017, 12:21  
Заявки на создание скрипта.
systland
VIP
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 565

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

Тема создана для размещения заявок на написание скриптов.

Для того, чтобы заявка была рассмотрена, необходимо составить максимально понятное техзадание :
1. Описать, какую задачу должен выполнять скрипт.
2. Какие данные должны использоваться скриптом.
3. Алгоритм (последовательность действий) работы скрипта.

Заявки типа "Мне нужен скрипт для расстановки полок" или подобные рискуют остаться без внимания.

Любые заявки не обязательны для рассмотрения. Если Вам не ответили, значит по какой-либо причине нет возможности её выполнить.
Альтернативный вариант - обратиться лично к тем, кто может оказать такую услугу

Другие сообщения, не соответствующие назначению темы, будут удалены без предупреждения!

Просьба после того, как заявка будет выполнена и утратившая актуальность по другим причинам, оставлять соответствующее сообщение в этой же теме или обратится к модератору для закрытия заявки.
__________________


Последний раз редактировалось Uncle; 03.02.2020 в 20:07.. Причина: Поправил шапку
Просмотров: 319105
Ответить с цитированием Вверх
Старый 29.06.2019, 04:59   #51
v22884
Местный
 
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 241
Поблагодарили 1,094 раз(а) в 210 сообщениях
Вес репутации: 386
v22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от verlikov Посмотреть сообщение
Доброго времени суток Уважаемые коллеги.Нужен скрипт такого плана.При переноске фасадов в чертеж автоматически задавал каждому проходу фрезы(пазу) слой и переносился без фурнитуры(только фрезы) в виде векторов(центр фрезы).Как должен выглядеть конечный результат приложил в картинке(слои обозначил для понимания,этих обозначений быть не должно). Этот файл нужен для дальнейшего экспорта в ArtCam.
DXF

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












//system.exec('c:/Windows/system32/cmd.exe', '/c md "'+ActiveFilePathNomenklatury()+'ЧПУ"')


$$FileName = Action.ModelFilename
system.log($$FileName)
function ActiveFileName()
{
return $$FileName;
}

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

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


function ActiveFilePathNomenklatury()
{

PathNomenklatury = $$FileName.lastIndexOf("\\Прямые")+ 1
// alert(PathNomenklatury)
if(PathNomenklatury>0)
{
PathNomenklatury = $$FileName.substring(0, PathNomenklatury);
}
else
{
PathNomenklatury = $$FileName.substring(0, $$FileName.lastIndexOf("\\") + 1)
}

return PathNomenklatury;
}


system.exec('c:/Windows/system32/cmd.exe', '/c md "'+ActiveFilePathNomenklatury()+'ЧПУ"')



VydelenniyeV_CNC()


function VydelenniyeV_CNC() {
ar = [] //массив всех выделенных панелей
for (i = 0; i < Model.SelectionCount; i++) {
if (!Model.Selections[i].AsPanel) {
continue
}
if (Model.Selections[i].ArtPos == "") {
alert("Расставь Позиции!");
return
}
p = Model.Selections[i]
tOr = p.TextureOrientation //0-нет, 1-гор, 2 - верт

// alert(p.ArtPos+ ' -- ' +tOr)
//kh = p.ContourHeight
//kw = p.ContourWidth
//alert(kh+ ' -- ' +kw+ ' -- ' +tOr)
ap = [] // массив контуров панелИ
contourData = {}
contourData.Pos = p.ArtPos
c = p.Contour.MakeCopy()
if (tOr ==1)
{
c.Rotate(0, 0, 90);
}
contourData.c = c
sloyKontura = "Контур заготовки"
contourData.sloy= sloyKontura
ap.push(contourData);

for (ic = 0; ic < p.Cuts.Count; ic++) {
//alert( p.Cuts[ic].Name )
contourData = {}
contourData.Pos = p.ArtPos

//? для пазов выборки Тип = 2 ?
if (p.Cuts[ic].CutType===2)
{c = p.Cuts[ic].Contour.MakeCopy()}
else
{
c = p.Cuts[ic].Trajectory.MakeCopy()
}
if (tOr ==1)
{
c.Rotate(0, 0, 90);
}
contourData.c = c
contourData.sloy= p.Cuts[ic].Name
ap.push(contourData);
}
ar.push(ap)
}

for (ia = 0; ia < ar.length; ia++) {
DXF(ar[ia])

}

}







function DXF(data) {

t1 = "0\nVISION3D DXF\n0\nSECTION\n2\nHEADER\n9\n$ACADVER\n 1\nAC1015\n 9\n$ACADMAINTVER\n 70\n6\n 9\n$DWGCODEPAGE\n 3\nANSI_1251\n 9\n$INSBASE\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 9\n$EXTMIN\n10\n0.0\n20\n0.0\n9\n$EXTMAX\n10\n1000.0\n20\n1000.0\n9\n$LINMIN\n10\n0.0\n20\n0.0\n9\n$LINMAX\n10\n1000.0\n20\n1000.0\n0\nENDSEC\n0\nSECTION\n2\nTABLES\n0\nTABLE\n2\nLTYPE\n70\n1\n0\nLTYPE\n2\nCONTINUOUS\n70\n64\n3\nSolid line\n72\n65\n73\n0\n40\n0.000000\n0\nENDTAB\n0\nTABLE\n2\n"
//alert(t1)
t2_doSloya = "LAYER\n70\n6\n0\nLAYER\n 5\n110D0\n330\n2\n100\nAcDbSymbolTableRecord\n100\nAcDbLayerTableRecord\n 2\n"
//alert(t2_doSloya)
t3_PosleSloya = "70\n64\n 62\n7\n 6\nCONTINUOUS\n0\n"
//alert(t3_PosleSloya)
t4_DoObjektov = "ENDTAB\n0\nTABLE\n2\nSTYLE\n70\n0\n0\nENDTAB\n0\nENDSEC\n0\nSECTION\n2\nBLOCKS\n0\nENDSEC\n0\nSECTION\n2\nENTITIES\n"
//alert(t4_DoObjektov)
l1_sloy = "0\nLINE\n 5\n110D1\n330\n1F\n100\nAcDbEntity\n 8\n"
//alert(l1_sloy)
l2_x1 = "6\nCONTINUOUS\n 62\n7\n370\n60\n100\nAcDbLine\n 10\n"
//alert(l2_x1)
l3_y1 = " 20\n"
l4_x2 = " 11\n"
l5_y2 = " 21\n"

a1_sloy = " 0\nARC\n 5\n110D2\n330\n1F\n100\nAcDbEntity\n 8\n"

a2_cX = " 6\nCONTINUOUS\n 62\n7\n370\n60\n100\nAcDbCircle\n 10\n"
//alert(a2_cX)

a3_cY = " 20\n"
a4_R = " 40\n"
a5_p1A = "100\nAcDbArc\n 50\n"
a6_p2A = " 51\n"


c1_sloy = "0\nCIRCLE\n 5\n110D3\n330\n1F\n100\nAcDbEntity\n 8\n"
c2_cX = "6\nCONTINUOUS\n 62\n7\n370\n60\n100\nAcDbCircle\n 10\n"
c3_cY = " 20\n"
c4_R = " 40\n"
kanec = "0\nENDSEC\n0\nEOF"


sloi = []
for(i=0;i< data.length;i++)
{
//alert('!!!'+data[i].sloy)
if(sloi.indexOf(data[i].sloy)== -1)
{
sloi.push(data[i].sloy)
}

}

tdxf = t1

for(i=0;i< sloi.length;i++)
{
tdxf = tdxf + t2_doSloya + sloi[i] + "\n" + t3_PosleSloya
}


tdxf = tdxf + t4_DoObjektov

for(ic=0;ic< data.length;ic++)
{
c = data[ic].c
sloy = data[ic].sloy
for (i = 0; i < c.Count; i++) {
if (c[i].ElType == 1) {
tdxf = tdxf + l1_sloy + sloy + "\n" + l2_x1 + c[i].Pos1.x + "\n" + l3_y1 + c[i].Pos1.y + "\n" + l4_x2 + c[i].Pos2.x + "\n" + l5_y2 + c[i].Pos2.y + "\n"
} else if (c[i].ElType == 2) {
p1A = c[i].Pos1Angle() * (180 / Math.PI)
p2A = c[i].Pos2Angle() * (180 / Math.PI)
if(!c[i].ArcDir)
{
pp=p1A
p1A = p2A
p2A = pp
}
//else {dir='1'}
tdxf = tdxf + a1_sloy + sloy + "\n" + a2_cX + c[i].Center.x + "\n" + a3_cY + c[i].Center.y + "\n" + a4_R + c[i].ArcRadius() + "\n" + a5_p1A + p1A + "\n" + a6_p2A + p2A + "\n"
} else if (c[i].ElType == 3) {
tdxf = tdxf + c1_sloy + sloy + "\n" + c2_cX + c[i].Center.x + "\n" + c3_cY + c[i].Center.y + "\n" + c4_R + c[i].CirRadius + "\n"
}
}
}
tdxf = tdxf + kanec

system.writeTextFile(ActiveFilePathNomenklatury()+ 'ЧПУ\\' + data[0].Pos + '.dxf', tdxf)
}

[свернуть]
v22884 вне форума   Ответить с цитированием Вверх
Старый 25.07.2019, 14:46   #52
ket
Пользователь
 
Аватар для ket
 
Регистрация: 31.07.2008
Адрес: г.Калининград
Сообщений: 38
Сказал(а) спасибо: 5
Поблагодарили 5 раз(а) в 5 сообщениях
Вес репутации: 0
ket пока не определено
По умолчанию

Здравствуйте, уважаемые коллеги, нужен такой скрипт: на горячей кнопке(в режиме модели) задать угол ракурса разворота (в программе есть 2 варианта -"стандартная проекция и "параллельно плоскости" так вот, в стандартной проекции углы 20 и 20, а мне нужно разные (для схем сборок мебели), а каждый раз вводить значения очень тормозит работу

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

Цитата:
Сообщение от ket Посмотреть сообщение
в программе есть 2 варианта -"стандартная проекция и "параллельно плоскости"
Извините, где эти варианты? И если правильно понимаю вам нужно по горячей кнопке выводить скрипт, в который нужно ввести углы поворота модели?
Максим Геннадьевич вне форума   Ответить с цитированием Вверх
Старый 26.07.2019, 16:15   #54
ket
Пользователь
 
Аватар для ket
 
Регистрация: 31.07.2008
Адрес: г.Калининград
Сообщений: 38
Сказал(а) спасибо: 5
Поблагодарили 5 раз(а) в 5 сообщениях
Вес репутации: 0
ket пока не определено
Печаль

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
Извините, где эти варианты? И если правильно понимаю вам нужно по горячей кнопке выводить скрипт, в который нужно ввести углы поворота модели?
Варианты находятся в панели инструментов, меню "Виды" , вкладка "Углы ракурса"
Вы правы, мне нужно чтобы по горячей клавише (которую я себе настрою)
модель развернулась на нужные мне углы (аналогично, как в автокаде и др. прогах есть клавиши изомертия под разными углами ЮЗ, ЮВ, и пр.)
Не удобно ради этого каждый раз вводить значение с клавиатуры, я когда делаю схемы сборок кручу модель целый рабочий день, бесит, что разрабы сами до этого не додумались, мне этих кнопок нужно как минимум 4, а лучше 8 может даже отдельное меню, как на спецзнаки, которое потом скрывается. Тот скрипт, что уже кем-то написан не очень удобен, или я его не пойму
ket вне форума   Ответить с цитированием Вверх
Старый 26.07.2019, 16:17   #55
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
Извините, где эти варианты?
Пункт "Углы ракурса" (скриншот во вложении).

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
И если правильно понимаю вам нужно по горячей кнопке выводить скрипт, в который нужно ввести углы поворота модели?
Вроде да, но тогда ничем не отличается от введения в интерфейсе Базиса.
Задача малопонятна, поэтому универсальное решение:
PHP код:
var xdeg 20 // Угол Х
var ydeg = -20 // Угол Y

var cam Action.DS.Camera;
cam.AngleX xdeg;
cam.AngleY ydeg
Меняя значения переменных xdeg и ydeg (Угол X и Угол Y соответственно), можно получить свой собственный скрипт на поворот камеры в нужное положение. Чтобы получить нужные значения для этих переменных достаточно повернуть камеру "так как должно быть" и посмотреть их значения в "Углах ракурса".
Миниатюры
angles.png  
Letos вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
donik (26.07.2019), TProject (05.07.2022), Uncle (26.07.2019), wizardpnz (27.08.2019), zzerg (26.07.2019)
Старый 26.07.2019, 16:24   #56
ket
Пользователь
 
Аватар для ket
 
Регистрация: 31.07.2008
Адрес: г.Калининград
Сообщений: 38
Сказал(а) спасибо: 5
Поблагодарили 5 раз(а) в 5 сообщениях
Вес репутации: 0
ket пока не определено
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
Пункт "Углы ракурса" (скриншот во вложении).



Вроде да, но тогда ничем не отличается от введения в интерфейсе Базиса.
Задача малопонятна, поэтому универсальное решение:
PHP код:
var xdeg 20 // Угол Х
var ydeg = -20 // Угол Y

var cam Action.DS.Camera;
cam.AngleX xdeg;
cam.AngleY ydeg
Меняя значения переменных xdeg и ydeg (Угол X и Угол Y соответственно), можно получить свой собственный скрипт на поворот камеры в нужное положение. Чтобы получить нужные значения для этих переменных достаточно повернуть камеру "так как должно быть" и посмотреть их значения в "Углах ракурса".
Цитата:
Сообщение от Letos Посмотреть сообщение
Вроде да, но тогда ничем не отличается от введения в интерфейсе Базиса.
Задача малопонятна, поэтому универсальное решение:
Нет, цифровое значение углов мне известно, нужно одним нажатием на кнопку или горячей клавишей развернуть модель в изометрию ЮЗ, или ЮВ, потом еще на какой-то угол, но чтобы это происходило без введения значений углов с клавиатуры (как сейчас это происходит)
ket вне форума   Ответить с цитированием Вверх
Старый 26.07.2019, 16:32   #57
Uncle
VIP
 
Аватар для Uncle
 
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,024 раз(а) в 6,492 сообщениях
Вес репутации: 5257
Uncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспорима
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
Меняя значения переменных xdeg и ydeg (Угол X и Угол Y соответственно), можно получить свой собственный скрипт на поворот камеры в нужное положение.
ket, Вы можете в редакторе скриптов задавая нужные Вам значения углов, сохранять каждый вариант в отдельный скрипт. Сколько угодно вариантов можно сделать и все их повесить на горячие клавиши
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...

Последний раз редактировалось Uncle; 29.07.2019 в 10:20.
Uncle вне форума   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
freedree (29.07.2019), ket (26.07.2019), sannykSV (27.07.2019), Vlad_R64 (26.07.2019)
Старый 26.07.2019, 16:36   #58
Максим Геннадьевич
Местный
 
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 162
Сказал(а) спасибо: 57
Поблагодарили 242 раз(а) в 45 сообщениях
Вес репутации: 137
Максим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от ket Посмотреть сообщение
но чтобы это происходило без введения значений углов с клавиатуры
Сделайте несколько скриптов под своим названием и в каждом поменяйте значения какие вам нужны
var xdeg = 20 // Угол Х
var ydeg = -20 // Угол Y
И нажав кнопку одну у вас углы будут 20;20
Нажав другую, углы будут например 40;30 как вам нужно
Максим Геннадьевич вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
ket (26.07.2019)
Старый 26.07.2019, 18:42   #59
Tehnik
Местный
 
Аватар для Tehnik
 
Регистрация: 11.08.2012
Адрес: Киев
Сообщений: 936
Сказал(а) спасибо: 5,370
Поблагодарили 3,884 раз(а) в 874 сообщениях
Вес репутации: 1098
Tehnik репутация неоспоримаTehnik репутация неоспоримаTehnik репутация неоспоримаTehnik репутация неоспоримаTehnik репутация неоспоримаTehnik репутация неоспоримаTehnik репутация неоспоримаTehnik репутация неоспоримаTehnik репутация неоспоримаTehnik репутация неоспоримаTehnik репутация неоспорима
По умолчанию

Цитата:
Сообщение от ket Посмотреть сообщение
цифровое значение углов мне известно,
Тогда сделать несколько скриптов с любимыми ракурсами, очень удобно.

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

[свернуть]
Tehnik вне форума   Ответить с цитированием Вверх
Старый 16.08.2019, 17:39   #60
volunka
Местный
 
Аватар для volunka
 
Регистрация: 22.09.2010
Адрес: Россия, г. Санкт-Петербург
Сообщений: 538
Сказал(а) спасибо: 1,084
Поблагодарили 2,183 раз(а) в 436 сообщениях
Вес репутации: 677
volunka репутация неоспоримаvolunka репутация неоспоримаvolunka репутация неоспоримаvolunka репутация неоспоримаvolunka репутация неоспоримаvolunka репутация неоспоримаvolunka репутация неоспоримаvolunka репутация неоспоримаvolunka репутация неоспоримаvolunka репутация неоспоримаvolunka репутация неоспорима
По умолчанию

Всем привет!
Хотелось бы получить скрипт для очистки истории в моделях (фрагментах, файлах фурнитур).
Алгоритм примерно такой:
1. Пользователь создаёт текстовый файл, содержащий в строках пути к необходимым файлам.
2. В скрипте указываем путь к этому текстовому файлу.
3. Скрипт считывает первый пусть к файлу.
4. Открывает этот файл.
5. Вызывает команду очистки истории модели.
6. Сохраняет файл.
7. Закрывает файл.
8. Открывает следующий файл и выполняет действия 4..7.
9. Выдаёт сообщение о том, что очистка завершена.

Очень полезно будет для коллекций с большим количеством файлов - уменьшит размер файлов, и уменьшит нагрузку на БМ с их работой через Проект(сейчас часто вылетает с ошибкой нехватки памяти при работе с проектом из 450+ файлов, если не удалить историю).

Очень признателен, за любую помощь.
volunka вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
FIDEL (28.08.2019)
Ответ

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

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заявки на фурнитуру, сборки, фрагменты Kudesnick Базис-мебельщик. Элементы фурнитуры и Комплектующих 1391 Сегодня 00:49
"Мастер скриптов" — изменение скрипта блока в сцене KD ViPeS KitchenDraw (KD) 40 16.10.2023 19:23
Заявки на скрипты dr_john Система БАЗИС 37 01.03.2016 10:36
Генерирую заявки на шкафы за агентское вознаграждение в Москве. mavar Предлагаю работу 26 21.11.2014 16:06


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


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

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