The right wing : RiteWing assembly
new concepts : assembly - template of the "profile" type - import a class - intersection of the wing with the fuselage - JUMP GEAR and GEAR RBANK instructions - INSERT instruction |
The 3D model of the wings will help us understand a new concept, the concept of assembly. An
assembly is a part of the model which is stored in a separate file. Using assemblies brings
some advantages :
Before creating the "RiteWing" assembly, save your job. Then click on the first button on
the tool bar to create a new model. Enter "RiteWing" in the assembly name input data field. Do
not check the master project check-box. Validate by clicking on the OK
button. The right wing is based on a template class of the "profile" type. The intersection of the
wing with the fuselage (the "karman") will be calculated and generated automatically by
Create now a new class by activating the Template|New class menu option. Give it the "wing" name. Click on the profile and biconvex options. The default plane for this type of class is yOz : this is fine. The coordinates of the origin of the first template of the class are the following :
3.200 | -3.500 | -0.700 |
The origin of the "profile" template class is its trailing edge. Enter these numbers in the input data fields of the coordinates of the origin. Click on the button labeled set parameters. The template parameters edition window is displayed. Enter the numbers 5.700 et 0.900 respectively in the cord input data field and in the thick input data field. Enter the number 20.0 in the teta3 input data field. Accept the other default values. Validate the inputs by clicking on the OK button and then validate the template creation by clicking on the OK button.
We shall need two other templates in this class. The first one to build the tip, the other one to calculate the intersection of the wing with the fuselage. Create the templates with the following parameters :
x=15.000 | y=-1.500 | z=0.000 | cord=3.100 | thick.=0.300 |
x= 0.000 | y=-5.237 | z=-0.890 | cord=7.600 | thick.=1.500 |
Create a sub-assy called "WING". Make sure this sub-assy is selected and activate the Template|Cover template menu option. The "Wing" class should be the default one in the select template class list-box (if not, select it). Select the wing tip/simple option. Use the Up/Down arrows beside the 3-coordinate rows to select the templates the origin of which are located at :
3.200 | -3.500 | -0.700 |
15.000 | -1.500 | 0.000 |
Caution : the templates must appear in this order. As we created them in a rather odd order, you will have to make several attempts to get them sorted in this order. Once you have succeeded in this difficult task (you can do that !), accept the default values of the other parameters. If you want to have an idea of their meaning, click on the sample button (and then on the OK button to clear the sample window). Validate by clicking on the cover button. The Graphic Editor screen now displays the wing with its tip.
We shall now build the intersection of the wing with the fuselage. Create a sub-assy called "KARMAN". Activate the Template|Intersection menu option. An intersection definition window is displayed on the right of the screen. The "wing" and "fusetemp" classes are selected by default (guess what : they are the only one in the "RiteWing" assembly). Do not check the 3-profile intersection check-box. The templates the origin of which are located at :
0.000 | -5.237 | -0.890 |
3.200 | -3.500 | -0.700 |
are displayed in the base profile data field and in the external profile data field. If not, have them displayed by clicking on the Up/Down arrows beside the 3-coordinate rows. Validate by clicking on the OK button.
Aircraft Designer 2000 automatically generates the polygons of the intersection of the wing with the fuselage and stores them in the KARMAN sub-assy.Select the top view. Select the Desk. Create a polygon the vertices of which is aligned on the following existing points :
1.591 | -4.373 | -0.795 |
1.750 | 2.274 | -0.298 |
15.775 | -0.880 | 0.111 |
Declare it as a texture support.
Launch the
Model Editor and display the code page associated with the WING sub-assy. Insert a TEXTURE/LIMITS combined instruction pair at the beginning of the code list. Assign the "rwing" file to the TEXTURE instruction and give it the full and top attributes. Assign the texture support that you have just created to the LIMITS instruction. Do the same thing in the code page associated with the KARMAN sub-assy. Exit the Model Editor.You should save your job. Store it in a file that you will call "RiteWing".
We shall now take care of the gear. As with the moving surface, the instruction which controls the retraction of the gear rotates it around the origin of the model. Therefore, we shall better draw it as if it was geared around the origin and then translate it.
Create a "GEAR" sub-assy. We shall proceed as we did with the tail wheel. Select the side view. Activate the Draw|Shape|circle(12) option. Enter the number 1.000 as radius of the circle. Put the center at :
0.000 | 0.000 | -3.400 |
Select the L option. Draw the circle by clicking on the draw button. Declare the circle that you have just created as a seal and as a texture support : we shall need it later on.
Activate the Draw|Build cylinder menu option. Enter
0.460 | 0.000 | 0.000 |
in the input data fields of the coordinates of the vector. Do not check the truncated by a plane check-box. Select the GEAR sub-assy as the destination sub-assy. Validate by clicking on the build button. Select the Desk. Click on a point located at :
y = -1.000 | z = -3.400 |
to select the circle that was created by
Aircraft Designer 2000 to build the cylinder. Flip it (Draw|Flip menu option) and move it into the GEAR sub-assy (Sub-Assy|Move to sub-assy menu option).Launch the
Model Editor and display the code page associated with the GEAR sub-assy. Insert a TEXTURE/LIMITS instruction at the beginning of the code list. Assign the "rwing" file to the TEXTURE instruction and give it the half1 and side attributes. Assign the texture support that was created with the circle to the LIMITS instruction :ymin, ymax : | -1.000 | 1.000 |
zmin, zmax : | -4.400 | -2.400 |
As we intend to add another part to this sub-assy, go to the end of the list and insert a
RETURN instruction (therefore, there will be two RETURN instructions at the end of the list). Exit the Model Editor .To design the gear, select the top view. Enter -2.400 in the plane input data field in the lower right corner of the screen. In the Desk, create a polygon with the following vertices :
-0.040 | 0.000 | -3.400 |
-0.200 | 0.180 | -3.400 |
-0.360 | 0.000 | -3.400 |
-0.200 | -0.180 | -3.400 |
Activate the Draw|Build cylinder menu option. Enter the following numbers :
0.000 | 0.000 | 3.400 |
in the input data fields of the coordinates of the vector. Do not check the truncated by a plane check-box. Select the GEAR sub-assy as the destination sub-assy. Validate by clicking on the build button. Launch the
Model Editor and display the code page associated with the GEAR sub-assy. Select the line #19 (the first of the four polygons that were just created). Insert a GCOLOR instruction with the index #2 (grey). Transform the type of the following four polygons into GPOLY polygons.Go back to the top of the instruction list. Insert a
JUMP PLANE/GOSUB.../RETURN instruction block at the beginning of the list (SHIFT+INSERT). This block will help the flight simulator viewer make the difference between the wheel and the gear. Double-click on the question mark in the data field of the JUMP PLANE instruction, point the finger on the GOSUB instruction at line #7 (the first which follows the RETURN) and click on it. Assign the "G01" label to this GOSUB instruction. Double-click on the data field of the PLANE instruction and click on one of the blue-green arrows to select the seal plane that was declared with the wheel circle a few moments ago :distance : | 0.000 |
coordinates : | 0.000, 1.000, 0.000 |
Give the "WHEEL" label to the instruction #10 (the
TEXTURE one) and the "G02" label to the instruction #27 (the GCOLOR one). Complete the undefined destination addresses in order to get something like this :GEAR | SUBASSY,T | click to come back |
JUMP PLANE | G01 | |
PLANE | 0.000;0.000,1.000,0.000 | |
GOSUB | G02 | |
GOSUB | WHEEL | |
RETURN | ||
G01 | GOSUB | WHEEL |
GOSUB | G02 | |
RETURN | ||
WHEEL | TEXTURE | Pilot |
... |
Go back to the main code page. We shall generate the main code list in order to comply with the following logical breakdown :
position of the observer with respect to the plane y=3.200 | |
side#1 : | first display the wing and the gear (W01), then the karman |
side#2 : | first display the karman, then the wing and the gear (W01) |
W01 : | if the gear is retracted, then display the wing, if not... |
position of the observer with respect to the wing intrados | |
side#1 : | first display the gear then the wing |
side#2 : | first display the wing then the gear |
The conditional retracted gear jump instruction is unknown to you at the moment. We shall ignore it for a few more minutes. Let us generate the two
JUMP PLANE/GOSUB.../RETURN instruction blocks. You know how to do that (the SHIFT+INSERT method) : insert two of these blocks at the beginning of the instruction list.Assign the destination addresses of the two
JUMP PLANE instructions (W10 and W11). Then have the the PLANE instructions completed with the adequate seal planes. A few go-and-return from the main screen of Aircraft Designer 2000 to the Model Editor will do the job. The seal planes to be declared and used are :- The "wing" template located at coordinate x = 3.200 (you must first select the priority template mode by clicking on the tmp button, then select the appropriate template by clicking on one of its vertices and finally activate the Utilities|Add template to seals menu option). This seal plane will be assigned to the first undefined
PLANE instruction of the main code page.- The polygon which was created at the intrados of the wing when it was generated by
Aircraft Designer 2000. Go back to the main screen and select the priority chain mode (chn button). Select the WING sub-assy and press the C key as many times as needed to highlight the intrados polygon. Declare it as a seal plane and assign it to the other undefined PLANE instruction in the main code page.Select the tenth instruction. We shall now insert a
JUMP GEAR/RANGE combined instruction pair. This kind of combined instruction pair belongs to the Jump instruction group in the instruction selection window. Then complete the main code page in order to get the following instruction list :RITEWING | ASSEMBLY | |
JUMP PLANE | W10 | |
PLANE | -3.200;-1.000,0.000,0.000 | |
GOSUB | W01 | |
GOSUB | KARMAN | |
RETURN | ||
W10 | GOSUB | KARMAN |
GOSUB | W01 | |
RETURN | ||
W01 | JUMP GEAR | WING |
RANGE | 228,0 | |
JUMP PLANE | W11 | |
PLANE | -1.153;-0.072,0.000,0.997 | |
GOSUB | ? | |
GOSUB | WING | |
RETURN | ||
W11 | GOSUB | WING |
GOSUB | ? | |
RETURN | ||
... |
We still have to deal with the retractable gear. Select the line #20 (the WING sub-assy declaration) and insert a
GEAR RBANK/VECTOR combined instruction pair. This combined instruction pair belongs to the misc. advanced instruction group in the instruction selection window (Bank R Gear). We already know why we need to define a translation vector to have the moving part adequately located. Let us create this vector.
Exit the
Model Editor and activate the Utilities|Make a vector menu option. Enter the coordinates of the vector in the input window :6.300 | 0.250 | -0.700 |
Launch back the
Model Editor and double-click on the data field of the VECTOR instruction. Click on one of the blue-green arrows to have the coordinates of the vector displayed in the window :x,y,z : | 6.300,0.250,-0.700 |
Accept the other default values and validate by clicking on the OK button.
You can now complete the instruction list :
RITEWING | ASSEMBLY | |
JUMP PLANE | W10 | |
PLANE | -3.200;-1.000,0.000,0.000 | |
GOSUB | W01 | |
GOSUB | KARMAN | |
RETURN | ||
W10 | GOSUB | KARMAN |
GOSUB | W01 | |
RETURN | ||
W01 | JUMP GEAR | WING |
RANGE | 228,0 | |
JUMP PLANE | W11 | |
PLANE | -1.153;-0.072,0.000,0.997 | |
GOSUB | W02 | |
GOSUB | WING | |
RETURN | ||
W11 | GOSUB | WING |
GOSUB | W02 | |
RETURN | ||
W02 | GEAR RBANK | GEAR |
VECTOR | 6.300,0.250,-0.700,0.00,0.00,0.00 | |
RETURN | ||
WING | SUBASSY,T | click to open sub-assy |
KARMAN | SUBASSY,T | click to open sub-assy |
GEAR | ... |
The RITEWING assembly is completed. We need to compile it : tenth button of the
Model Editor tool bar (the last one), FS98 and create binary file options. The compilation should be successful.Exit the
Model Editor and save your job. Load the "Ugly100" file (second button of the tool bar or File|Open menu option). Launch the Model Editor and dispaly the main code page. Go to the end of the code list and select the instruction that was given the "RITEW" label. It is a RETURN instruction. Double-click on the RETURN code field. In the instruction selection window, select the Insert Assembly option and validate. Then double-click on the question mark in the data field ot the INSERT instruction. A window is displayed on the right of the screen which proposes you a selection of files (actually, there should be only one available at the moment). Select the "RiteWing" file and validate. Compile the model and try it (do not forget to save your job before you leave Aircraft Designer 2000)...the left wing : the LeftWing assembly
new concepts : mirror project - jump range - the GOTO instruction |
The creation of the left wing is easy. Launch
Aircraft Designer 2000. Load the "RiteWing" file. Save it with the name "LeftWing". Rename the assembly (File|Rename menu option) : give it the name "LeftWing". Activate the File|Mirror project menu option. Select the top view, you will notice that the wing was "mirrored". Launch the Model Editor and display the code page associated with the WING sub-assy. Assign the "lwing" file to the TEXTURE instruction as a replacement of the "rwing" one. Do not modify the texture limits : Aircraft Designer 2000 did that for you. Go to the code page associated with the KARMAN sub-assy and do the same thing. Go then to the main code page and select the GEAR RBANK instruction. Double-click on the code field and select the Bank, L Gear option in the right panel of the instruction selection window. Validate : the instruction has become a GEAR LBANK. This is it with the left wing ! Compile the assembly and save the job. Make sure you save it with the "LeftWing" : too bad if you overwrite the "RiteWing" file ! Exit the Model Editor.Load the "Ugly100" file and launch again the
Model Editor. In the main code page, we could simply transform the following instruction :LEFTW | RETURN |
into this instruction :
LEFTW | INSERT | LeftWing |
This would be fine. Yet, if you design a much more detailed model (a twin engine, or a quadri), the size of the compiled assembly file could as well exceed the range of a jump instruction. The range of any jump instruction must be lower than 32767 bytes. In this was not the case, we would need to "get some momentum" before the jump :
LEFTW | GOTO | LEFTW1 |
REFTW | INSERT | RiteWing |
LEFTW1 | INSERT | LeftWing |
Of course, this makes sense just in case these instructions are at the end of the list. This will not be the case, since we still have to create other sub-assies to design the front section. This is just a "tip" that might be helpful later on...
Go to the end of the code list and select the last instruction. Insert an
INSERT instruction. Double-click on the question mark in its data field and select the "LeftWing" file in the input window. Validate. Go up two lines and double-click on the RETURN instruction that was given the "LEFTW" label. Transform the RETURN instruction into a GOTO instruction (Go Label option in the left panel of the selection instruction window). Double-click on the question mark in the GOTO instruction data field. Point the finger on the INSERT that you have just created, click on it and enter the "LEFTW1" label. Compile the model and try it (once again, do not forget to save the job when you leave Aircraft Designer 2000)...