Macro Repro Wire
File:Macro ReproWire Macro_ReproWire |
Description |
---|
Cette macro fait une copie de l'objet ou subObjet sélectionné. Auteur: Mario52 |
Auteur |
Mario52 |
Téléchargement |
None |
Liens |
Page des macros Comment installer une macro Comment créer une barre d'outils |
Version Macro |
1.0 |
Dernière modification |
None |
Version(s) FreeCAD |
None |
Raccourci clavier |
None |
Voir aussi |
None |
Description
Cette macro crée une copie de l'arête, face, objet ou sous objet sélectionné.
Use
Select your object and run the macro for create your copy, you can extrude created faces.
Les copies sont colorées en rouge et renommées en Shapexxx + nom original
Script
Macro_ReproWire.FCMacro the icon for the toolbar
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import codecs #https://docs.python.org/2/howto/unicode.html
import Part,Draft
#
#__title__="Macro_ReproWire"
#__author__ = "Mario52"
#__url__ = "http://www.freecadweb.org/index-fr.html"
#__version__ = "00.01"
#__date__ = "24/10/2015"
#
sel = Gui.Selection.getSelection()
s = Gui.Selection.getSelectionEx()
try:
if len(sel) != 0:
print "Object(s) : ", len(sel), " , SubObject(s) : ", len(s)
i2 = ii2 = -1
for i in s:
i2 += 1
ii2 = -1
try:
FreeCADGui.Selection.getSelectionEx()[i2].SubObjects[ii2]
for ii in i.SubElementNames:
# print "SubObject"
ii2 += 1
Part.show(FreeCADGui.Selection.getSelectionEx()[i2].SubObjects[ii2].copy()) # create repro shape subObject
print i2+1 ,"/", ii2+1 ,"/", len(s) ," ", i.ObjectName ," ", ii # display the info SubObject
a = App.ActiveDocument.ActiveObject
# object Name / original object Name / SubObject Name
a.Label = a.Name + " " + i.ObjectName + " " + ii # Label for the repro shape
try:
FreeCADGui.activeDocument().activeObject().LineColor = (1.0,0.0,0.0) # give LineColor
FreeCADGui.activeDocument().activeObject().PointColor = (1.0,0.0,0.0) # give PointColor
FreeCADGui.activeDocument().activeObject().ShapeColor = (1.0,0.0,0.0) # give ShapeColor
except Exception:
None
except Exception:
# print "Not SubObject"
Part.show(sel[i2].Shape) # create repro shape object
print i2+1 ,"/", ii2+1 ,"/", len(s) ," ", sel[i2].Name # display the info SubObject
a = App.ActiveDocument.ActiveObject
# object Name / original object Name
a.Label =a.Name + " " + sel[i2].Name # Label for the repro shape
try:
FreeCADGui.activeDocument().activeObject().LineColor = (1.0,0.0,0.0) # give LineColor
FreeCADGui.activeDocument().activeObject().PointColor = (1.0,0.0,0.0) # give PointColor
FreeCADGui.activeDocument().activeObject().ShapeColor = (1.0,0.0,0.0) # give ShapeColor
except Exception:
None
else :
print "Select one object"
except Exception:
print "Unexpected error"
Version
00.01 24/10/2015 : extension to all objects
00.00 22/10/2015 :
Links
The forum are there any tools to extrude only selected surface from a sketch?