Au fait il y a une "Super Ruby Console Web" by Jim Foltz
Ce qui vous permettra par exemple de bidouiller mes premiers essais de Ruby "one line" (une peu grosse d'accord) 💚
Avec mes remerciements à Tig, Thomthom et Chris Fullmer qui m'ont gentiment aiguillé mais hélas j'ai ensuite abandonné n'étant pas trop en phase avec ce langage! 😞
Concept qui a été repris et fortement complexifié avec brio par CPlassais qui en a fait le célèbre et fameux "Eclate - Déplace" ! Bravo à lui, un ruby maker émérite! 😎
http://www.id2sorties.com/id2photos/5907205456neig.jpg
Il suffit de presser sur "eval" dans la console! Voir le post suivant pour l'utilisation de la console! 😄
Cela "écarte" les objets les uns des autres! 😄
Comme quoi en 30 lignes on peut faire du mal! 💚
model = Sketchup.active_model
entities = model.entities
selection = model.selection
xp=100 # Pivot Point (as you want)
yp=100
zp=100
q=50 # Measure of translation (as you want)
selection.each do |e| # update!
# Skip all entities that aren't groups or components (replace follow "ComponentInstance" by "Group" if you have groups
next unless e.is_a? Sketchup;;ComponentInstance # Now we process the component or group
center = e.bounds.center #Center Point of the grouped object
xc= center.x
yc= center.y
zc= center.z
xe=xc #End Point of the grouped object
ye=yc
ze=zc
if xc<xp
xe =xc - q
end
if xc>xp
xe =xc + q
end
if yc<yp
ye =yc - q
end
if yc>yp
ye =yc + q
end
if zc<zp
ze =zc - q
end
if zc>zp
ze =zc + q
end
point = Geom;;Point3d.new xe,ye,ze
t = Geom;;Transformation.new point
# Apply the transformation
e.transform!(t)
end
http://sketchucation.com/forums/download/file.php?id=30749