MoI discussion forum
MoI discussion forum

Full Version: Anyone wish to develop a custom script?

Show messages:  1-17  18-37  38-57  58-77  78-97  …  218-223

From: bemfarmer
21 Dec 2011   [#18] In reply to [#17]
Thank you Anthony.
It's a hobby for me, plus a learning experience.
Do you need 16 decimal digits for RADIUS?
I should spend a little time getting familiar with the terminology & formulas...

There could be an initial menu with which to select "Fan" or "Predator", or "Piaggio", etc., with the
hidden (multiple?) parameter input menu(s) then activated, or maybe pass the parameter list to one menu?

But for now, the menu is enough for testing. Time to continue work on the .js script.
:-)

If you see anything objectionable, please speak up.
I'm resolving to resist the urge to rename variables.
Data types will be integer or javascript decimal...
From: Unknown user
21 Dec 2011   [#19] In reply to [#18]
Hi,

Yeah it would be confusing if you renamed variables on the menu. The radius being carried out so far enables the power to be set precisely. Say the user enters 1200 shp in PROP_DESIGN_OPT, the program will iterate to find all the necessarily information. Radius goes out that far to get the power to come into line. But for the casual user I'm sure they are not going to enter numbers out that far. Since you can't even manufacture to that tolerance. Probably people would tolerance from 3 to 6 decimals normally. If it isn't a problem to carry the numbers out that far it would be good from more of a theoretical standpoint. I like to do all my calculations to as high a precision as I can and then as the very last step round down to the desired decimal point. Otherwise you get a lot of roundoff error building up.

I don't see anything wrong as of yet, looks great. I posted a new version which has some example files you can try. If you want to wait or not even include them that is fine. Just an idea. I have all those examples now in each version of PROP_DESIGN. But its not a big deal to manually enter the inputs.
From: bemfarmer
22 Dec 2011   [#20]
Help with fortran conversion to javascript:
http://www.see.ed.ac.uk/~jwp/JavaScript/programming/notes.html

Array subscripts actually start at zero, but the first element can be ignored...(carefully...)
From: Unknown user
22 Dec 2011   [#21] In reply to [#20]
Hi bemfarmer,

I was modelling some of the examples and encountered the mm unit system issue. Basically if you don't use mm all sorts of things don't work in MoI v2 with these models. Also I have to change the mesh angle to 1.0 degrees for some models to display right. Given this I updated the code to output in units of mm instead of meters as previously. I tested some of the examples and they seem fine.

Anthony

Edit; the latest version of this code can be found in a later post.
From: bemfarmer
23 Dec 2011   [#22] In reply to [#21]
Hi Anthony,

How are you importing your AIRFOIL_POINTS.XYZ and RAIL_POINTS.XYZ files into MoI?
The import point file does not work for me. It shows a Type Mismatch line 112 error.

I finished writing the PropDesign MoI script, and it loads without any errors, (after fixing a few dozen), but nothing is
displayed on the screen, (except alert message, which loops 13 times), :-(.

Is the idea to display the fan/propeller directly on the MoI screen, without creating a point file, and without having to load a point file?

Thank You.
From: Unknown user
23 Dec 2011   [#23] In reply to [#22]
Hi,

Yes ideally, if the script created the 3d blade geometry that would be awesome. As far as loading the xyz files that the fortran code created select space formatting from the dropdown menu. also, maybe they didn't update the script on the download page. when i first tried it didn't work either. but someone posted an update to the forum thread. i assumed they uploaded it to the actual place where it is, but maybe not.

i'll attach the files i'm using just to make it easier on you.

what i am currently doing is importing the point files, now in mm. then i create the splines for the airfoil and for the rails. then do a two rail sweep. its not that hard. but its redundant and tedious to do over and over again. the airfoil points aren't quite right so you have to use control point when creating the splines. also you have to make the leading edge and trailing edge arcs. the trailing edge arc is really small so you have to zoom in a lot to see it. if everything is created right it should come out as a solid rather than a collection of joined surfaces. sometimes small errors you can't see will develop and you won't get the solid.
From: bemfarmer
23 Dec 2011   [#24] In reply to [#23]
Thanks Anthony

Michaels updated import point script works, so I'm getting a better idea what is going on.

(Found the forum thread on "Import Point Script Error" with Michaels updated import point script.)
(The import point script(s) on the kyticka.webzdarma site are the original versions.)

Would an increase from 13 TIP points help any?

Regarding the "splines for the airfoil", where/which are the points, or how are the splines for the "backside" of the airfoil determined?

Are the calculated airfoil points (supposed to be) on the actual physical surface of the propeller?
I'm aware of three factory types to choose from, var factory = moi.command.createFactory( 'interpcurve' ), curves go through the points, or
var factory = moi.command.createFactory( 'curve' ), curves use the points as contol points, or
var factory = moi.command.createFactory( 'point' ), creates points from the x,y,z points.
(The point one just makes points, the current import points situation). (The first two make curves, easier to sweep, no splines to manually create,(except for tip/edge arcs?....)

One factory to create the (closed?) curve of the airfoil cross section.
Three factories to create "top", "bottom," and "middle" rail. ("top" points make 1 rail, "bottom" points make 1 rail, middle points make 1 rail.?)

Is there only one cross section airfoil for the entire rail sweep? (in current model?)
(Excuse dumb questions please, trying to understand the geometry, and which points get connected.)

What are the middle rail points for?


What does each triplett of rail points represent? , (front? back?).
From: bemfarmer
23 Dec 2011   [#25]
Was thinking along these "nonaerodymic" lines:



From: Unknown user
23 Dec 2011   [#26] In reply to [#24]
hi bemfarmer,

no not dumb questions. i'll post some pics to help out, but for now i'll answer the easy ones. The rails can be used to create splines directly. those points are good. one set is for the leading edge. one is for the trailing edge. the other is for the 1/4 chord point. that one is for reference. its a good idea to have it in there just as a spline, but not used to make the blade. this way you can measure the radius of the blade and have it match the fortran code. also people may want to know where it is to apply loads and so forth if doing analysis.

the airfoil points are straight out of a NACA document (NACA is the predecessor of NASA). They did a lot of airfoil work back in the day. The NACA 65A series of airfoils yields good transonic performance. Meaning they can travel about Mach .7 efficiently. Or the speed of a common commercial airliner. The only problem is these points don't work out well when making the splines. So this set has to be used as control points. I added in a few points to help make the leading and trailing edge curves. When all is said and done you will end of with four curves you can join together. Then use that as the profile to sweep along the leading and trailing edge rails. This is where I need to show some pictures of how to get the four curves. Or maybe a screencast. I'll figure something out and send you the info.

Sounds like you have enough controls with the scripting. I only use a handful of tools and you mentioned them all in your last e-mail. So I think you have access to everything you need.

Anthony
From: Unknown user
23 Dec 2011   [#27]
Ok,

Here is a YouTube video I posted showing how I am making the blades. I should have showed my settings more. I am in the mm unit system and have a mesh angle of 1.0 degrees. I have found these two things to allow the creation of the blades without issues.

Anthony

Edit; This video has since been updated to match the latest version of PROP_DESIGN. See a later post, for the current link.
From: Jacob
23 Dec 2011   [#28]
This is wonderful! I can now have my fantasy airplanes grounded in reality even more. :-)

I'll be glad to help with the MoI interface if you need any.
From: Unknown user
24 Dec 2011   [#29] In reply to [#28]
Thanks,

Any help would be great. So far bemfarmer has been working on things. He would be the one to talk with if you like. Unfortunately, I don't know anything other than Fortran 77, so not much use. Just answering questions and testing things.

Anthony
From: bemfarmer
24 Dec 2011   [#30]
I converted the prop_design_geo into javascript, and used some factories.
However, absolutely nothing is displayed on the MoI screen, (except alert messages,) so there is some flaw in the javascript...
Either a factory is being (not) created by using non-points, or is being deleted by subsequent re-useage..?

There is the array index to zero issue. The "simple" math gets longer and longer, there are lots of parameters,
different data types....
Have not tried to add on any extra radius yet.

Also the rail points need to be sliced, like LineWeb script, (lengthwise,) into (3) curves.

Other than an alert text message, there is no debug window to display points ????

I think grafting on some of the SavePointFile script could be used to save some x,y,z values to see if they exist and what they are.

So now I am going to start with a small, very simple, display functioning script, and add on small pieces of prop_design_geo, until it breaks...
:-)

Edit: The new limited script will be called AirfoilPoints.js, use one factory, and only the airfoil parameters...
From: Unknown user
24 Dec 2011   [#31] In reply to [#30]
Hi bemfarmer,

If you can make a closed curve from the airfoil points, that is the most annoying/boring part to keep doing over. You would have got the hardest part figured out.

Was the screencast any help to you?

Anthony
From: bemfarmer
24 Dec 2011   [#32] In reply to [#31]
Thanks Anthony

Yes, the screencast was very helpful. Going to watch it again, especially the initial portions.
Looks like you are getting good at using MoI.
:-)
From: bemfarmer
24 Dec 2011   [#33]
Well, after moving a few factory related scripts around, have (partly) succeeded in creating
a 13 point curve, for the airfoil, using interpret curve.

Edit oops, it should have 27 points,
(The airfoil is incorrectly indexed to TIP, at 13 points.) but happy to have something on the screen..........
Scaled up, it resembles the actual airfoil, sort of.

There is a hook on the end, but looking at the points, it seems like the last two or three points are created in the wrong order (???)
(??Is there any possibility that the fortran code is creating the last two or three points in the wrong order??)


(The rails are nonfunctional, and not at all right, but just need some javascript changes.)
The rails need a factory each for "top", "bottom", and "quarter ( or 3/4) cord".

The highly defective code, is NOT attached.

With MoI units set to meters, the curve is very small, 0 X .01 X 0.1 meters.



Image Attachments:
FirstAirfoiWithHook1.PNG 


From: Unknown user
24 Dec 2011   [#34] In reply to [#33]
Hi,

There are a few points added so that you can create a circle at the top and bottom. Then using the last point of the real airfoil data, draw a straight line tangent to the circle for the last real control point for the airfoil curve. This is done at the top and bottom (from the right view). The larger circle at the top is the leading edge and the small circle at the bottom is the trailing edge. And yes, the trailing edge circle is really really small. This is why I'm having to use the millimeters unit system. Even the leading edge radius can be too small for MoI v2 on some examples. It won't find the tangent point, do the boolean operations, and other things when in the meters unit system. I posted an updated code that will output in the millimeters unit system.

Once the extra points are found then they are used as the start and end point of the airfoil spline, along with the other points that are in the .XYZ file. Then you mirror that curve. And lastly make arcs through the remaing points. Select the four curves and join them to make one closed curve. This is the curve that will be used for the sweep.

Merry Christmas/Happy Holidays to everyone.

Anthony
From: bemfarmer
24 Dec 2011   [#35] In reply to [#34]
Hi Anthony

In the Prop_Design_GEO of 12/22/2011, the third entry in AFYTAB is 0.0, which is inconsistent.(?) I would think it would be between
0.6880 and 1.0650. (?) (or is this one of the "extra" points?)

(I had AirFoil Points indexed incorrectly to TIP at 13. Was able to correct index up to 26, to generate (I think) 25 points, but going to 27
caused MoI to fail. Weird...
That is it for tonight... I'll have to re-read your post tomorrow...
From: Unknown user
24 Dec 2011   [#36] In reply to [#35]
Hi,

Yeah sorry for the confusion, I believe that is one of the extra points for the circles. There are four exrta points to make the circles. Then you have to add two more points that are tangent to the circles manually. I was working on the picture attachments when you responded. Make sure to check the attachments again, as I updated them. It's hard to show, but hopefully between the pictures and the screencast it will start to make sense.
From: Unknown user
24 Dec 2011   [#37]
Here is the actual NACA document with the points they specify. They have 0, 0 in there as well. But this isn't a point you would use for the spline. It is a point you would use for the leading edge arc/circle. If you compare the table of points in the Fortran code versus the NACA document, any differences are for the circles/arcs.

Edit; this document is now included airfoil_model.zip file in a later post or on my website.

Show messages:  1-17  18-37  38-57  58-77  78-97  …  218-223