3DCenter.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Reply to this topicStart new topic
> Ищу скрипт для массового выделения одинаковых объектов.
C00PER
сообщение 25/10/2009, 17:54
Сообщение #1


Take him away!
Иконка группы

Группа: Модераторы
Сообщений: 2 575
Регистрация: 31/10/2002
Из: оттуда
Пользователь №: 1 040



Собственно, сабж. Есть модель, в которой тысячи одинаковых полисурфейсов - гайки, болты, заклёпки. Есть-ли скрипт, который мог бы помочь в такой ситуации? Например, он бы смотрел на количество сурфейсов внутри полисурфейса, и на боундинг бокс, и на основе этого выделял.
Go to the top of the page
 
+Quote Post
Shiva
сообщение 25/10/2009, 18:26
Сообщение #2


Красив как Бог, умен как Дъявол
Иконка группы

Группа: Хранители порядка
Сообщений: 4 478
Регистрация: 16/06/2002
Из: Одесса
Пользователь №: 8



Вообще вопрос актуальный весьма..
самый простой вариант - чтобы скрипт раздетачивал обьект на компоненты и выбирал обьекты с одинаковым поликаунтом..
НО, идеальный вариант чтобы скрипт анализировал топологию и 100% гарантировал что это теже самые обьекты.. а еще желательно на основе обьекта-примера выставлял пивоты. )) но я такого скрипта не встречал. ((
Go to the top of the page
 
+Quote Post
C00PER
сообщение 25/10/2009, 19:31
Сообщение #3


Take him away!
Иконка группы

Группа: Модераторы
Сообщений: 2 575
Регистрация: 31/10/2002
Из: оттуда
Пользователь №: 1 040



Странно. Просто не верится, что для такой популярной программы до сих пор не написали подобной штуки
Go to the top of the page
 
+Quote Post
WawaNN
сообщение 25/10/2009, 19:39
Сообщение #4


Однофамилец...
Иконка группы

Группа: Пользователи
Сообщений: 1 132
Регистрация: 07/02/2006
Из: Ю. Бутово
Пользователь №: 22 784



Ну в нашем омуте вы точно такой скрипт не найдете, здесь ювелирка в основном, а ей зачем? smile.gif Теоретически на RhinoScript наверное такое написать можно, но все-таки непонятно по каким параметрам отбирать сюрфы. С чужими файлами, особенно импортированными, с большим количеством крепежа, который нужно менять, заморачиваться не приходилось (слава богу), ну а если свою сборку делать, то с этим нет никаких проблем, вставляем крепеж блоками, и одним движением меняем М6 на М8. Но это вы и сами знаете, так если сильно нужно, то есть смысл потолкаться в буржуйском комьюнити, особенно в ветках по Грассхоперу.
Go to the top of the page
 
+Quote Post
icerxp
сообщение 25/10/2009, 20:20
Сообщение #5


MaxMan
Иконка группы

Группа: Пользователи
Сообщений: 179
Регистрация: 24/03/2009
Пользователь №: 68 657



C00PER, 1. работа со слоями(кинул что нужно в определенный). 2. в 5-ке тока появляется Фильтр Выбора, да особо не нужно подобного.
Go to the top of the page
 
+Quote Post
colibrica
сообщение 25/10/2009, 20:49
Сообщение #6


Мастер
Иконка группы

Группа: Пользователи
Сообщений: 1 359
Регистрация: 09/12/2005
Из: Русь залесская
Пользователь №: 19 244



"ну а если свою сборку делать, то с этим нет никаких проблем, вставляем крепеж блоками, и одним движением меняем М6 на М8."
а можно поподробней, это как в Солиде конфигурации?

то КУПЕР:
такой "салат" единственное, что есть? или это последствия импорта откудато в какойто формат?

" работа со слоями(кинул что нужно в определенный)" дело в том, что ему надо сначала выделить ЧТО НУЖНО

Сообщение отредактировал colibrica - 25/10/2009, 20:52
Go to the top of the page
 
+Quote Post
WawaNN
сообщение 25/10/2009, 21:54
Сообщение #7


Однофамилец...
Иконка группы

Группа: Пользователи
Сообщений: 1 132
Регистрация: 07/02/2006
Из: Ю. Бутово
Пользователь №: 22 784



colibrica, не знаю как там в Солиде, я его только для экспорта -импорта использовал. А в Рино делаем сборку, крепеж вставляем блоком из внешнего файла (тоже риновского), ну не обязательно из внешнего, можно первый винт из сборочного, но из внешнего удобнее. Допустим у нас во внешнем файле болт М6 с гайкой, меняем в этом файле М6 на М8, к примеру, добавляем гровер, и в файле сборки весь крепеж меняется на новый.
Go to the top of the page
 
+Quote Post
C00PER
сообщение 26/10/2009, 14:18
Сообщение #8


Take him away!
Иконка группы

Группа: Модераторы
Сообщений: 2 575
Регистрация: 31/10/2002
Из: оттуда
Пользователь №: 1 040



Цитата(colibrica @ 25/10/2009, 21:49) *
то КУПЕР:
такой "салат" единственное, что есть? или это последствия импорта откудато в какойто формат?

" работа со слоями(кинул что нужно в определенный)" дело в том, что ему надо сначала выделить ЧТО НУЖНО


Совершенно верно, модель импортирована из формата STP, слоёв, названий объектов, цветовых групп и материалов - нет. Единственное что радует, объекты сджойненные. Скрипт, если бы он существовал, для начала мог бы просто смотреть на количество сурфейсов внутри сджойненного полисурфейса, и на габариты этого полисурфейса. Вполне себе уникальные данные, которые могут повториться у другого полисурфейса с очень небольшой долей вероятности. А даже если и повторятся, можно будет такие случаи вручную обработать.
Go to the top of the page
 
+Quote Post
Batuhan
сообщение 26/10/2009, 18:58
Сообщение #9


Бывалый
Иконка группы

Группа: Пользователи
Сообщений: 112
Регистрация: 03/08/2005
Пользователь №: 15 305



А самим написать не вариант? Этот скрипт (по крайней мере фильтр по количеству сурфов в полисурфе) простой довольно.
Могу написать. Надо? smile.gif

Сообщение отредактировал Batuhan - 26/10/2009, 18:59
Go to the top of the page
 
+Quote Post
WawaNN
сообщение 26/10/2009, 20:40
Сообщение #10


Однофамилец...
Иконка группы

Группа: Пользователи
Сообщений: 1 132
Регистрация: 07/02/2006
Из: Ю. Бутово
Пользователь №: 22 784



Batuhan, забесплатно? Тогда конечно надо, вот для таких тяжелых случаев. rolleyes.gif
Go to the top of the page
 
+Quote Post
Batuhan
сообщение 26/10/2009, 21:46
Сообщение #11


Бывалый
Иконка группы

Группа: Пользователи
Сообщений: 112
Регистрация: 03/08/2005
Пользователь №: 15 305



Ну, вот и скриптец: wink.gif

CODE
Sub MyFilter

Dim Count, Polys, i, Param, Pos1, Pos2, Str

setlocale("en-us")


Polys = Rhino.GetObjects("Выберите объекты для фильтрации", 16, , vbTrue, vbTrue)
If IsNull(Polys) Then Exit Sub

Count = Rhino.GetReal("Задай количество сурфов в полисурфе")
If IsNull(Count) Then Exit Sub

Rhino.EnableRedraw(False)
Rhino.UnselectAllObjects

For i = 0 to UBound(Polys)
  Param = Rhino.ObjectDump(Polys(i), 1)

  Pos1 = InStr(Param, "solid polysurface with")
  Pos2 = InStr(Pos1+23, Param, " ")
  Str = Mid(Param, Pos1+23, Pos2-Pos1-23)
'  Rhino.MessageBox("_"+Str+"_")

  If Str = CStr(Count) Then Rhino.SelectObject(Polys(i))

Next

Rhino.EnableRedRaw(vbTrue)

End Sub
Go to the top of the page
 
+Quote Post
WawaNN
сообщение 26/10/2009, 22:07
Сообщение #12


Однофамилец...
Иконка группы

Группа: Пользователи
Сообщений: 1 132
Регистрация: 07/02/2006
Из: Ю. Бутово
Пользователь №: 22 784



Batuhan, монстр! smile.gif

Я щас попробывал, после того как задал кличество сюрфов в полисюрфе, жмакаю ентер, и ничего дальше не происходит...
Go to the top of the page
 
+Quote Post
Batuhan
сообщение 26/10/2009, 22:09
Сообщение #13


Бывалый
Иконка группы

Группа: Пользователи
Сообщений: 112
Регистрация: 03/08/2005
Пользователь №: 15 305



А объекты выделял?
Go to the top of the page
 
+Quote Post
WawaNN
сообщение 26/10/2009, 22:13
Сообщение #14


Однофамилец...
Иконка группы

Группа: Пользователи
Сообщений: 1 132
Регистрация: 07/02/2006
Из: Ю. Бутово
Пользователь №: 22 784



Да, это я ступил, объект один только выделил, сейчас выделил все, ввел количество сюрфов, он все по количеству сюрфов отобрал. Вообщем все работает, МАЛАДЦА!
Batuhan, вещь полезная , пригодится, спасибо! smile.gif

Сообщение отредактировал WawaNN - 26/10/2009, 22:16
Go to the top of the page
 
+Quote Post
Batuhan
сообщение 26/10/2009, 22:18
Сообщение #15


Бывалый
Иконка группы

Группа: Пользователи
Сообщений: 112
Регистрация: 03/08/2005
Пользователь №: 15 305



Да незачто. smile.gif Кушайте на здоровье.
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






2 страниц V   1 2 >
Reply to this topicStart new topic

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 29/03/2024 - 08:04