BfX_Help(integer) - help on the use of BfX functions (if you see this information on a web page, click here to go back to the BfX Home page: ) http://www.bfxyz.nl/ Create a column 0, 1, 2, 3, …, enter in the adjacent row =Bfx_Help(reference to the cell) 0 Ballistics for Excel - use =BfX_Help(i) with i=1,2,3,...157 for more 1 ===BfX Excel 2010 64bit==(C) Robert Meijer==Bld: Aug 22 2011 14:27:21 (Debug)=== 2 All examples are in European locale, e.g. =bfx_vx(740,3;200,1;0,5) 3 However, your computer might expect the USA locale e.g. =bfx_vx(740.3,200.1,0.5) 4 Function arguments with default values can be omitted 5 Empty first arguments eg BfX_Xv( or BfX_Xv() or BfX_Xv(;400;300;0,5) return help 6 =============================Atmospheric condition============================== 7 BfX assumes 15 degrees Celsius, 101325 Pascal, 0% humidity (ICAO conditions) 8 ========Calculating projectile velocity, flight time and flight distance======== 9 v0: muzzle velocity [m/s], 10 v:  velocity of slowed down projectile 0 [m], c: ballistic coefficient [lb/in^2] >0, take c of the 12 highest supersonic velocity range 13 df: drag function. BfX uses by default the Pejsa drag function in combination 14 with the G1 ballistic coefficient, BfX_Help2 lists available drag functions 15 v=BfX_Vx(v0; x; c; df=GP) [m/s] 16 v=BfX_Vt(v0; t; c; df=GP) [m/s] 17 t=BfX_Tv(v0; v; c; df=GP) [s] 18 t=BfX_Tx(v0; x; c; df=GP) [s] 19 x=BfX_Xv(v0; v; c; df=GP) [m] 20 x=BfX_Xt(v0; t; c; df=GP) [m] 21 Examples: =BfX_Vx(750;300;0,45) =BfX_Vx(750;300;0,23;"G7") 22 =BfX_Vx("fps";750;30000;"cm";0,45),
indicates a user defined 23 drag table =BfX_Vx(750;300;1.0;
) 24 ======================================Drop====================================== 25 drop=BfX_D(v0; x; c; df=GP) [m] or converted to angle 26 to convert to angle specify an unit of angle as output unit 27 ================================Wind deflection================================= 28 are ranges (possible multiple Excel cells) containing 29 wind velocities vw [m/s] at xw [m] 30 wind_deflection=BfX_Y(v0; ; ; x; c; df=GP) [m] or converted to angle 31 to convert to angle specify an unit of angle as output unit 32 ===========================Bullet path and elevation============================ 33 zx: distance [m] at which impact is h [m] 34 s:  distance line of sight to bore at muzzle >0 [m] 35 e:  elevation,  -pi/2 < e is an optional range 65 use =BfX_IQ() for information on your recent (un)succesful calculation 66 use =BfX_Info(i,) with i=0,1,2,... for a history on calculations 67 ==============================Display Cell Formula============================== 68 use =BfX_Cell() to display the formula of the cell left top cell of a range 69 use if necessary, ANY change, wherever in the WHOLE workbook updates BFX_Cell 70 BfX_Cell is a volatile function, incompatible with some other Excel functions 71 Volatile Excel functions are currently crashing the Excel SOLVER addin 72 Remove BfX_Cell when ready 73 =================================Interpolation================================== 74 a (possible unordered) range with at least two elements, 75 a range containing g(xi) where g(x) is a function of x 76 x is a value for which g(x) is to be estimated with an accuracy a (if possible) 77 m is the output mode, m= I, A, N, T, 78 I: returns the inter/extra polated value, (default if m is omitted) 79 A: returns the estimated accuracy of interpolated value, 80 N: returns the the number of points used in the interpolation, 81 T: returns the type of the result, 82 -1 interpolation with better then the requested accuracy 83 -2 interpolation not neccessary, x was present in and returned 84 -3 extrapolation with better then the requested accuracy 85 0 interpolation with less then the requested accuracy 86 1 extrapolation with less then the requested accuracy 87 interpolation g(x)= BfX_I(; ; x; accuracy=1E-5; m=I) 88 ===============================Drag coefficients================================ 89 Cd=BfX_Cd(v0; df=GP) [] 90 ==========================Non volatile random numbers=========================== 91 i is a positive integer number, b is the bottom value, t (>b) is the top value 92 is an optional range 93 random_number = BfX_Ran(i; ) 0 <= random_number <= 1] 94 b <= random_number <= t = BfX_Ranb(i; b; t; ) 95 c and s are center and width of normal distribution 96 normal distribution b <= random_number <= t= BfX_Rang(i; c; s; b; t; ) 97 use to link cells to guide Excels calculation order 98 ==========================check if a range has changed========================== 99 Compute a short text that uniquely identifies all values in a range , 100 m specifies what is included in the check, m=FC, OV, ON, OT, OB, OE, OD 101 FC: full check - range dimensions, all contents and their place (default) 102 OV: only values - skip empty cells 103 ON: only numbers - skip empty cells, booleans and text, ignore position 104 OT: only text - skip empty cells, booleans and numbers, ignore position 105 OB: only booleans - skip empty cells, text and numbers, ignore position 106 OE: only empty cells - skip booleans, text and numbers, ignore position 107 OD: only drag table - required for drag tables 108 32 bit Cyclic Redundancy Check = BfX_CRC(; m=FC) (AUTODIN II polynomial) 109 ====================================Contact===================================== 110 use =BfX_Help(i) with i=-2,-3 for email and website address 111 use =BfX_Info(i) with i=-2,-3 for email and website address 112 =================Visual Basic for Applications (VBA) interface================== 113 The argments are passed in the same order as with the BfX worksheet functions 114 All arguments are VARIANTS - the default type of VBA. 115 However, arrays should be declared as e.g. Dim x(10), vw(10) 116 then declare Dim xv, vwv to create VARIANTS that will contain x and vw 117 and just before calling vb_y (the only procedure that need arrays) set: 118 xv=x and yv=y and make the call e.g. returnval=vb_y(v0,x,vw,r,c) 119 Declare the VBA interfaces as: 120 Private Declare Function vb_y Lib "FullPath\BfX.XLL" Alias "BfX_VB_Y" _ 121 (Optional, v1 As Variant, Optional v2 As Variant, ...) As Variant 122 The naming convention is VBA Alias name = Worksheet name with _VB_in the 123 middle: BfX_VB_Zx, BfX_VB_C, etc. Use BfX_IQ() on the worksheet to obtain 124 error/succes information 125 ===================================About BfX==================================== 126 Created: Robert Meijer (c) 2008, 2009, 2010, 2011 127 inspired on Arthur Pejsa's book: Modern Practical Ballistics. 128 BfX has however less approximations and more drag functions. Calculated results 129 DO include sub and super sonic regions. Implementation is checked 130 against numerical simulations of projectile behavior. Significant 131 errors in BfX results start to occur for elevations above 132 15 degrees. 133 ==========================Right to use and distribute=========================== 134 Use and re-distribution of this addin is only granted to private persons 135 having non-commercial purposes. Dit werk is auteursrechtelijk beschermd 136 Formula's, source code etc of the BfX add-in cannot be distributed or claimed 137 =============================Disclaimer of Warranty============================= 138 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE 139 LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR 140 OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER 141 EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 142 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO 143 THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM 144 PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR 145 CORRECTION 146 ============================Limitation of Liability============================= 147 IN NO EVENT WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO CONVEYS THE 148 PROGRAM, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, 149 INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO 150 USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING 151 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE 152 OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR 153 OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES