No allora ricapitolo in ordine:
Nella cartella "utente di FreeCAD", quella dove ci sono i file di sonfigurazione, i WB e le Macro esiste una sottocartella
Mod
Passo 1:
Crei in quella sottocartella una cartella chimata
Bolts.
Passo 2:
nella cartella
Bolts crei un file chiamato
Init.py nota la maiuscola all'inizio del file, (magari in windows non importa ma in Linux sì)
in quel file metti queste righe:
Code: Select all
"""The Bolts initialization."""
print("Initialize Bolt")
import Bolts
salvi e chiudi.
Passo 3:
Sempre nella cartella
Bolts rinomini il tuo file
bolts.py in
Bolts.py
e modifichi le prime righe in questo modo:
Code: Select all
import FreeCAD
import Part
from FreeCAD import Base
import math
__name__ = "Bolts"
### fino a qui togli tutto dalla riga seguente in poi va bene tutto.
class Bolt:
L'ultima riga, quella che invoca
makeBolt() la cancelli semplicemente.
Ora se lanci FreeCAD, viene eseguito il file
Init.py che in pratica non fa nulla, se non dire a FreeCAD che in quella cartella esiste qualcosa che è disponibile. Apparentemente c'è un meccanismo ulteriore per far caricare in maniera automatica Bolts e renderla disponibile, come libreria.
Ma nella documentazione non è specificato bene il meccanismo, solo per
InitGui.py è specificato uno schema di classe per inizializzare le cose, ma genera errori anche perché non ci sono altre cose da generare, non stiamo creano un WB completo, solo rendendo disponibile a FreeCAD delle cose.
Ora se nella console Python batti "a mano":
vedrai che non genera nessun errore
e se batti:
Ti dovrebbe creare se è tutto a posto il tuo bullone di default, permettendoti anche di modificarne le proprietà e di vedere le modifiche.
Devi comunque creare a mano un file di "disegno" con il menu nuovo file o con il bottone apposito, altrimenti dato che non hai messo dei check nella routine makeBolt per l'esistenza di un
FreeCAD.ActiveDocument e l'eventuale creazione se non presente, ti darà errore.
Se salvi il file di "disegno" ad esempio come
test-bolts.FCstd chiudi tutto, anche FreeCAD, riapri FreeCAD e carichi
test-bolts.FCstd dovrebbe andare tutto senza errori.
Nota però che Windows è famoso per fare casini con i permessi di lettura e scrittura per cui se hai problemi, verifica i permessi di lettura e scrittura dei file nella cartella utente di FreeCAD.
in altri programmi c'è gente è diventata autenticamente matta prima di scoprire la cosa, il problema era legato al fatto che quel programma cercava il "file di licenza" nella directory utente e dato che era un file con un chiave alfanumerica lunga lo si copiava semplicemente dalla e-mail e lo si incollava nella "cartella utente" del programma.
All'avvio il programma non trovava il file e continuava a rompere le scatole che la versione non era autorizzata, fino a che non si sistemava l'inghippo dei permessi che cambiavano a seconda se si eseguiva il programma in automatico o lo si avviava in manuale con un file bat se non ricordo male.
Spero di essere stato maggiormente chiaro.
Saluti
Carlo D.