Jump to content
Lzja

maya python: Random selection

Recommended Posts

hej,

 

zaczynam naukę pisania skryptów w pythonie i mam takie proste pytanie.

Mam niecałe 1k obiektów, i chciałbym żeby cześć z nich została zaznaczona. Napisałem taką prostą pętle ale nie działa. Proszę o jakieś rady.obiekty nazywaja się file1_# czyli file1_1,file1,_2 itd

 

import maya.cmds as cmds

import random

 

 

Idu = random.uniform(0, 967)

 

 

nameD=["geo1|file1_",+Idu]

 

 

for i in range(0,100):

# cmds.ls(nameD)

cmds.select(nameD,replace=True)

Edited by Lzja

Share this post


Link to post
Share on other sites

napisałem sobie coś podobnego w melu:

 

select -r "*file1_*";

 

string $selekcja[] = `ls -os -fl`;

string $selekcjaNowa[];

clear $selekcjaNowa;

 

for ($licznik = 0; $licznik

if ( rand(0,1)> 0.5 ) $selekcjaNowa[size($selekcjaNowa)] = $selekcja[$licznik];

 

select -r $selekcjaNowa;

 

 

 

Co prawda skrypt w założeniu zostawiał losową selekcję z zaznaczenia, lecz nie szkodzi mu to zaznaczenie wymusić w pierwszej linii.

Budowana jest tablica z nową selekcją - tak by setki tysięcy obiektów/vertexów nie zaznaczały się po kolei blokując viewport.

Powinieneś z łatwością przepisać to pod pythona.

Share this post


Link to post
Share on other sites

Możesz użyć random.sample

https://docs.python.org/2/library/random.html

 

import maya.cmds as cmds
import random

# clear the active list
cmds.select( clear=True )

# select all dag objects and all dependency nodes
cmds.select( all=True )

obj =cmds.ls( selection=True )

num_to_select = 5 # set the number to select here.
list_of_random_items = random.sample(obj, num_to_select)

# clear the active list
cmds.select( clear=True )

for item in list_of_random_items:
   cmds.select(item, add=True )

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy