|
GHS Port Reference Center
Information for maritime designers, engineers and builders Maintained by Creative Systems, Inc., Creators of GHS Click here for information about GHS and other fine marine software. |
|
|
save temp.old
write (macros) temp.mac
clear macros
clear variables
report off
page 1
variable spgr0,spgr1:1:1.1
variable q,h:-10:10,d1,l1,d2,l2,d3,l3,d4,l4,d5,l5,d6,l6,d7,l7
variable gmtmmt,repmode,cleared
variable (string) self,proj,size,note:0:78,t
variable (string) fa1,sd1,fa2,sd2,fa3,sd3,fa4,sd4,fa5,sd5,fa6,sd6,fa7,sd7
set size="small"
set repmode=0, cleared=0
set proj="INCLINE"
set self="INCLINE.RF"
template about "About this wizard"
"If this is the first time you have run this wizard in the present"
"working directory, your present geometry and loading condition, if"
"any, will be used as the starting point. You can then make any"
"adjustments necessary to represent tank conditions and other loads"
"existing at inclining that are to be separate from light ship."
""
"However YOU MUST ENTER DRAFTS even if you have specified drafts"
"prior to running this wizard."
""
"Depending on whether you have done SOLVE or LIGHT SHIP last before"
"pressing Ok, the as-inclined condition or the light ship condition"
"will be saved as a run file named {proj}.sav. It will also include all"
"of the settings (drafts, etc.) and it is autometically run the next"
"time you run this wizard so that you will not need to reenter the"
"settings."
""
"But if you exit the wizard dialog through the Cancel button, your"
"original condition gets restored."
""
"The fixed weights and tank loads present at inclining (weights to subtract)"
"are saved in a run file named {proj}.cnd."
""
"Any weights to be added into light ship (weights to add) are saved in"
"{proj}.add."
""
"This wizard is itself a run file that defines its own macros. In order"
"to avoid overwriting macros by the same names that you may have"
"defined it saves your macros and restores them before it ends."
/
macro defaults
set spgr0=1.025
if "{sea}"<>"" then set spgr0={sea}
if "{spgr1}"="" then set spgr1={spgr0}
if "{fa1}"<>"" then exit
set fa1=%1
set fa2=%1
set fa3=%1
set fa4=%1
set fa5=%1
set fa6=%1
set fa7=%1
/
macro readsave
run {proj}.sav /call
cls
/
macro save
report off
save {proj}.sav
/
macro unload
delete all weights
load (*) 0
/
macro getcnd
macro case
`noop
//
macro t
if fexist %%91 then run %%91 /call
//
.t {proj}.cnd
cls
/
macro delcnd
macro t
if fexist %%91 then erase %%91
//
.t {proj}.cnd
/
macro clear
template t "Warning"
"Are you sure you want to clear all inclining settings?"
"Yes" "No" exit
//
.t
if {templok}=0 then exit incline
.delcnd
.t {proj}.sav
.t {proj}.add
set cleared=1
template t " "
"Please rerun this wizard to begin fresh."
"Ok" exit
//
.t
/
macro savecnd
.delcnd
write (loads) {proj}.cnd
/
macro saveadd
write (fixed) {proj}.add
/
macro getadd
macro t
if fexist %%91 then run %%91 /call
//
.t {proj}.add
/
macro drstr
set sd%1=""
if "{d%1}"="" then exit
if "{l%1}"="" then exit
set q={l%1}
if "{fa%1}"="FWD" then set q=minus {q}
set sd%1="{d%1}@{q}"
set t="ok"
/
macro setwpl
set t=""
heel {h}
.drstr 1
.drstr 2
.drstr 3
.drstr 4
.drstr 5
.drstr 6
if "{t}"="" then depth=0 | exit
set error=-1
draft {sd1} {sd2} {sd3} {sd4} {sd5} {sd6}
template t "Warning"
"Faulty draft specification:"
" {sd1} {sd2} {sd3} {sd4} {sd5} {sd6}"
//
if {error}<>-1 then .t
set error=0
/
macro le
.setwpl
fix depth
load edit
vary depth
/
macro scrstat
stat fixed:br tanks:br wpl:total /fsm
/
macro repstat
page
load (*) status
page
stat ghs
/
macro stat
if {repmode}=0 then .scrstat else .repstat
/
macro wts
.getcnd
tanks off
.le
.savecnd
cls
st fixed:brief
/
macro tks
.getcnd
tanks *
.le
.savecnd
cls
st tanks:brief
/
macro cg
display (*) status
/
macro checkval
if "%1"="" then set t="missing" | exit
if %1<%2 then set t="too small" | exit
if %1>%3 then set t="too large" | exit
set t=""
/
macro solve
template t "Error"
"GMT Moment is {t}"
//
.checkval "{gmtmmt}" 0.001 999999 | if "{t}"<>"" then .t | exit
.getcnd
cls
.setwpl
water {spgr1}
gmtmmt {gmtmmt}
.stat
.savecnd
template t "Note" /pos:bottom
"The as-inclined condition is shown above."
"CG" exit .cg | "<-- Press here for the Condition Graphic"
"Ok" exit
//
if {repmode}=0 then .t
/
macro report
cls
template t "Note to be included on first page of report "
note
"Ok" exit
//
.t
page 1
subtitle
\Inclining Report\
report {proj}.pf
\\\\\\
\{note}\
\\\\
set repmode=1
.solve
.ltship
set repmode=0
view
report off
template t "Note"
"You can print this report through the Report pulldown menu."
"The report file name is {proj}.pf"
"Ok" EXIT
//
.t
/
macro add
.unload
.getadd
tanks off
.le
.saveadd
/
macro ltstat1
page
\WEIGHTS INCLUDED IN LIGHT SHIP\
stat weight, displ
/
macro ltstat2
if {repmode}<>0 then page else cls
\LIGHT SHIP\
stat weight, displ
template t "Light Ship"
"This is the light ship condition with the added weights included."
//
if {repmode}=0 then .t
/
macro ltship
.unload
.getadd
template t "Error"
"Drafts missing or too small."
//
if {fweight}<0.01 then .t | exit
heel 0
trim 0
water {spgr0}
solve
if {repmode}<>0 then .ltstat1
weight *
.ltstat2
/
macro readgf
template t "Note"
"No geometry file has been read."
"Do you want to locate and Read one now?"
"Yes" "No" exit
//
.t
if {templok}=0 then exit
template t "Geometry file"
"Read" file t /ext:"gf" /exist
//
.t
if {templok}=0 then exit
read {t}
/
template whatgmt
"GMT moment is the inclining moment / angle (radians)."
"This is the slope of the line of plotted inclining moment vs. angle,"
"or inclining weight x distance moved / tangent (angle)."
/
macro incline
template t2 "Inclining Wizard" /pos:bottom %1
"" | "" | "" | "About" .about | "Resize" exit resize
"" | "" | "" | "Clear" exit clear
"Specific gravity" spgr1
"Heel angle" h
"Average (port & stbd) drafts at longitudinal locations:"
"Draft 1" d1 | "@ location 1" l1 | "FWD" "AFT" fa1
"Draft 2" d2 | "@ location 2" l2 | "FWD" "AFT" fa2
"Draft 3" d3 | "@ location 3" l3 | "FWD" "AFT" fa3
"Draft 4" d4 | "@ location 4" l4 | "FWD" "AFT" fa4
"Draft 5" d5 | "@ location 5" l5 | "FWD" "AFT" fa5
"Draft 6" d6 | "@ location 6" l6 | "FWD" "AFT" fa6
"Draft 7" d7 | "@ location 7" l7 | "FWD" "AFT" fa7
"Weights to subtract (present at inclining but not in light ship):"
"" | "Weights" .wts | "(fixed)"
"" | "Tanks" .tks
"GMT moment" gmtmmt | "?" .whatgmt
"" | "Solve" .solve
"Weights to add (not present at inclining but to be included in light ship):"
"" | "Add" .add
"" | "Light Ship" .ltship
"" | "Report" .report
"Ok" "Cancel" EXIT
//
exit t2
/
macro dialog
if {size}="default" then exit incline
exit incline "/size:{size}"
/
macro resize
template t "Resize dialog box"
"default" "small" "medium" "large" size
"Continue" EXIT
//
.t
exit dialog
/
macro doincl
screen nohead
me inclining wizard\
.dialog
if {templok}=0 then exit
if {cleared}<>0 then exit
.save
/
macro init
set h=0
/
macro esc
template t "Error"
"Error encountered in running {proj}.sav."
"Restart" "Exit" EXIT
//
macro recover
set error=0
erase {proj}.sav
run {self}
//
.t
if {templok}<>0 then exit recover
/
if fexist {proj}.sav then .readsave /call else .init
macro esc
/
if "{gf}"="" then .readgf
set t="AFT"
if lunit="METERS" then set t="FWD" `origin is probably aft if meters
.defaults {t}
if "{gf}"<>"" then .doincl
clear macros
clear variables
macro restore
run temp.old /call
template t "Note"
"Original condition restored."
//
.t
/
if {templok}=0 then .restore
macro restore
/
run temp.mac /call
scr head
erase temp.mac
erase temp.old
|
| Add a free link to your site |