|
|
|
|
|
21.03.2018, 14:48
|
|
Обсуждение скриптов в Системе Базис
Letos
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
21.03.2018, 14:48
Рейтинг:
()
Если вы не знаете, или не уверены, куда задавать вопрос по скриптам в Системе Базис, то эта тема для вас.
Обратите внимание на полезные ответы в этой теме!
|
Просмотров: 244228
|
2 пользователя(ей) сказали cпасибо:
|
|
10.03.2020, 12:19
|
#231
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от Максим Геннадьевич
Спасибо. Нашел, не обращал внимание. А расшифровать уже не как так понимаю. Допустим зашифровал я свой код, и нужно внести поправки.
|
Насколько я знаю - никак, только хранить исходный незашифрованный код.
|
|
|
Пользователь сказал cпасибо:
|
|
16.03.2020, 00:46
|
#232
|
Новичок
Регистрация: 02.11.2018
Сообщений: 16
Сказал(а) спасибо: 5
Поблагодарили 22 раз(а) в 3 сообщениях
Вес репутации: 0
|
Undo.changing() Что это?
Undo.changing() Что это? есть ли описание данной функции? зачем она нужна, когда ее использовать а когда нет, что она делает? какие функции еще не описаны в стандартной документации? может кто то подскажет где есть полное описание всех остальных не описанных функций?
|
|
|
16.03.2020, 01:08
|
#233
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от Bystry
Undo.changing() Что это? есть ли описание данной функции? зачем она нужна, когда ее использовать а когда нет, что она делает? какие функции еще не описаны в стандартной документации? может кто то подскажет где есть полное описание всех остальных не описанных функций?
|
Эта функция записывает, что объект будет изменён. Все изменения объекта между этой функцией и Action.Commit (или завершением скрипта) будут записаны в историю, следовательно, эти изменения можно будет отменить.
|
|
|
16.03.2020, 02:38
|
#234
|
Новичок
Регистрация: 02.11.2018
Сообщений: 16
Сказал(а) спасибо: 5
Поблагодарили 22 раз(а) в 3 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от Letos
Эта функция записывает, что объект будет изменён. Все изменения объекта между этой функцией и Action.Commit (или завершением скрипта) будут записаны в историю, следовательно, эти изменения можно будет отменить.
|
спасибо!
Нужно ли в конце каждого скрипта вставлять Action.Commit?
Нужно ли после(или перед?) каждого изменения вставлять этот Undo.changing()? имеется ввиду например я хочу
1 - окромковать 2 грани детали...(панель 1)
2 - затем создать новую деталь... (панель 2)
3 - затем ее окромковать.(панель2)
тоесть тут уже 3 операции и я хочу чтоб они все были в истории поэтапно...
как это должно выглядеть?
Undo.changing(панель 1)
1 - окромковать 2 грани детали...(панель 1)
Undo.changing(панель 2)
2 - затем создать новую деталь... (панель 2)
Undo.changing(панель 2)
3 - затем ее окромковать.(панель2)
Action.Commit
както так?
Добавлено через 8 минут
Есть ли функция проверки наличия кромок на гранях? например я ей передаю в параметр имя панели а она мне выдает массив с элементами true или false
если нет то как можно проверять наличие кромки?
|
|
|
16.03.2020, 09:50
|
#235
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от Bystry
спасибо!
Нужно ли в конце каждого скрипта вставлять Action.Commit?
Нужно ли после(или перед?) каждого изменения вставлять этот Undo.changing()? имеется ввиду например я хочу
1 - окромковать 2 грани детали...(панель 1)
2 - затем создать новую деталь... (панель 2)
3 - затем ее окромковать.(панель2)
тоесть тут уже 3 операции и я хочу чтоб они все были в истории поэтапно...
как это должно выглядеть?
Undo.changing(панель 1)
1 - окромковать 2 грани детали...(панель 1)
Undo.changing(панель 2)
2 - затем создать новую деталь... (панель 2)
Undo.changing(панель 2)
3 - затем ее окромковать.(панель2)
Action.Commit
както так?
Добавлено через 8 минут
Есть ли функция проверки наличия кромок на гранях? например я ей передаю в параметр имя панели а она мне выдает массив с элементами true или false
если нет то как можно проверять наличие кромки?
|
1. Action.Commit вставлять не надо если скрипт завершается естественным путём (то есть нигде не вызывается Action.Cancel). По завершении скрипта автоматически вызывается Action.Finish, который и делает коммит.
2.Undo.Changing вызывается лишь однажды перед изменением объекта, уже существовавшего до выполнения скрипта. Если объект создаётся скриптом и его положение в иерархии не меняется (то есть он находится в объекте по умолчанию - временной области модели), то Undo.Changing вызывать не надо - объект автоматически добавится в историю по завершении скрипта. Соответственно, в вашем примере Undo.Changing нужно будет вызывать лишь однажды для панели 1.
3. Встроенных функций проверки кромок нет. Можно самому написать. Пример вычисления наличия кромок на выделенной панели:
Код
PHP код:
// Выделенный объект - панель
var panel = Model.Selected.AsPanel;
// Проверка, есть ли вообще кромка на панели
var buttExists = panel.Butts.Count > 0;
// Массив кромок. В каждом элементе - булево значение, означающее, есть ли
// кромка у элемента контура с соответствующим индексом.
var buttsArray = [];
// По умолчанию выставляется отсутствеи кромок для каждого элемента контура панели
for (var i = 0; i < panel.Contour.Count; i++) {
buttsArray[i] = false;
}
// Цикл по каждой кромке
for (var i = 0; i < panel.Butts.Count; i++) {
// Индекс элемента контура, на который нанесена кромка
var index = panel.Butts.Butts[i].ElemIndex;
// Выставляем наличие кромки на элементе
buttsArray[index] = true;
}
//Вывод информации
alert(JSON.stringify(buttsArray))
[свернуть]
|
|
|
Пользователь сказал cпасибо:
|
|
23.03.2020, 11:10
|
#236
|
Новичок
Регистрация: 27.05.2008
Сообщений: 20
Сказал(а) спасибо: 10
Поблагодарили 8 раз(а) в 4 сообщениях
Вес репутации: 0
|
Все привет! Написал скрипт, все работает но файл запускается только с редактора скриптов, хотя находится в базисной папке Script и в настройках как и положено прописан путь к этой папке. В чем может быть причина, кто подскажет? Спасибо.
|
|
|
23.03.2020, 11:26
|
#237
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от hseva
Все привет! Написал скрипт, все работает но файл запускается только с редактора скриптов, хотя находится в базисной папке Script и в настройках как и положено прописан путь к этой папке. В чем может быть причина, кто подскажет? Спасибо.
|
Вполне может быть, что какая-то ошибка в коде скрипта, но при запуске из редактора она игнорируется. Попробуйте запустить при открытом редакторе скриптов, но из меню "Скрипты" - если есть ошибка, она должна появиться в логе редактора скриптов.
|
|
|
23.03.2020, 12:09
|
#238
|
Новичок
Регистрация: 27.05.2008
Сообщений: 20
Сказал(а) спасибо: 10
Поблагодарили 8 раз(а) в 4 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от Letos
Вполне может быть, что какая-то ошибка в коде скрипта, но при запуске из редактора она игнорируется. Попробуйте запустить при открытом редакторе скриптов, но из меню "Скрипты" - если есть ошибка, она должна появиться в логе редактора скриптов.
|
Увы. Вообще никакой реакции в логе при запуске с меню. Скрипт работает только с редактора
|
|
|
23.03.2020, 14:22
|
#239
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от hseva
Увы. Вообще никакой реакции в логе при запуске с меню. Скрипт работает только с редактора
|
Можете скинуть скрипт на посмотреть?
Если нет, можете комментировать отдельные части кода и смотреть, запускается скрипт или нет. Если не запускается - проблема локализована в закомментированном участке и надо разбить его на части и комментировать их для выявления меньшей проблемной области и т.д.
Для начала можно проверить кол-во скобок открывающих/закрывающих, может где-то чего-то не хватает.
|
|
|
24.03.2020, 02:47
|
#240
|
Новичок
Регистрация: 27.05.2008
Сообщений: 20
Сказал(а) спасибо: 10
Поблагодарили 8 раз(а) в 4 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от Letos
Можете скинуть скрипт на посмотреть?
Если нет, можете комментировать отдельные части кода и смотреть, запускается скрипт или нет. Если не запускается - проблема локализована в закомментированном участке и надо разбить его на части и комментировать их для выявления меньшей проблемной области и т.д.
Для начала можно проверить кол-во скобок открывающих/закрывающих, может где-то чего-то не хватает.
|
Все ок, спасибо . Нашел пару лишних скобок вашим методом )
|
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 09:55. Часовой пояс GMT +3.
|