![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Получение массива рёбер от вершинСодержание книги
Поиск на нашем сайте
vrt=polyop.getVertselection $ as array edg=(for i=1 to vrt.count-1 where (ed=((polyop.getEdgesUsingVert $ #{vrt[i]}*polyop.getEdgesUsingVert $ #{vrt[(i+1)]}) as array)[1])!=undefined collect ed) setEdgeSelection $ edg
Способ формирования массива Кусок выдернут из скрипта, поэтому переменные связаны с рёбрами и вершинами. Но уж пусть лучше с ними будет, чем a и b. Так лучше привыкаешь к синтаксису.
theVerts=#() -- создаём пустой массив Внимание! Ещё проще конструкция делает то же самое вот так: theVerts = for i in arVert where ($.GetVertexEdgeCount i == 2) collect i -- theVerts (новый массив) = для каждого элемента i в массиве arVert где выполняется условие (fnO.GetVertexEdgeCount i == 2), собрать в новый массив каждый i, удовлетворяющий условию _______________________________________________________________
Интересный момент для BitArray массива Poly объект Teapot при невыделенных рёбрах Es=$.getselection #Edge -- #{} битовый массив _______________________________________________________________ И ещё один интересный момент fn fEs =(Es=$.GetSelection #Edge) as array -- функция с переменной #(6) Es -- Возвращает битовый массив #{6} _______________________________________________________________ Учимся Скрывать/открывать обновление командной панели Modify при выполнении скрипта Функции suspendediting() -- скрыть resumeediting() -- открыть --Используется только тогда и таким образом, чтобы скрипт не использовал инструменты командной панели, иначе скрипт НЕ будет работать так как использовать из инструментов ему будет нечего, потому что эти инструменты командной панели, собственно и скрываются.
$.EditablePoly.ConvertSelection #Edge #Vertex а именно polyop. getVertsUsingEdge <Poly poly> <edgelist> Предварительно конечно же позаботиться о создании массива вершин, передаваемых этой функции. Код получится такой: edgelist = $.EditablePoly.getSelection #Edge9 EtoVERT = polyop.getVertsUsingEdge $ edgelist $.EditablePoly.setSelection #Vertex EtoVERT При этом уже никаких обращений к объекту через curObj = modPanel.getCurrentObject() не допускается, так как это и есть использование панели Modify, которую мы скрываем. Таким образом код будет немного длиннее, но за то скрипт всё равно будет работать быстрее за счёт того, что командная панель не будет перемигивать, обновляться. Кстати команду subobjectlevel = 1 - так же невозможно использовать при скрытии панели. И вообще зачастую бывает так, что, необходимо, для выполнения скрипта, чтобы явно был включен подобъект или ещё какой нибудь атрибут панели Modify, в таком случае, ничего не поделаешь - приходится обходиться без скрытия. Так же для скрытия обновления панели Modify можно пробовать использовать переключение в панель Create max create mode max modify mode -- бывает работает даже быстрее чем suspendediting() resumeediting() Если при конструировании, выполнении кода панель скрылась и не открылась, то надо ещё раз вызвать просто отдельно команду resumeediting() _______________________________________________________________
|
|||||
Последнее изменение этой страницы: 2021-04-13; просмотров: 63; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.132.213.110 (0.009 с.) |