Outils pour utilisateurs

Outils du site


coulface

FreeCAD : Changer la couleur d'une face

Cette option n'existe pas nativement dans FreeCAD 0.17. Merci à <mario52> pour son post dans le forum.

  1. Enregistrer la macro ci-dessous
  2. Sélectionner une ou plusieurs face(s)
  3. Lancer la macro et choisir la couleur

Macro

CoulFace.txt
# -*- coding: utf-8 -*-
 
__title__   = "Macro_Colored_Faces"
__author__  = "Mario52"
__url__     = "http://www.freecadweb.org/index-fr.html"
__Wiki__    = ""
__version__ = "00.00"
__date__    = "19/02/2017"
 
import PySide
from PySide import QtCore, QtGui
 
couleur = QtGui.QColorDialog.getColor()
 
if couleur.isValid():
    r = int(str(couleur.name()[1:3]),16)
    v = int(str(couleur.name()[3:5]),16)
    b = int(str(couleur.name()[5:7]),16)
 
    try:
        a = FreeCADGui.Selection.getSelectionEx()    # selection sous objet
        aa = FreeCADGui.Selection.getSelection()     # selection objet
 
        cols = colors = []
        cols = FreeCAD.ActiveDocument.getObject(aa[0].Name).ViewObject.DiffuseColor
 
        if len(cols) == 1:
            for i in aa[0].Shape.Faces:
                colors += [(cols[0])]
        else:
            colors = cols
 
        for i in range(len(aa)):
            fce = int(a[0].SubElementNames[i][4:])-1
            colors[fce] = (float(r)/255,float(v)/255,float(b)/255,0.0)                         
            aa[i].ViewObject.DiffuseColor = colors 
        print colors
    except Exception:
        print "Select one face"
else:
    print "Aborded"
Ce site web utilise des cookies pour son fonctionnement mais ne collecte aucunne données personnelles, n'effectue aucun traitement de données ni d'affichage de publicité. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site. Politique de confidentialité En savoir plus
coulface.txt · Dernière modification : 2024/02/14 14:25 de 127.0.0.1