Форум профессиональных мебельщиков PROMEBELclub

Форум профессиональных мебельщиков PROMEBELclub (http://promebelclub.ru/forum/index.php)
-   Базис-мебельщик. Скрипты (http://promebelclub.ru/forum/forumdisplay.php?f=273)
-   -   Обсуждение скриптов в Системе Базис (http://promebelclub.ru/forum/showthread.php?t=13614)

Letos 16.07.2018 10:56

Цитата:

Сообщение от Максим Геннадьевич (Сообщение 459617)
А есть вариант без Clear(), просто редактировать контур.

Можно получить доступ к уже имеющемуся элементу контура через индексное свойство Objects, например:
Код:

var p = AddPanel();
var c = p.Contour;
{
    //Получаем элемент и приводим его к типу "линия"
    var elem = c.Objects[0].AsLine();
    //Назначаем начало линии в точке (0,0)
    elem.Pos1 = {
        x: 0,
        y: 0
    }
    //Назначаем конец линии в точке (0, 1000)
    elem.Pos2 = {
        x: 0,
        y: 1000
    }
}


wizardpnz 17.07.2018 17:36

как подключится к базе данных если она сетевая через node-firebird?



Код:

options.host = '127.0.0.1';
options.port = 14357;
options.database = 'base.fdb';
options.user = 'SYSDBA';
options.password = 'masterkey';


Letos 17.07.2018 18:10

Цитата:

Сообщение от wizardpnz (Сообщение 459675)
как подключится к базе данных если она сетевая через node-firebird?
Код:

options.host = '127.0.0.1';
options.port = 14357;
options.database = 'base.fdb';
options.user = 'SYSDBA';
options.password = 'masterkey';


Точно не знаю (и проверить нет возможности), но предполагаю, что надо менять поля host и database
Код:

options.host = '192.168.0.1';
options.port = 14357;
options.database = 'path/to/base.fdb';
options.user = 'SYSDBA';
options.password = 'masterkey';

Где host - ip-адрес сервера
а database - полный путь к базе на сервере.
Ну и остальные поля (порт, логин, пароль), возможно, тоже менять придётся.

wizardpnz 17.07.2018 18:31

заработало

я тупил пытался вписать сетевой путь

bbb i ko 19.07.2018 16:06

SelPanel = Model.Selected;
Contor_Panel = SelPanel.Contour;
for (var El_Cont = 0; El_Cont < Contor_Panel.Count; El_Cont++)
{
Elem_Contour = Contor_Panel[El_Cont];
alert(Elem_Contour);
}


выдает [object T2DLine] + последовательность цифр
что за объект в данном случае Elem_Contour? можно ли получить его тип (дуга, прямая ..), координаты начала, конца ?

Letos 19.07.2018 18:43

Цитата:

Сообщение от bbb i ko (Сообщение 459774)
SelPanel = Model.Selected;
Contor_Panel = SelPanel.Contour;
for (var El_Cont = 0; El_Cont < Contor_Panel.Count; El_Cont++)
{
Elem_Contour = Contor_Panel[El_Cont];
alert(Elem_Contour);
}


выдает [object T2DLine] + последовательность цифр
что за объект в данном случае Elem_Contour? можно ли получить его тип (дуга, прямая ..), координаты начала, конца ?

T2DLine - линия. А в БМ 10 есть в автодополнении варианты для определения типа элемента контура: IsLine, IsArc, IsCircle, IsEllipse, IsList и приведения к ним: AsLine, AsArc, AsCircle, AsEllipse, AsList, а также подсказка для свойств. У линии, например, есть Pos1 и Pos2 - начало и конец линии. Это если вкратце. А если подробнее, то есть подсказка в редакторе БМ10 или расширение для VSCode, которое даёт автодополнение для скриптов (если БМ версии ниже, то часть из того, что показывается в автодополнении, может не существовать).

bbb i ko 20.07.2018 09:58

Butts_P = Model.Selected.Butts;
for (var NButt = 0; NButt < Butts_P.Count; NButt++) {
El_Butt = Butts_P[NButt];
alert(El_Butt.Material);
alert(El_Butt.Thickness);
alert(El_Butt.ClipPanel);
alert(El_Butt.Allowance)
}
не могу получить длину элемента кромки. Есть ли такое свойство?

Letos 20.07.2018 10:27

Цитата:

Сообщение от bbb i ko (Сообщение 459795)
Butts_P = Model.Selected.Butts;
for (var NButt = 0; NButt < Butts_P.Count; NButt++) {
El_Butt = Butts_P[NButt];
alert(El_Butt.Material);
alert(El_Butt.Thickness);
alert(El_Butt.ClipPanel);
alert(El_Butt.Allowance)
}
не могу получить длину элемента кромки. Есть ли такое свойство?

У кромки есть свойство ElemIndex - индекс элемента контура. Соответственно, по этому индексу можно найти элемент и его длину. Дополнил ваш код:
Код:

var Butts_P = Model.Selected.Butts;
for (var NButt = 0; NButt < Butts_P.Count; NButt++) {
  var El_Butt = Butts_P[NButt];
  var l = cnt.Objects[El_Butt.ElemIndex].ObjLength();
  alert(El_Butt.Material);
  alert(El_Butt.Thickness);
  alert(El_Butt.ClipPanel);
  alert(El_Butt.Allowance);
  alert(l);
}


bbb i ko 20.07.2018 11:39

Цитата:

Сообщение от Letos (Сообщение 459797)
var l = cnt.Objects[El_Butt.ElemIndex].ObjLength();

что в данном случае cnt?
вот так работает : var l = Model.Selected.Contour[El_Butt.ElemIndex].ObjLength();
но интересно правильно ли такое решение, логика?

Letos 20.07.2018 12:27

Цитата:

Сообщение от bbb i ko (Сообщение 459800)
что в данном случае cnt?
вот так работает : var l = Model.Selected.Contour[El_Butt.ElemIndex].ObjLength();
но интересно правильно ли такое решение, логика?

Да, правильное. cnt - это контур объекта, которому принадлежит кромка. Я видимо строчку одну не выделил при копировании:
Код:

var cnt = Model.Selected.Contour


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

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
© 2007-2021 PROMEBEL