Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 10 в этой теме.
БАЗИС 10 - Скрипты - Страница 44
Цитата:
|
Сообщение от TProject
Уважаемые мебельщики, помогите коллеге. Возникла потребность расстановки позиций с помощью скрипта на выделенные детали. Если у кого то есть подобный скрипт, поделитесь пожалуйста.
|
Цитата:
|
Сообщение от Ovsyanicov
Выделяете детали и нажимаете кнопку "Расставить позиции заново".
|
Цитата:
|
Сообщение от Letos
В скриптах расстановка позиций доступна только на всю модель. Пилить собственную расстановку вряд ли кому приходило в голову, потому что сравнение объектов - задача трудоёмкая. В результате остаётся один вариант:
|
Как удалить после Action.Commit() ?
p = Model.Selections[0]
pCopy = AddCopy(p);
Action.Commit()
DeleteObject(pCopy); //Здесь не работает.
Или сразу главный вопрос:
Как определить какие именно отверстия из фурнитуры цепляют конкретную панель?
Если, например, в фурнитурине 6 отверстий и больше.
p = Model.Selections[0]
pCopy = AddCopy(p);
Action.Commit()
DeleteObject(pCopy); //Здесь не работает.
Или сразу главный вопрос:
Как определить какие именно отверстия из фурнитуры цепляют конкретную панель?
Если, например, в фурнитурине 6 отверстий и больше.
Цитата:
|
Сообщение от v22884
Как определить какие именно отверстия из фурнитуры цепляют конкретную панель?
|
Цитата:
|
Сообщение от v22884
Как удалить после Action.Commit() ?
p = Model.Selections[0] pCopy = AddCopy(p); Action.Commit() DeleteObject(pCopy); //Здесь не работает. |
Т.к. добавление объектов в модель идёт последовательно, то при добавлении 5 объектов скриптом в модель, последние 5 объектов - добавленные скриптом (небольшая оговорочка - если добавлен блок, содержащий 4 объекта, то в модели последним объектом будет блок, а остальные 4 будут внутри блока, согласно иерархии).
Вот небольшой пример по добавлению объекта, применению изменений и удалению объекта:
PHP код:
// Добавление панели
AddPanel(100, 1000).Owner;
// Применение действий скрипта с записью в историю
Action.Commit();
// Удаление последнего объекта в модели (панели, добавленной скриптом)
DeleteObject(Model.Objects[Model.Count - 1]);
Новые сообщения временно недоступны.
