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

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

Реклама

Реклама на портале PROMEBELclub
шкаф-купе со скидкой по акции
Реклама на портале PROMEBELclub

искусственный камень купить мебель в Екатеринбурге
Ответ
 
Опции темы Опции просмотра
Старый 06.06.2017, 09:56  
Скрипты Базис-Мебельщик 10
 
Аватар для systland
systland
Модератор
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 539

Сказал(а) спасибо: 271
Поблагодарили 386 раз(а) в 167 сообщениях
Версия для печати Отправить по электронной почте
systland systland вне форума 06.06.2017, 09:56
Рейтинг: (1 голосов - 2.00 средняя оценка)

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


Последний раз редактировалось systland; 26.06.2017 в 15:11..
Просмотров: 6924
Ответить с цитированием Вверх
Старый 29.08.2017, 16:05   #21
seserg
Новичок
 
Регистрация: 19.06.2013
Сообщений: 6
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
seserg пока не определено
По умолчанию

Подскажите добрые люди, как теперь в скриптах использовать схемы крепежа?
seserg вне форума   Ответить с цитированием Вверх
Старый 05.09.2017, 17:19   #22
Letos
Пользователь
 
Регистрация: 28.06.2017
Сообщений: 39
Сказал(а) спасибо: 11
Поблагодарили 119 раз(а) в 26 сообщениях
Вес репутации: 33
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 (12.09.2017), Ovsyanicov (06.09.2017), seserg (06.09.2017)
Старый 07.09.2017, 09:33   #23
v22884
Местный
 
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 383
Сказал(а) спасибо: 180
Поблагодарили 750 раз(а) в 150 сообщениях
Вес репутации: 233
v22884 - просто великолепная личностьv22884 - просто великолепная личностьv22884 - просто великолепная личностьv22884 - просто великолепная личностьv22884 - просто великолепная личностьv22884 - просто великолепная личностьv22884 - просто великолепная личность
По умолчанию

Contour.Approximate()

Сообщите, пожалуйста, параметры.
Она, наверно, даёт отрезки, или точки.?
v22884 вне форума   Ответить с цитированием Вверх
Старый 07.09.2017, 11:03   #24
Briz
Местный
 
Регистрация: 30.11.2011
Сообщений: 277
Сказал(а) спасибо: 268
Поблагодарили 713 раз(а) в 165 сообщениях
Вес репутации: 262
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, 16:49   #25
djobik
Новичок
 
Регистрация: 28.02.2014
Сообщений: 9
Сказал(а) спасибо: 8
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
djobik пока не определено
По умолчанию

Доброго вермени суток.
Уже отвечали про схемы крепежа, но не очень помогло.
В примерах скриптов базиса схема открывается через OpenScheme.
Закинул в папку примера свой Fasteners.config - не заработало, прописал до него путь, то же самое. Прописал путь до файла в фурнитуре, так же не заработало.
В мануале вычитал про OpenFurnitureScheme/OpenFurnitureSchemes - результат ровно такой же как и с OpenScheme.
Может кто кодом показать как установить схему крепежа между двух панелей в 10-ом базисе? Буду премного благодарен.
djobik вне форума   Ответить с цитированием Вверх
Старый 21.09.2017, 17:37   #26
Letos
Пользователь
 
Регистрация: 28.06.2017
Сообщений: 39
Сказал(а) спасибо: 11
Поблагодарили 119 раз(а) в 26 сообщениях
Вес репутации: 33
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, 10:41   #27
djobik
Новичок
 
Регистрация: 28.02.2014
Сообщений: 9
Сказал(а) спасибо: 8
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
djobik пока не определено
По умолчанию

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

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

Очень нужна схема замены фурнитуры. Что то вроде того как реализована схема замены материалов. Очень часто произвожу замену одной и той же фурнитуры, выбирая каждую по отдельности. В скриптах я на уровне чайника, может кто поможет?
R0mchik вне форума   Ответить с цитированием Вверх
Старый 26.09.2017, 14:57   #30
Letos
Пользователь
 
Регистрация: 28.06.2017
Сообщений: 39
Сказал(а) спасибо: 11
Поблагодарили 119 раз(а) в 26 сообщениях
Вес репутации: 33
Letos скоро придёт к известностиLetos скоро придёт к известности
По умолчанию

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

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

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис-Мебельщик 10 systland Базис-мебельщик 10.0 223 08.12.2017 22:34
БАЗИС-Мебельщик 7.0 Shadow Базис-мебельщик 7.0 2228 12.09.2016 19:13
Базис-мебельщик JavaScript ran Ищу работу 0 09.05.2014 10:08


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


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