Étape 3: Python Script - partie 1
Dans cette étape, nous allons écrire un python script qui extrait les valeurs de la base de données en ligne et détermine l’épaisseur de paroi correcte basée sur ces valeurs. Dans l’étape suivante nous allons étendre ce script pour générer un modèle 3D de la serre. (le script est jointe dans cette étape).
Tout d’abord, ouvrez la Fusion 360 et cliquez sur "Scripts et Add-Ins" dans la barre d’outils. Assurez-vous que vous êtes sur l’onglet scripts, puis cliquez sur le bouton créer. Une nouvelle boîte de dialogue s’affiche. Sélectionnez le script, puis python et donnez à votre script un nom, description et auteur. Cliquez sur créer pour fermer la boîte de dialogue. Sélectionnez votre nouveau script et puis cliquez sur modifier, cela va amener les Spyder pour ouvrir. Spyder est un python édition interface qui est intégrée à la Fusion, donc vous allez faire toutes les émissions ici.
Au début du fichier, ajoutez ces lignes de code :
adsk.core, adsk.fusion importations urllib.request #from html.parser importations xml.etree.ElementTree importation HTMLParser comme ET d’importation
L’étape suivante consiste à faire quelques définitions variables. Ici nous allons définir la taille de la serre, et comment chaud, nous voulons l’intérieur pour être. À l’avenir, le script peut inviter l’utilisateur à ce qu’ils veulent se développer dans la serre, et puis il pourrait tirer de la température correcte d’une autre base de données. Pour l’instant la température sera défini par l’utilisateur bien. Ici nous l’avons définie à 100 ° F.
### DÉFINITIONS DE VARIABLE
### Préféré à l’intérieur de la température [F]
insideTemp = 100
### La taille de la serre [ft]
wallHeight = 6
roofHeight = 9
largeur = 10
longueur = 10
### par défaut d’épaisseur de l’isolation, en cm
isolation = 10
### Efficacité de flux solaire
efficacité = 0,1
Ces prochaines lignes font l’analyse XML. À la fin de ce bloc de code, les variables outsideTemp et le flux a les valeurs que vous avez entré dans la base de données XML.
### TRACTION ENTRÉES DE BASE DE DONNÉES XML
réponse = urllib.request.urlopen ("URL de votre XML")
pageContentsBytes = response.read()
pageContents = pageContentsBytes.decode("utf-8")
# convertir un objet d’octets en chaîne
arbre = ET.fromstring(pageContents)
outsideTemp = int(tree.find('temp').text)
flux = int(tree.find('flux').text)
# Quelques déclarations impression utiles pour le débogage
imprimer (' hors du Temp: ', outsideTemp, « F »)
imprimer (« Flux de chaleur solaire: ', flux, ' Btu/hr/ft ^ 2')
Une fois que nous avons les valeurs de température et le flux, l’étape suivante consiste à les brancher sur l’équation 8 et résoudre pour l’épaisseur de la paroi. Faire que, nous avons besoin de savoir quelques domaines différents (comme et à) nous calculons donc ces premiers. Notez également que toutes les variables de longueur sont finalement convertis en cm, c’est parce que nous allons utiliser l’API de Fusion dans l’étape suivante, et il utilise cm comme unité par défaut.
### CALCULER L’ÉPAISSEUR DE PAROI
# calculer les zones, en pi ^ 2
floorArea = (largeur * longueur)
sideArea = 2*(length*wallHeight)
frontBackArea = 2*(width*wallHeight) + ((roofHeight-wallHeight) * largeur) roofArea = 2 * (((roofHeight-wallHeight) ** 2 + (width/2) ** 2) ** 0,5) * longueur
totalArea = floorArea + sideArea + frontBackArea + roofArea
sunArea = roofArea ### zone au soleil est approchée pour être à la surface du toit !
# Quelques déclarations impression utiles pour le débogage
imprimer (« surface de plancher: ', floorArea, ' ft ^ 2')
imprimer (« superficie totale: ', totalArea, ' pi ^ 2')
imprimer ("zone soleil: ', sunArea, ' pi ^ 2')
# convert ft cm
wallHeight = wallHeight * 30, 48
roofHeight = roofHeight * 30, 48
largeur = largeur * 30, 48
longueur = longueur * 30, 48
flux de # est mesurée en Btu/hr/ft ^ 2
isolation = (totalArea * (insideTemp - outsideTemp)) / (sunArea * l’efficacité * flux * 6.5)
imprimer (' épaisseur d’isolation: ', isolation, « po »)
# convertir les pouces en cm
isolation = isolation * 2,54
De ce point, toutes les dimensions de la serre doivent être définie, et la prochaine étape doit effectivement générer le modèle à effet de serre.