"Auseinandersprengen"

Begonnen von hgdrn, 26 Jul 2023, 18:20

Vorheriges Thema - Nächstes Thema

hgdrn

Moin zusammen,

bevor ich mir jetzt ein Python-Script programmiere, obwohl es eine Builtin-Lösung gibt, folgende Frage:

Gibt es eine Möglichkeit, ausgehend von einem Punkt alle selektierten Elemente um X Millimeter auseinanderzusprengen, will meinen, alles was nördlich vom Punkt ist, soll um X mm nach Norden verschoben werden, alles was östlich vom Punkt ist, soll X mm nach Osten verschoben werden, etc. pp.

Ich habe hier öfters rechteckige Konturen mit einem definierten Mittelpunkt, wo ich für alle Seiten und darin/daneben liegende Elemente die Verschiebeaktionen in alle vier Himmelsrichtungen nacheinander durchführe, was sich prima automatisieren ließe.

Zur Verdeutlichung angehängtes Bild vorher/nachher: Die Elemente sollen alle jeweils 6 mm vom Punkt "wegfliegen", gerne mit nur einem Befehl und nicht mit vier einzelnen _Move

Danke, Dirk

Michael Meyer

Hallo Dirk,

spontan würde ich die Kurven mit 2DSkalieren und der Option Starr=Ja verschieben
(https://docs.mcneel.com/rhino/7/help/de-de/index.htm#commands/scale2d.htm). Die Kreise und Linien musst Du getrennt skalieren.

Oder die bessere Methode:
1. Erstelle aus den Einzelbereichen (Kreis und Linie) jeweils einen Block.
2. Skaliere die vier Blöcke mit PositionenSkalieren:
https://docs.mcneel.com/rhino/7/help/de-de/index.htm#commands/scalepositions.htm


Viel Glück

Michael

hgdrn

Danke Michael für die schnelle Antwort.

Ich habe ein paar Zeilen Code heruntergetippt und löse das nun ohne viel Gehampel über ein Script, siehe Anhang (da ich kein .py anhängen kann als copy&paste-geeignetes PDF).

Notiz (auch für mich selbst): Ich habe dafür eine neue Schaltfläche in der Werkzeugleiste angelegt, die das Script so startet:
! -_RunPythonScript "R:\Rhino\Scripts\MoveNEWS.py"

Vielleicht erweitere ich das Script irgendwann einmal um die ursprüngliche Idee, einen Mittelpunkt zu definieren und alle zu "sprengenden" Kurvenzüge auf einen Schlag zu verschieben, aber so geht es auch.