Форум профессиональных мебельщиков 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..
Просмотров: 421826
Ответить с цитированием Вверх
Старый 29.08.2017, 15:05   #21
seserg
Новичок
 
Регистрация: 19.06.2013
Сообщений: 12
Сказал(а) спасибо: 5
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
seserg пока не определено
По умолчанию

Подскажите добрые люди, как теперь в скриптах использовать схемы крепежа?
seserg вне форума   Ответить с цитированием Вверх
Старый 05.09.2017, 16:19   #22
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,029 раз(а) в 366 сообщениях
Вес репутации: 343
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от seserg Посмотреть сообщение
Подскажите добрые люди, как теперь в скриптах использовать схемы крепежа?
Схемы крепежа используются также, как и в девятке.
Два варианта взаимодействия со схемами: создание с нуля и загрузка из старого формата (файла fasteners.config).
Нашел еще один хак: Можно через поле выбора фурнитуры выбрать схему и у поля вызвать метод Mount. Вот упрощенный пример:
Код:
  var furnSel = NewFurnitureInput("схема");
  furnSel.OnChange = ()=>{
    furnSel.Mount(panel1, panel2, x, y, z);
  }
Если создавать схему с нуля, то там нужно прописывать кучу параметров схемы. Если вы пишите скрипты через VSCode, можно добавить в файл определений d.ts следующие строки, которые упростят поиск нужного параметра:

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

Код:
/**
 * Позиция фурнитуры при установке крепежа
 */
declare enum FurniturePosition {
    /**
     * Установка фурнитуры внутри стыка
     */
    Inside,
    /**
     * Установка фурнитуры снаружи стыка
     */
    Outside,
    /**
     * Установка фурнитуры вверху стыка (только для стыков с горизонтальной панелью)
     */
    Up,
    /**
     * Установка фурнитуры внизу стыка (только для стыков с горизонтальной панелью)
     */
    Down

}

/**
 * Тип схемы установки крепежа
 */
declare enum SchemeType {
    /**
     * Тип схемы с фиксированным отступом
     */
    WithBase,
    /**
     * Симметричный тип схемы
     */
    Symmetric,
    /**
     * Тип схемы с переменным шагом
     */
    VariableStep

}

declare class FurnitureScheme{
    /**
     * Установка крепежа в стык 2-х панелей
     * @param panel1
     * @param panel2
     */
    Mount(panel1: Panel, panel2: Panel);
    /**
     * Задать количество крепежа для схемы
     * @param count
     */
    SetFurnitureCount(count: number);
    /**
     * Название схемы
     */
    Name: String;
    /**
     * Основная фурнитура
     */
    Furniture: InfFurniture;
    /**
     * Дополнительная фурнитура
     */
    AdditionalFurn: InfFurniture;
    /**
     * Тип схемы
     */
    SchemeType: SchemeType;
    /**
     * Минимальный отступ (для симметричной схемы)
     */
    MinSymmetricIndent: Number;
    /**
     * Отступ в процентах (для симметричной схемы)
     */
    Percent: Boolean;
    /**
     * Фиксировать отступ (для симметричной схемы)
     */
    FixSymmetricIndent: Boolean;
    /**
     * Фиксированный отступ (для схемы с фиксированным отступом)
     */
    FixBaseIndent: Number;
    /**
     * Минимальный отступ от противоположного края (для схемы с фиксированным отступом)
     */
    MinBaseIndent: Number;
    /**
     * Кратность шага основной фурнитуры
     */
    FurnitureStep: Number;
    /**
     * Кратность шага Дополнительной фурнитуры
     */
    AdditionalFurnStep: Number;
    /**
     * Положение фурнитуры в стыке
     */
    FurniturePosition: FurniturePosition;

}

