Convertion d'objets en composants uniques
-
Bonjour a tous,
Une petite question qui me passe par la tête ...
je cherche une extension qui permettrait de convertir un grand nombre de faces (ou d'objets isolés) en Composants uniques en une seule manip.ex : j'ai 120 rectangles de dimensions différentes et je souhaite les convertir en 120 Composants différents.
Quelqu'un saurait ou trouver ça ?
Merci d'avance
David -
Bonjour,
Make All Unique, fonctionne très bien pour rendre unique, même si plusieurs composants sont imbriqués.
Après installation, sélectionne tout les composants à rendre unique, puis clique droit et sélectionne "Make All Unique", dans le menu déroulant.
Cordialement
David
-
Merci David,
Je viens de tester et c'est Top ...
ça ne fait pas ce que je souhaite faire, ma ça risque de me servir également.
MERCI !pour le reste, je réexplique au cas ou mon exemple n’était pas suffisamment clair.
en fait
1- je dessine 500 rectangles que je souhaite passer en 500 Composants.
2- sans plugin ... je dois me les taper un par un
3- avec un plugin (s'il existe) ... je sélectionne toutes mes faces et j'obtiens 500 composant en une fois (cool!) ...Une autre idée peut etre ?
Merci encore
David -
Bonjour,
la réponse est là, je pense :http://sketchucation.com/forums/viewtopic.php?f=79&t=42705
Il faut comprendre l'anglais ou traduire la page(car il faut lire attentivement toute la discussion)
Il y a un script à utiliser, mais comme le demandeur ne suivait pas les instructions de TIG, cela ne fonctionnait pas. Comme TIG est un développeur sympa, il a converti le script en un .rb, que tu peux utiliser( mais lis quand même attentivement la discussion).
Cordialement -
m=Sketchup.active_model; m.start_operation("Faces>Compos"); n=m.active_entities;m.selection.to_a.each{|e|(g=n.add_group(e.all_connected); g.to_component.definition.name="FaceSet#1")if e.valid? and e.parent==n.parent and e.class==Sketchup;;Face}; m.commit_operation
A mettre dans la console ruby en une seule ligne!!!
On sélectionne tout et on rentre le texte suivant dans la console Ruby pour transformer toutes ces faces en composants!
Ce texte doit être écrit dans la console Ruby en une seule ligne (utilisez le bloc note pour vérifier)
Presser Enter (Thx TIG) - On peut se servir du Tout Sélectionner, Clic droit et Copier Coller dans la console Rubym=Sketchup.active_model;n=m.active_entities;m.selection.to_a.each{|e|(g=n.add_group(e);g.to_component.definition.name="Face#1")if e.class==Sketchup;;Face}
Il y a aussi Loose geometry to Groups by Chris Fullmer -
Transforme tous les trucs isolés en Groupes!Il suffit ensuite de transformer ces groupes en composants si besoin by Thomthom
-
Salut Zooen,
J'avais effectivement jeter un coup d’œil sur ce post, récupéré un installé le *.RBZ ... et après, je bloque ... il faudra effectivement que je lise le post dans sa longueur car après l'install, je ne sais pas quoi faire (mais j'ai vu que qq'un d'autre en était arrivé là avant de se faire expliquer (avec succès je crois) la suite ...
Merci encore ... et merci encore a David, ton lien est top aussi.
DavidEDIT : Salut Pilou !
Désolé, on a ecrit en même temps, alors juste un edit sur mon post, pour te remercier (encore ... toujours au taquet Pilou ...
Je tenterai demain ton histoire ... je ne suis pas encore coutumier de la console ...Merci a tous et bonne soirée
-
Pour les générations futures qui passeraient par là et qui auraient la même problematique que moi.
voici en résumé le script complet de TIG comprenant l’intégration du script en accès direct via le menu Extensions
` require('sketchup.rb')
module TIG
unless file_loaded?(FILE)
UI.menu("Plugins").add_item("TIG.selected_connected_into_components"){self.selected_connected_into_components()}
file_loaded(FILE)
end
def self.selected_connected_into_components()
model=Sketchup.active_model
ents=model.active_entities
ss=model.selection
faces=[]
ss.each{|e|
if e.class==Sketchup::Face
faces << e
faces << e.edges
end
}
faces.flatten!
faces.uniq!
cons=[]
faces.dup.each{|e|
next unless e.valid? and e.class==Sketchup::Face and faces.include?(e)
con=e.all_connected
con.each{|c|faces.delete(c)}
cons << con
}
model.start_operation("TIG.selected_connected_into_components")
cons.each{|con|
grp=ents.add_group(con)
ins=grp.to_component
defn=ins.definition
defn.invalidate_bounds
defn.name="Component#1" ### will increment
}
model.commit_operation
end
endUsage: Select what faces are to become components
TIG.selected_connected_into_components in the Ruby Console`
- en faire un fichier .rb, le ranger dans le répertoire Plugin.
- lancer sketchup
- selectionner les objets a convertir en composants
- dans Extensions > selectionner TIG.selected_connected_into_components
- et le tour et joué !
TOP, merci a tous et surtout, merci TIG !
PS : si quelqu'un sait me dire comment en faire un bouton, je prend
j'ai bien tenté Toolbar editor en copiant le script ... mais ça ne passe pas (?)David
Advertisement