kfactor e radius Sheet Metal

Forum per le domande e le discussioni in Italiano
Forum rules
regole del forum e le informazioni utili

Importante: PRIMA di chiedere aiuto leggete qui!
Fra88
Posts: 8
Joined: Fri Mar 09, 2018 8:27 pm

kfactor e radius Sheet Metal

Postby Fra88 » Fri Dec 28, 2018 11:01 pm

Buona sera a tutti. Da un po' di tempo sto utilizzando il workbench Sheet Metal per piccoli progetti casalinghi.
Vorrei sapere se è possibile settare i valori di default per il fattore neutro (kfactor) ed il raggio di piega (radius) per tutte le pieghe del disegno.
Non trovando niente, ho provato a costruire una macro per il kfactor, ma non essendo esperto, mi sono bloccato nella ricerca dei nomi delle pieghe presentinel disegno...
Di seguito quello che ho fatto:

K=0.1
FreeCAD.ActiveDocument.getObject("Bend").kfactor=K
FreeCAD.ActiveDocument.getObject("Bend001").kfactor=K
...
FreeCAD.ActiveDocument.recompute()

Se si riuscisse ad eseguire iterativamente il comando su tutte le pieghe, si avrebbe la soluzione.
Qualcuno conosce una via più semplice?
Grazie in anticipo.
User avatar
easyw-fc
Posts: 2411
Joined: Thu Jul 09, 2015 9:34 am

Re: kfactor e radius Sheet Metal

Postby easyw-fc » Sat Dec 29, 2018 9:39 am

Fra88 wrote:
Fri Dec 28, 2018 11:01 pm
Buona sera a tutti. Da un po' di tempo sto utilizzando il workbench Sheet Metal per piccoli progetti casalinghi.
Vorrei sapere se è possibile settare i valori di default per il fattore neutro (kfactor) ed il raggio di piega (radius) per tutte le pieghe del disegno.
Non trovando niente, ho provato a costruire una macro per il kfactor, ma non essendo esperto, mi sono bloccato nella ricerca dei nomi delle pieghe presenti nel disegno...
Di seguito quello che ho fatto:

K=0.1
FreeCAD.ActiveDocument.getObject("Bend").kfactor=K
FreeCAD.ActiveDocument.getObject("Bend001").kfactor=K
...
FreeCAD.ActiveDocument.recompute()

Se si riuscisse ad eseguire iterativamente il comando su tutte le pieghe, si avrebbe la soluzione.
Qualcuno conosce una via più semplice?
Grazie in anticipo.
Ciao,
puoi usare questo codice:

Code: Select all

#!/usr/bin/python
# -*- coding: utf-8 -*-

import FreeCAD, FreeCADGui

k = 0.1
sel = FreeCADGui.Selection.getSelection()
if len(sel) > 0:
    for o in sel:
        if hasattr(o,'kfactor'):
            o.kfactor = k
    FreeCAD.ActiveDocument.recompute()
    print('kfactor assigned to:',k)
La macro funziona sula selezione che operi nel documento.
Sarà sufficiente selezionare la 'Bend' più 'esterna' per cambiare tutte le 'Bends'
Fra88
Posts: 8
Joined: Fri Mar 09, 2018 8:27 pm

Re: kfactor e radius Sheet Metal

Postby Fra88 » Sat Dec 29, 2018 11:49 am

Grazie mille per la risposta, oggi pomeriggio faccio una prova, se funziona proverò a modificare il codice per poter variare anche il raggio di piega. Buona giornata
Fra88
Posts: 8
Joined: Fri Mar 09, 2018 8:27 pm

Re: kfactor e radius Sheet Metal

Postby Fra88 » Sat Dec 29, 2018 12:31 pm

Ciao easyw-fc.
Ho fatto un test.
Per rendere la cosa visibile, ho modificato lo script sostituendo la variabile kfactor con radius.
Selezionando la piega più esterna, lo script agisce solo su questa.
Selezionando tutte le pieghe invece, lo script lemodifica tutte.

Per il resto sembra funzionare bene.
Buona giornata.
User avatar
easyw-fc
Posts: 2411
Joined: Thu Jul 09, 2015 9:34 am

Re: kfactor e radius Sheet Metal

Postby easyw-fc » Sat Dec 29, 2018 10:51 pm

Ciao,
se vuoi questa versione modifica tutte le pieghe del documento attivo:

Code: Select all

#!/usr/bin/python
# -*- coding: utf-8 -*-

import FreeCAD,FreeCADGui

k = 0.3
doc = FreeCAD.ActiveDocument

for o in doc.Objects:
    if hasattr(o,'kfactor'):
            o.kfactor = k
    FreeCAD.ActiveDocument.recompute()
    print('kfactor assigned to:',k)