xy : right unit | x: horizontal | y: vertical |
uv : left unit | u: horizontal | v: vertical |
airfoil file ( mostly *.dat ) |
DoubleColumn | QuadColumn read and writeable as *.quad |
StepList | CutPath read and writeable as *.cut |
go and cut it |
0 0 0 0 0 -10 0 -10 100 -10 100 -10 100 0 100 0 100 -40 100 -40 90 -40 90 -40 90 -30 90 -30 80 -40 80 -40 80 -30 80 -30 70 -40 70 -40 70 -30 70 -30 60 -30 60 -30 60 -40 60 -40 50 -40 50 -40 50 -30 50 -30 40 -30 40 -30 40 -40 40 -40 30 -40 30 -40 30 -30 30 -30 20 -30 20 -30 10 -40 10 -40 0 -40 0 -40 0 0 0 0
>>> q.rotate(0,0,0,0,10,-10) File "<stdin>", line 1 q.rotate(0,0,0,0,10,-10) ^ SyntaxError: invalid syntax >>> >>> q.rotate(0,0,0,0,10,-10) >>>
Command | Comment |
$ ./interactive.sh starting interactive Foamblade session ready |
#pull out the blade |
>>> d=DoubleColumn('Shapes/pw51.pro') | #at first get a nice airfoil |
>>> q=d.convertToQuadColumn() | #convert it into a usable quad |
>>> q.view() | #It begins to cut at the end of the foil, Ok
#Make also sure that the coordinates do not #jump around. |
>>> q.printContent() | #take a look at the numbers, you have to scale them later |
>>> q.getDimension() object size: 100.0 8.898 100.0 8.898 |
#it has 8.9% thickness |
>>> q.mirror_xu(50,50) | #flip it horizontally |
>>> q.view() | #do this often! |
>>> q.writeToFile('Shapes/pw51.quad') | #save copy to file |
>>> u=QuadColumn( q.getContentList() ) or >>> u=Quad(q) , works now too. |
#make also a backup copy to use it later
#you could also read it from file. |
>>> q.scale( 2,2,1.5,1.5) | |
>>> q.getDimension() object size: 200.0 17.796 150.0 13.347 |
|
>>> q.rotate(0,0,75,6.65,0,-1.5) | #rotate the left foil around its middle point |
>>> q.view() | |
>>> q.displace(-1,-1) | #add what the wire burns away #check out the direction (The algorithm has no idea about inside or outside of the foil, it just displaces in a direction) #if it doesn't fit (see the next command) load the file again, or use a #copy and use a positive value |
>>> q.getDimension() object size: 201.0162 19.7960 151.0162 15.3470 |
The foil has to be thicker after a displacement to an outer direction :). |
>>> q.writeToFile('Shapes/pw51_scaled_displaced_1mm.quad') | Write this to a file for future purposes |
>>> q.addOffset(10,0,10,0) | shift the complete path 10mm in x,u direction |
>>> q.writeToFile('Shapes/pw51_scaled_displaced_1mm_offset.quad') | |
>>> q.writeToFile('Shapes/pw51_scaled_displaced_1mm_offset.quad') | |
>>> | |
>>> u.mirror_yv(0,0) | #go on with the next wing ( remember up- and underside are flipped) |
>>> u.view() | #Oh, see next line |
>>> u.reverse() | #Begin to cut with the underside that is now at the upside |
>>> u.view() | |
>>> u.writeToFile('Shapes/pw51_upsidedown.quad') | |
>>> u.scale( 2,2,1.5,1.5) | |
>>> u.writeToFile('Shapes/pw51_uo_scaled.quad') | |
>>> u.view() | |
>>> u.getDimension() object size: 200.0 17.796 150.0 13.347 |
|
>>> u.rotate(0,0,75,6.65,0,1.5) | |
>>> u.view() | |
>>> u.displace(-1,-1) | |
>>> u.getDimension() object size: 201.016178886 19.7959687413 150.990936148 15.6145707681 |
|
>>> u.writeToFile('Shapes/pw51_scaled_uo_displaced_1mm.quad') | |
>>> u.addOffset(240,0,240,0) | |
>>> u.writeToFile('Shapes/pw51_scaled_uo_displaced_1mm_offset.quad') | |
. . . 230.6697 -1.1078 230.7192 -2.0284 #this is cut with different speeds #10mm near to the next 220.9959 -0.0905 170.7934 -2.0776 #this is cut with equal speeds since it's circa the same length on both sides #important object 210.9959 -0.0905 160.7934 -2.0776 210.9655 -0.343 160.7603 -2.2963 210.8839 -0.6654 160.681 -2.5727 210.7562 -0.9661 160.562 -2.8299 . . .>>> z=QuadColumn('Shapes/zaggi-ready.quad')
... Layer back-inside 25.000000 -0.000000 25.063812 1.657557 ... 25.004973 -0.462941 25.000000 -0.000000 Layer front-outside 21.054560 -0.000000 21.063377 1.049753 21.096900 2.299934 ....4)open filename-all.double in a text editor and separate the pathes front,back etc. from each other and save them into *.doubles
>>> e1out=DoubleColumn('../Extra/E-1out.double') >>> e2out=DoubleColumn('../Extra/E-2out.double') >>> qout=e1out.composeQuad(e2out) #uses the spline >>> qout.plView() >>> qout.writeToFile('../Extra/Extra-front-outside.quad') >>> e1in=DoubleColumn('../Extra/E-1in.double') >>> e2in=DoubleColumn('../Extra/E-2in.double') >>> qin=e1in.composeQuad(e2in) >>> qin.writeToFile('../Extra/Extra-front-inside.quad') >>> qin.appendPath(qout) >>> qin.plView() >>> qin.writeToFile('../Extra/Extra-front.quad')