3D files voor stabilo en roer

Ik wilde eens wat gaan stoeien met het frezen van vleugels en wil eerst beginnen met het stabilo en het roer. Op het internet kan ik geen moderne uitvoeringen vinden, alleen maar de symmetrische en naar mijn gegevens zijn het geen symmetrische profielen.

Wie heeft er een fatsoenlijk 3D file voor de 1,5 meter uitvoering
 
Ik heb recentelijk een klein Pyhton scriptje geschreven voor FreeCad. Daarmee kan ik .dat profielen toewijzen aan ribben op een vleugel met een bepaalde koorde, dikte, offset en washout. Het script maakt bezier curves van de profielen en combineert de ribbben tot een vleugel dmv een loft.

Die kan ik vervolgens exporteren naar stl om gcode te maken.

Ik kan het scriptje hier wel posten wanneer je dat wil.

De meeste 3d tekenprogrammas hebben overigens wel een plugin die zoiets kan.

Een ander idee is Profili. Misschien kan dat iets zijn. Ik ken het niet goed.
 
In FreeCad: Ga naar "Part Design". Start met een nieuw bestand en body/lichaam. Ga naar de python console en plak het onderstaande script.

Pas "hm51" aan om een gewenst profiel van disk te laden. Merk op dat je dus ook meerdere profielen kunt mengen door de "profiles" variabele aan te passen.

import Draft

# functie om .dat files in te lezen
def readProfile(fileName, chord, le, offset):
f= open(fileName,"r")
f.readline()
content = f.read()
f.close()
content = content.split()
vectors = []
for i in range(1, len(content)-1, 2):
vectors.append(FreeCAD.Vector(float(content)*chord, le+float(content[i+1])*chord, offset))
return vectors

# de te laden profielen
hm51 = "...profielen\\hm51.dat"

# welk profiel waar te gebruiken
offsets = [0.0, 5.0, 10.0, 20.0, 25.0]
profiles = [hm51, hm51, hm51, hm51, hm51]

# koordes
chords = [8.0, 8.0, 8.0, 6.0, 3.0]

# offset van het midden
les = [0.0, 0.0, 0.0, 1.5, 4.0]

# maak de ribben
ribs = []
for i in range(1, len(profiles), 1):
vectors = readProfile(profiles, chords, les, offsets)
ribs.append(Draft.makeBezCurve(vectors, closed=True))

App.ActiveDocument.Body.addObjects(ribs)

# loft de ribben
wing = App.ActiveDocument.addObject('Part::Loft','Loft')
wing.Sections = ribs
wing.Solid=True
wing.Ruled=False
App.ActiveDocument.recompute()



Met onderstaand resultaat:

vleugel.PNG
 
Gaaf.....:koud:


geeft helaas een foutmelding


f= open(fileName,"r")
^
IndentationError: expected an indented block
 
Laatst bewerkt:
ik zie nog wel meer fouten, blijkbaar heeft de editor alle instanties van [ i ] verwijderd.
en alle tabs zijn ook verdwenen.

de inhoud van functie readProfile() moet geïntendeerd worden.

ik zal vanavond het scriptje als attachment posten.
 
......
Een ander idee is Profili. Misschien kan dat iets zijn. Ik ken het niet goed.
Voor degene(n) die Profili niet kennen en willen zien/uitproberen, kom langs en je kunt zelf de mogelijkheden ontdekken. Ik heb het (ook WingCam), maar ben er ook nog niet veel mee bezig geweest.
 
Back
Top