Auto-genererade anpassade växthusgaser (4 / 7 steg)
Steg 4: Python skript - del 2
I det här steget kommer vi skriva python kod som bygger en 3D-modell av växthus i Fusion 360. Vi gör detta med hjälp av Fusion 360 API, som tillåter oss att skriva kodrader som motsvarar de som vi känner till i direkt modellering.
När du använder Fusion för att bygga en enkel form, är det första steget vanligtvis att dra ut en 2D skiss av en profil som vi vill pressa, och sedan pressa den. För växthuset, kommer vi också skal kroppen för att skapa en enhetlig väggtjocklek på alla sidor. Det följande kodblocket kommer att göra dessa operationer med rader kod.
## Dessa rader setup Fusion API
app = adsk.core.Application.get()
UI = app.userInterface
### SKISS
# Skapa en ny skiss på xy-planet.
skisser = rootComp.sketches
xyPlane = rootComp.xYConstructionPlane
skiss = sketches.add(xyPlane)
# Rita fem anslutna.
rader = sketch.sketchCurves.sketchLines
Line1 = lines.addByTwoPoints (adsk.core.Point3D.create (0, 0, 0), adsk.core.Point3D.create (bredd, 0, 0))
rad2 = lines.addByTwoPoints (line1.endSketchPoint, adsk.core.Point3D.create (bredd, wallHeight, 0))
line3 = lines.addByTwoPoints (line2.endSketchPoint, adsk.core.Point3D.create (bredd/2, roofHeight, 0))
Line4 = lines.addByTwoPoints (line3.endSketchPoint, adsk.core.Point3D.create (0, wallHeight, 0))
Line5 = lines.addByTwoPoints (line4.endSketchPoint, adsk.core.Point3D.create (0, 0, 0))
### EXTRUDERING
# Få profilen definieras av skissen
prof = sketch.profiles.item(0)
# Skapa extrudering indata
extruderar = rootComp.features.extrudeFeatures
extInput = extrudes.createInput (prof, adsk.fusion.FeatureOperations.NewBodyFeatureOperation)
# extInput definierar parametrarna för extrudering
# Definiera att omfattningen är en avstånd grad av längd
avståndet = adsk.core.ValueInput.createByReal(length)
# Ställ in avståndet omfattningen att vara ensidig
extInput.setDistanceExtent (falskt, distans)
# Set extrudering till en solid
extInput.isSolid = sant
# Skapa extrudering
ext = extrudes.add(extInput)
# ext är funktionen strängpressad
### SHELL
enheter = adsk.core.ObjectCollection.create()
entities.Add(ext.bodies.item(0))
# ta kroppen att göra en karossen
funktioner = rootComp.features
shellFeats = features.shellFeatures
isTangentChain = False
shellFeatureInput = shellFeats.createInput (enheter, isTangentChain)
tjocklek = adsk.core.ValueInput.createByReal(insulation)
shellFeatureInput.insideThickness = tjocklek shellFeats.add(shellFeatureInput)
Spara filen, gå tillbaka till Fusion, hitta skriptet i skript och tillägg popup-fönster och klicka på kör. Du bör se ditt växthus visas! Använda verktyget avsnitt under inspektera droppa ner till skiva din modell på mitten så att du kan kontrollera dimensionen av väggtjockleken.