Index of entity
-
I want to find the index number of a single selected entity (componentInstance or group) in a model but I just cannot find any coding recognisable to me. Any help gratefully received.
Chris
-
id=Sketchup.active_model.selection[0]Is that what u r looking for ?
or
id=Sketchup.active_model.selection[0].id?
orSketchup.active_model.selection[0].entityID?
-
Hi !
I don't know if it's what you want, but here is a code counting components like the selection.class Sketchup;;ComponentInstance def count cn = 0 cdef = self.definition.name sel = Sketchup.active_model.active_entities sel.each do |ent| if ent.typename == "ComponentInstance" if ent.definition.name == cdef cn +=1 end end end cn end endExample : Sketchup.active_model.selection[0].count
I don't know how to with groups yet ! I believe that each group is unique, no ?
I will see... -
Hey Matt - your code isn't complete.
If you want to find all the occurrences of a component, you can't just search the top level of all entities. You'll need to drill into Groups and other Components as well.

Todd
-
Hello Todd !
Ooh !! Excuse me !class Sketchup;;ComponentInstance def count @cn = 0 boucle Sketchup.active_model.active_entities, self.definition.name @cn end end #class def boucle(entities, nam) entities.each do |entity| case entity.typename when 'Group' boucle entity.entities, nam when 'ComponentInstance' @cn +=1 if entity.definition.name == nam boucle entity.definition.entities, nam end end endThank you !
-
Hey men, don't re-invent the wheel...
count = component_definition.count_instances
Stock methods seems much more simple too me. -




Grmbl !
Merci didier !!
-
Didier, tu as trouvé cette fonction où ??? Et yen a encore beaucoup des comme ça ???

Didier, where have you found it ??? -
Thank you for all your suggestions. I am sorry to report that I can't get any of them to give me the entity array index number for the selected entity. I guess there is something I have done elsewhere that I do not yet have the experience to spot - I will keep your suggestions for later. I think it only natural to want to click on the images if the nameset is in the same screen as sketchup but I can get the index number from the javascript that spins out the entities. But I can't get the entity to show as selected. Is this possible? Attached are a couple of shots indicating what I can manage. Thanks again.
Chris
PS The main point is purely to show what has been selected , particularly important when there are many of the same components. I plan for Javascript to handle defining of relationships, alignments and so on. The screen is then cleared and entities respun out.


-
-
-
La doc la moins mauvaise est celle de SU lui-même...
Quand je ne sais pas quelles méthodes sont valides sur un objet, j'en sélectionne un exemplaire dans le modèle, et dans la console Ruby:
a=Sketchup.active_model.selection[0] a.methodsCela renvoie toutes les méthodes applicables à ce type d'objet.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register LoginAdvertisement