Macro Shake Sketch/it

Descrizione
Agita uno schizzo per scoprire le sue parti non vincolate. Entrare in modalità di modifica dello schizzo e lanciare la macro. La macro aggiunge un disturbo casuale su tutti i punti dello schizzo. Dopo il disegno viene risolto, le parti vincolate manterranno la loro posizione, parti libere si muoveranno.

Attenzione, lavorare su una copia del file perché la macro "smonta tutto" e si rischia di dover ricominciare da capo.

Install
Visible in Addon manager, but install is broken. For now only option is to manually install, but you have to take the code from "view source" from this wiki. The full code is there, but it does not render on the wiki.

Script
ToolBar Icon

Macro Shake_Sketch.py

QMessageBox.Cancel, QMessageBox.Ok)       shake_it = reply == QMessageBox.Ok        if not shake_it:            toggle_constraints(sketch, to_virtual)

if shake_it: nbr_moves = 0 for i in range(sketch.GeometryCount): did_move = move_points(sketch, i, sigma) if did_move: nbr_moves += 1

msg = 'Did {} moves. Sketch has a total of {} geometry entities.\n\n' msg = msg.format(nbr_moves, sketch.GeometryCount) open_verts = sketch.OpenVertices if open_verts: if len(open_verts) == 1: ov, form = 'one', 'vertex' else: ov, form = len(open_verts), 'vertices' msg += 'Sketch has {} open {}.'.format(ov, form) msg += ('\nA sketch with open vertices'               ' cannot be used to create a solid.') else: msg += 'Sketch is free from open vertices.'

msg += ('\n\nMenu: "Sketch/Validate Sketch..." can be used\n'           'for additional info about sketch status.') _ = QMessageBox.information(None, title, msg) toggle_constraints(sketch, to_virtual) print('Macro finished.')