declare class FurnitureSchemes{
    /**
     * Сохранить список схем в файл
     * @param filename
     */
    SaveTo(filename: string);
    /**
     * Добавить список схем из файла
     * @param filename
     */
    AddFromFile(filename: string);
    /**
     * Найти схему по имени
     * @param SchemeName
     */
    GetScheme(SchemeName: string): FurnitureScheme;
    /**
     * Получить номер схемы в списке
     * @param Scheme
     */
    IndexOf(Scheme: FurnitureScheme): Number;
    /**
     * Наличие схемы в списке
     * @param Scheme
     */
    Exists(Scheme: FurnitureScheme): Boolean;
    /**
     * Добавить схему в список
     * @param  FurnScheme
     */
    AddScheme(FurnScheme: FurnitureScheme);
    /**
     * Удалить схему по имени
     * @param SchemeName
     */
    DeleteScheme(SchemeName: string);
    /**
     * Удалить схему по номеру
     * @param  index
     */
    DeleteIndex(index: number);
    /**
     * Принять изменения в схеме
     * @param Scheme
     */
    AcceptScheme(Scheme: FurnitureScheme);
    /**
     * Создать новую схему
     * @param SchemeName
     */
    NewScheme(SchemeName: string): FurnitureScheme;
    /**
     * Список схем
     */
    Schemes: Array<FurnitureScheme>;
    /**
     * Количество схем в списке
     */
    Count: Number;

}

/**
 * Открыть схему установки крепежа
 * @param filename
 * @param  schemeGroup
 * @param  schemeName
 */
declare function OpenFurnitureScheme(filename: string, schemeGroup: string, schemeName: string): FurnitureScheme;

/**
 * Открыть группу схем установки крепежа
 * @param filename
 * @param  schemeGroup
 */
declare function OpenFurnitureSchemes(filename: string, schemeGroup: string): FurnitureSchemes;

/**
 * Создать схему установки крепежа
 * @param schemeName
 */
declare function NewFurnitureScheme(schemeName: string): FurnitureScheme;
[свернуть]

P.S. Так как схемы крепежа со времен девятки изменились, то, скорее всего, часть API для взаимодействия со схемами нужно поменять, поэтому подсказку для схем удалили, но старые функции, методы и свойства пока еще остались.
Letos вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
maxgmv (11.09.2017), Ovsyanicov (06.09.2017), seserg (06.09.2017)
Старый 07.09.2017, 08:33   #23
v22884
Местный
 
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 241
Поблагодарили 1,090 раз(а) в 210 сообщениях
Вес репутации: 384
v22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордится
По умолчанию

Contour.Approximate()

Сообщите, пожалуйста, параметры.
Она, наверно, даёт отрезки, или точки.?
v22884 вне форума   Ответить с цитированием Вверх
Старый 07.09.2017, 10:03   #24
Briz
Местный
 
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 803 раз(а) в 179 сообщениях
Вес репутации: 357
Briz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личность
По умолчанию

PHP код:
// создадим контейнер для точек
var Edge Model.Edges.AddSpline();

// создадим контур
var ContourObject AddContour();
ContourObject.Contour.AddCircle(0010);
// разбиваем его на точки с отклонением не больше 0.1
ContourObject.Contour.Approximate(0.1Edge.VertList);


for (var 
0Edge.VertList.Count; ++k) {
  var 
Pos Edge.VertList[k];
  
system.log(Pos.' ' Pos.' ' Pos.z);
}

// удаляем контейнер для точек
Model.Edges.Delete(Model.Edges.IndexOf(Edge)); 
Briz вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
v22884 (17.10.2017)
Старый 21.09.2017, 15:49   #25
djobik
Новичок
 
Регистрация: 28.02.2014
Сообщений: 10
Сказал(а) спасибо: 20
Поблагодарили 12 раз(а) в 1 сообщении
Вес репутации: 0
djobik на пути к лучшему
По умолчанию

Доброго вермени суток.
Уже отвечали про схемы крепежа, но не очень помогло.
В примерах скриптов базиса схема открывается через OpenScheme.
Закинул в папку примера свой Fasteners.config - не заработало, прописал до него путь, то же самое. Прописал путь до файла в фурнитуре, так же не заработало.
В мануале вычитал про OpenFurnitureScheme/OpenFurnitureSchemes - результат ровно такой же как и с OpenScheme.
Может кто кодом показать как установить схему крепежа между двух панелей в 10-ом базисе? Буду премного благодарен.
djobik вне форума   Ответить с цитированием Вверх
Старый 21.09.2017, 16:37   #26
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,029 раз(а) в 366 сообщениях
Вес репутации: 343
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от djobik Посмотреть сообщение
Доброго вермени суток.
Уже отвечали про схемы крепежа, но не очень помогло.
В примерах скриптов базиса схема открывается через OpenScheme.
Закинул в папку примера свой Fasteners.config - не заработало, прописал до него путь, то же самое. Прописал путь до файла в фурнитуре, так же не заработало.
В мануале вычитал про OpenFurnitureScheme/OpenFurnitureSchemes - результат ровно такой же как и с OpenScheme.
Может кто кодом показать как установить схему крепежа между двух панелей в 10-ом базисе? Буду премного благодарен.
Нашел ошибку в своем предыдущем ответе. Файл старого формата схем - Schemes.config. Открытие схем производилось только из этого файла. После переноса настроек схем в файл Fasteners.config открытие из файла, по идее, уже не работало. На данный момент объект схемы можно получить либо из поля выбора фурнитуры (FurnitureInput и ScriptFurnitureProperty), либо создавать с нуля.
Letos вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
djobik (21.09.2017), maxgmv (21.09.2017), Ovsyanicov (21.09.2017)
Старый 22.09.2017, 09:41   #27
djobik
Новичок
 
Регистрация: 28.02.2014
Сообщений: 10
Сказал(а) спасибо: 20
Поблагодарили 12 раз(а) в 1 сообщении
Вес репутации: 0
djobik на пути к лучшему
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
Нашел ошибку в своем предыдущем ответе. Файл старого формата схем - Schemes.config. Открытие схем производилось только из этого файла. После переноса настроек схем в файл Fasteners.config открытие из файла, по идее, уже не работало. На данный момент объект схемы можно получить либо из поля выбора фурнитуры (FurnitureInput и ScriptFurnitureProperty), либо создавать с нуля.
Не совсем то что нужно.
При установки схем через FurnitureInput имеем выходные данные в виде InFurniture, в которой нет способа задать базу расстановки для схемы. В итоге схема ставится без растягивания, как в исходнике.
При ScriptFurnitureProperty в итоге то же самое.
Может быть есть какой-то вариант указать базу?
djobik вне форума   Ответить с цитированием Вверх
Старый 22.09.2017, 11:26   #28
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,029 раз(а) в 366 сообщениях
Вес репутации: 343
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от djobik Посмотреть сообщение
Не совсем то что нужно.
При установки схем через FurnitureInput имеем выходные данные в виде InFurniture, в которой нет способа задать базу расстановки для схемы. В итоге схема ставится без растягивания, как в исходнике.
При ScriptFurnitureProperty в итоге то же самое.
Может быть есть какой-то вариант указать базу?
Я поковырял-поковырял, и вынужден огорчить: такого варианта нет. Обходных путей тоже не нашел.
Letos вне форума   Ответить с цитированием Вверх
Старый 24.09.2017, 15:20   #29
R0mchik
Пользователь
 
Аватар для R0mchik
 
Регистрация: 31.05.2009
Адрес: Севастополь
Сообщений: 41
Сказал(а) спасибо: 11
Поблагодарили 9 раз(а) в 5 сообщениях
Вес репутации: 187
R0mchik на пути к лучшему
По умолчанию

Очень нужна схема замены фурнитуры. Что то вроде того как реализована схема замены материалов. Очень часто произвожу замену одной и той же фурнитуры, выбирая каждую по отдельности. В скриптах я на уровне чайника, может кто поможет?
R0mchik вне форума   Ответить с цитированием Вверх
Старый 26.09.2017, 13:57   #30
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,029 раз(а) в 366 сообщениях
Вес репутации: 343
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от R0mchik Посмотреть сообщение
Очень нужна схема замены фурнитуры. Что то вроде того как реализована схема замены материалов. Очень часто произвожу замену одной и той же фурнитуры, выбирая каждую по отдельности. В скриптах я на уровне чайника, может кто поможет?
В Базисе есть кнопка "Замена фурнитуры", похожая по реализации на "Замену материалов", которая может заменить всю фурнитуру в модели. Возможно, это и ответ на заданный вопрос. Если нет, то уточните, что в Вашем понимании означает "схема замены фурнитуры" - алгоритм замены фурнитуры, отличный от Базисного, или же нечто иное?
Letos вне форума   Ответить с цитированием Вверх
Ответ

Нижняя навигация
Вернуться   Форум профессиональных мебельщиков 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


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


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

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