Você está na página 1de 46

MSC.

Acumen 2006
Release and
Installation Guide

Main Index
Corporate
MSC.Software Corporation
2 MacArthur Place
Santa Ana, CA 92707
Telephone: (800) 345-2078
Fax: (714) 784-4056

Europe
MSC.Software GmbH
Am Moosfeld 13
81829 Munich
GERMANY
Telephone: (49) (89) 43 19 87 0
Fax: (49) (89) 43 61 71 6

Asia Pacific
MSC.Software Corporation
Entsuji-Gadelius Building
2-39, Akasaka 5-chome
Minato-ku, TOKYO 107-0052, JAPAN
Telephone: (81) (3) 3505 0266
Fax: (81) (3) 3505 0914

Worldwide Web
www.mscsoftware.com

Disclaimer
MSC.Software Corporation reserves the right to make changes in specifications and other information
contained in this document without prior notice.
The concepts, methods, and examples presented in this text are for illustrative and educational purposes
only, and are not intended to be exhaustive or to apply to any particular engineering problem or design.
MSC.Software Corporation assumes no liability or responsibility to any person or company for direct or
indirect damages resulting from the use of any information contained herein.
User Documentation: Copyright 2006 MSC.Software Corporation. Printed in U.S.A. All Rights
Reserved.
This notice shall be marked on any reproduction of this documentation, in whole or in part. Any
reproduction or distribution of this document, in whole or in part, without the prior written consent of
MSC.Software Corporation is prohibited.
MSC is a registered trademark of the MSC.Software Corporation. NASTRAN is a registered trademark
of the National Aeronautics and Space Administration. MSC.Nastran is an enhanced proprietary version
developed and maintained by MSC.Software Corporation. MSC., MSC.Patran, and MSC.Acumen are
trademarks of MSC.Software Corporation.
All other trademarks are the property of their respective owners.
ACM*V2006*Z*Z*Z*DC-904000

Main Index
MSC.Patran Release Guide

MSC.Acumen 2006
Author’s Release and
Installation Guide
■ Windows NT Installation Instructions
■ UNIX Installation Instructions
■ Documentation Setup
■ Runtime Licensing
■ Xml To Xio File Translation
■ Javascript Support

■ Demonstration Applications
■ Environment Variables
■ PCL Function Notes
■ Resizing Forms
■ Form Widget Access Functions
■ Client Data Access Functions
■ Linux Notes
■ Application Initialization
■ Multiple Form User Interface
■ Installation Notes

Main Index
2

1 Windows NT Installation Instructions


1. Place the CD in the drive
2. Run the Setup.exe executable in the root directory of the CD using either the
"Start" "Run" "Browse" desktop form or from a command window command
line.
The setup executable will run and present the user with the following forms:
• Installation Folder.
This directory location is were the installation application will unpack the
files needed to continue the MSC Acumen installation process. Note that this
form does not specify the directory in which MSC Acumen will be installed.
• Unpacking
This form is displayed while the installation files are being unpacked into the
directory specified by the "Acumen - Installation Folder" form.
• Welcome
This is the initial installation form which should be backed by a full screen
splash screen.
• Choose Destination Location
This form is used to define the location to be installed.
The target files will be installed into three sub-directories in the directory
specified by this form:
msc_acumen
msc_acumen.docs
msc_acumen.demo
• Start Copying Files
Used to verify the installation directory and to start the file installation
process.
• Choose Destination Location
This form is used to define a value for the environment variable P3_HOME
if one is not already defined. This value is used to construct batch files that
are used to start the various MSC Acumen demonstration applications.
• Setup Complete
Indicates the end of the installation procedure.
Note that MSC Acumen does not modify either the workstation environment
variables or the registry. Rebooting the workstation after the installation of MSC
Acumen is not required.

Main Index
UNIX Installation Instructions 3
Installation Guide

2 UNIX Installation Instructions


1. Place the CD in the drive.
If you have been graced with a system that automounts the CD, the CD
should mount automatically to the appropriate mounting point.
If your system does not automount the CD, see the man page for "mount" for
the appropriate information.
2. Run the "mscsetup" script located in the root of the CD-ROM file system
from the command line and follow the instructions to install MSC Acumen.

Main Index
4

3 Documentation Setup
Additional documentation is provided with MSC Acumen in the form of an
Application Authoring Guide, several PCL function reference manuals, and a new
documentation index page.
The default installation location for the MSC Acumen help files are in the following
files and directories:
<Acumen installation_dir>/msc_acumen.docs/patran/acumen
<Acumen installation_dir>/msc_acumen.docs/patran/develop
<Acumen installation_dir>/msc_acumen.docs/patran/user_manual
<Acumen installation_dir>/msc_acumen.docs/patran/develop_directory.fm
These help files are not installed into the MSC Patran environment at installation time
as there is no way to anticipate all of the possible combinations and locations of MSC
Patran vs. MSC Acumen vs. an MSC Acumen application.
Once the MSC Acumen documentation is installed, it can be accessed by starting an
MSC Acumen application, placing the focus on the main MSC Acumen user interface
form, and pressing the F1 key.
Do the following to setup the documentation on UNIX:
1. Relocate the original MSC Acumen documents.
mv <Acumen installation_dir>/msc_acumen.docs <Acumen
installation_dir>/msc_acumen.docs.acumen
2. Move the original files so that it does not get overwritten:
mv ${P3_HOME}/helpfiles/patran_directory.fm
${P3_HOME}/helpfiles/patran_directory.fm.original
mv ${P3_HOME}/helpfiles/modules/develop_spec.fm
${P3_HOME}/helpfiles/modules/develop_spec.fm.original
mv ${P3_HOME}/helpfiles/user_manual/built_ins
${P3_HOME}/helpfiles/user_manual/built_ins.original
mv ${P3_HOME}/helpfiles/user_manual/built_ins_examples
${P3_HOME}/helpfiles/user_manual/built_ins_examples.origina
mv ${P3_HOME}/helpfiles/user_manual/customization
${P3_HOME}/helpfiles/user_manual/customization.original
3. Set up the needed links:
ln -s <Acumen installation_dir>/msc_acumen.docs.acumen/patran/develop_directory.fm
<P3_HOME>/helpfiles/patran/patran_directory.fm
ln -s <Acumen
installation_dir>/msc_acumen.docs.acumen/patran/acumen/acumen_directory.fm
<P3_HOME>/helpfiles/patran/modules/develop_spec.fm
ln -s <Acumen installation_dir>/msc_acumen.docs.acumen/patran/acumen/app_author
<P3_HOME>/helpfiles/patran/modules/app_author

Main Index
Documentation Setup 5
Installation Guide

ln -s <Acumen installation_dir>/msc_acumen.docs.acumen/patran/develop
<P3_HOME>/helpfiles/patran/develop
ln -s <Acumen installation_dir>/msc_acumen.docs.acumen/patran/acumen
<P3_HOME>/helpfiles/patran/acumen
ln -s <Acumen
installation_dir>/msc_acumen.docs.acumen/patran/user_manual/built_ins
<P3_HOME>/helpfiles/patran/user_manual/built_ins
ln -s <Acumen
installation_dir>/msc_acumen.docs.acumen/patran/user_manual/built_ins_examples
<P3_HOME>/helpfiles/patran/user_manual/built_ins_examples
ln -s <Acumen
installation_dir>/msc_acumen.docs.acumen/patran/user_manual/customization
<P3_HOME>/helpfiles/patran/user_manual/customization
ln -s ${P3_HOME}/helpfiles <Acumen installation_dir>/msc_acumen.docs

Do the following to setup the documentation on WINNT:


1. Change to the directory in which the MSC.Patran, help files are installed:
cd %P3_HOME%\helpfiles
2. Move the original files so that it does not get overwritten:
mv patran_directory.fm patran_directory.fm.original

mv modules/develop_spec.fm modules\develop_spec.fm.original

mv user_manual/built_ins user_manual\built_ins.original

mv user_manual/built_ins_examples user_manual\built_ins_examples.original

mv user_manual/customization user_manual\customization.original

3. Copy the needed file sets:


xcopy <Acumen installation_dir>/msc_acumen.docs/patran/develop_directory.fm
<P3_HOME>/helpfiles/patran/patran_directory.fm
xcopy <Acumen
installation_dir>/msc_acumen.docs/patran/acumen/acumen_directory.fm
<P3_HOME>/helpfiles/patran/modules/develop_spec.fm
xcopy /s /i <Acumen
installation_dir>/msc_acumen.docs.acumen/patran/acumen/app_author
<P3_HOME>/helpfiles/patran/modules/app_author
xcopy /s /i <Acumen installation_dir>/msc_acumen.docs/patran/develop
<P3_HOME>/helpfiles/patran/develop
xcopy /s /i <Acumen installation_dir>/msc_acumen.docs/patran/acumen
<P3_HOME>/helpfiles/patran/acumen
xcopy /s /i <Acumen installation_dir>/msc_acumen.docs/patran/user_manual/built_ins
<P3_HOME>/helpfiles/patran/user_manual/built_ins
xcopy /s /i <Acumen
installation_dir>/msc_acumen.docs/patran/user_manual/built_ins_examples
<P3_HOME>/helpfiles/patran/user_manual/built_ins_examples

Main Index
6

xcopy /s /i <Acumen
installation_dir>/msc_acumen.docs/patran/user_manual/customization
<P3_HOME>/helpfiles/patran/user_manual/customization
xcopy /s /i ${P3_HOME}/helpfiles <Acumen installation_dir>/msc_acumen.docs

Main Index
Runtime Licensing 7
Installation Guide

4 Runtime Licensing
MSC Acumen supports a Runtime license.
This license can be used with MSC Acumen only by placing the following command
on the command line used to start MSC Patran and the MSC Acumen application (the
name is case sensitive):
${P3_HOME}/bin/p3 -ifile aa_init.pcl -iam MSC.Acumen_RunTime

The MSC Acumen runtime license will be used only when the environment variable
ACUMEN_INTERFACE is set to DISABLE.
A command line window text message similar to the following will contain the text
"MSC.Acumen" indicating that a run time license is being used.
# MSC.Acumen #### has obtained 1 concurrent license(s) from FLEXlm

In all other cases licensing will fall back to the default of using an MSC Patran license.

Main Index
8

5 Xml To Xio File Translation


File translation from xml to xio files has been improved to dramatically reduce the on
disk size of .xio files.
Backwards compatibility with older .xio files has been preserved.
An external .xml to .xio translator executable is no longer needed.
MSC Acumen will automatically look for an .xio and .xml file as needed. The .xio file
will be updated using the following rules:
• An .xio file was found, but not an .xml file.
Use the .xio file for the application.
• An .xml file is found but an .xio file cannot be found.
Translate the .xml file into an .xio file with the same directory location as the
.xml file. Use the .xio file for the application.
• An .xio file is found and an .xml file that is newer or younger than the .xio
file has been found.
Translate the .xml file into an .xio file with the same directory location as the
.xml file. Use the .xio file for the application.
• An .xml file is found and an .xio file that is newer or younger than the .xml
file has been found.
Use the .xio file for the application.
The translator code will look for two PCL functions: acumen_xml_pre () and
acumen_xml_post (). If these functions exist in the application code, they will be called
with two input string arguments. With both functions the first argument will be the
full path and file name for the .xml file and the second argument will be the full path
and file name for the .xio file. These two functions are called immediately before and
after an .xml file is translated into an .xio file and allow for customer and application
specific pre and post processing of .xio and .xml files.

Main Index
Javascript Support 9
Installation Guide

6 Javascript Support
Javascript support for the WINNT platform has been provided.
The html browser widget is implemented on the WINNT platform using an ActiveX
link of Internet Explorer to MSC Patran. This allows the browser widget to support the
full Internet Explorer feature set, including Javascript.
MSC Acumen will call any pcl function listed with an '<A HREF="PCL:' The
arguments passed to the called pcl function take the form of a string with arguments
delimited with colons ":" and semi-colons ";" .
The imbedded semi-colon characters can cause problems as they can be confused as a
delimiter in Internet Explorer.
This issue can be worked around by using a hexidecimal notation for the imbedded
semicolon characters.
Support has been added for the case insensitive use of hexidecimal notation for
semicolons "%3B" and colons "%3A" as in the following example:
{window.location.href="PCL:AAI.html_calls(FUNC:AAI.next_dialog%3BSTR:s
teptesta.xml%3BSTR:1.%3BSTR:picking)";}

Main Index
10

7 Demonstration Applications
Three separate demonstration applications are provided with this delivery:
• Brake Lever
A basic demonstration application focused on the design of disk brakes.
• Dynamo
Demonstrates the use of the MSC Acumen feature that allows for the
dynamic setting of form information.
Also provides other test operations.
• Hello World
An example of a minimal MSC.Acumen application.
• Helper
Demonstrates different ways in which help systems can be integrated into an
MSC Acumen application.
• Master
This is an application of applications. It combines the Brake Lever, Dynamo,
Helper, and Hello World under a single combined and integrated MSC
Acumen application.
This application demonstrates a technique that could be used to manage
larger project development efforts. Pieces of the project can be developed
and tested separately and then integrated into a unit.
The Brake Lever application was never designed to be integrated in this
manner and demonstrates some of the issues that can cause trouble with this
type of integration process.
The demonstration applications will be installed into the msc_acumen.demo
subdirectory under directories with the following names:
brk_lvr
dynamo
hello_world
helper
master
Each demonstration application directory will contain a script or batch file that is used
to start the application.
brk_lvr/brk_lvr
brk_lvr/brk_lvr.cmd
brk_lvr/brk_lvr_disable.cmd
brk_lvr/brk_lvr_enable.cmd

Main Index
Demonstration Applications 11
Installation Guide

dynamo/dynamo
dynamo/dynamo.cmd
hello_world/hello_world
hello_world/hello_world.cmd
helper/helper
helper/helper/helper.cmd
master/master
master/master/master.cmd
Each of the appropriate script or command files can be edited with a text editor as
needed to correctly define the needed environment variables.
MSC.Acumen requires no modifications to environment variables or registry entries.
All environment information needed to start and run an MSC Acumen application can
be contained in the script or command file used to start the application.
A shortcut on the desktop or a shell alias can be used to provide a convenient starting
mechanism for the user.

Main Index
12

8 Environment Variables
MSC Acumen requires no modifications to the workstation parent environment
variables or registry entries.
One of the original design goals of MSC Acumen was to have as small an impact as
possible on MSC Patran or any other applications installed on the workstation.
This goal was achieved by using environment variables that can be defined in a script
or command file. These environment variables are used to identify the location of the
MSC Acumen core code, required application files, the MSC Patran files, and the
location of an external html browser used to display help files.
The environment variables are defined as follows. The PCL functions that can be used
to retrieve the environment variable values are also listed below.
Please make all effort when developing an MSC Acumen application to make use of
the PCL functions provided to retrieve the appropriate environment variable values.

ACUMEN_HOME
Purpose
This environment value defines the installation location of the
MSC/Acumen Application Core and MSC/Acumen Toolkit core code.
Assumed file locations and names:
All core .plb and status message files will be placed directly in the
ACUMEN_HOME directory.
It will be assumed that the status message file will have the name
"aa_message_core.dat"
It will be assumed that the core shared libraries will be placed in the location
"ACUMEN_HOME"/lib for UNIX and "ACUMEN_HOME"/bin for
WINNT, allowing the location to be consistent with the rules currently used
by MSC.Patran.
Default value.
If the environment variable "ACUMEN_HOME" is not defined, the default
value of "P3_HOME" will be used. If "P3_HOME" is not defined,
"/patran/patran3" will be used for UNIX, "c:\msc" for WINNT.
Analysis Application environment variables replaced.
"ACUMEN_DIR", "AdvisorPLB"

Main Index
Environment Variables 13
Installation Guide

ACUMEN_APPLICATIONS
Purpose
This environment variable provides the path and file name for the home
drive page of a user developed MSC/Acumen application.
Assumed file locations and names:
It will be assumed that the master .xio and .xml files will be located directly
in the ACUMEN_APPLICATIONS directory.
It will be assumed that the .def file will have the same path and base file
name as the application home drive page with a .def extension.
It will be assumed that the labels file will have the same path and base file
name as the application home drive page with a .labels extension.
It will be assumed that all .html help files will be in a subdirectory under the
directory in which the home drive page is located named "help".
It will be assumed that the pulldown menu title definitions file will have the
same path and base file name as the application home drive page with a
.dwn extension.
It will be assumed that application specific .plb file will have the same path
and base file name as the application home drive page with a .plb extension.
If a file with the specified extension cannot be found, no action will be taken.
It will be assumed that application specific .png files will be in a subdirectory
under the directory in which the home drive page is located named
"app_images".
Default value.
If the environment variable "ACUMEN_APPLICATIONS" is not defined, the
value of "ACUMEN_HOME/acumen_applications/master" will be used
where "master" will be the default application name.
Analysis Application environment variables replaced:
"AdvisorPAGE1", "AdvisorLIB",
"AdvisorFORMPARAMS", "AdvisorPULLDOWN",
"AdvisorERROR", "AdvisorINPUTS"

Main Index
14

ACUMEN_INTERFACE
Purpose
This environment variable will "ENABLE" or "DISABLE" the MSC.Patran
menu bar pull down interface to MSC/ACUMEN.
Default value.
The default value of this environment variable is "DISABLE".
The setting of this environment variable will not be case sensitive.
Analysis Application environment variables replaced.
"PATRAN_USER"

ACUMEN_BROWSER
Purpose
This environment variable provides a string that will be used to start the web
browser used to display HTML help pages. This string might take the
following form:
/usr/netscape/netscape
A fully qualified path and file name for the appropriate file will be passed to
the executable through the command line.
Default value: none.
This value is established at installation time, checked and validated at run
time. If the browser cannot be found, a warning message will be displayed
at MSC/Acumen startup.
Analysis Application environment variables replaced.
"AdvisorBROWSER"

ACUMEN_MOTIF
Purpose
To force the use of the MSC.Acumen motif interface with Windows NT. This
provides for backwards compatibility with MSC.Patran V8.5 on the
Windows NT platform.
Default value.
The default value of this environment variable is "DISABLE" on the
Windows NT platform, "ENABLE" on the UNIX platforms.
The setting of this environment variable is not be case sensitive.

Main Index
Environment Variables 15
Installation Guide

ACUMEN_Y_SCALE
Purpose
Allows the definition of a real value used to scale the MSC Acumen user
interface along the Y axis.
This provides a method to rescale the MSC Acumen user interface for a
better fit on LCD displays.
Default value.
Depending on the settings of ACUMEN_MOTIF, ACUMEN_INTERFACE
and the type of machine (Windows NT vs. UNIX), the default value of
ACUMEN_Y_SCALE is from 0.8-1.10.

HTML_IMAGE_PATH
Purpose
Defines the path used to retrieve images with xml files.

aa_env.ret_acumen_home ( acumen_home )
This PCL function retrieves the value of ACUMEN_HOME.
Inputs:
None.
Outputs:
STRING acumen_home This argument will return the value of
ACUMEN_HOME.
INTEGER <return_val> This function will return a value of zero
if no errors have occurred and a
positive value to indicate an error.

Notes:
The value returned will be determined by the value of the environment
variable ACUMEN_HOME or the default rules listed above.

Main Index
16

aa_env.ret_acumen_app ( acumen_app, acumen_master,


acumen_ext )
This PCL function retrieves the value of ACUMEN_APPLICATIONS parsed
into three components.
Inputs:
None.
Outputs:

STRING acumen_app This argument will return the path


value of ACUMEN_APPLICATIONS.
STRING acumen_master This argument will return the body of
the file name of the home drive page
specified by
ACUMEN_APPLICATIONS.
STRING acumen_ext This argument will return the
extension of the file name of the home
drive page specified by
ACUMEN_APPLICATIONS.
INTEGER <return_val> This function will return a value of zero
if no errors have occurred and a
positive value to indicate an error.

Notes:
The value returned will be determined by the value of the environment
variable ACUMEN_APPLICATIONS or the default rules listed above.

aa_env.ret_acumen_brw ( acumen_brw )
This PCL function retrieves the value of ACUMEN_BROWSER.
Inputs:
None.
Outputs:
STRING acumen_brw This argument will return the value of
ACUMEN_BROWSER.
INTEGER <return_val> This function will return a value of
zero if no errors have occurred and a
positive value to indicate an error.

Main Index
Environment Variables 17
Installation Guide

Notes:
The value returned will be determined by the value of the environment
variable ACUMEN_BROWSER or the default rules listed above.

aa_env.ret_acumen_int ( acumen_int )
This PCL function retrieves the value of ACUMEN_INTERFACE.
Inputs:
None.
Outputs:
STRING acumen_int This argument will return the value of
ACUMEN_INTERFACE.
INTEGER <return_val> This function will return a value of
zero if no errors have occurred and a
positive value to indicate an error.

Notes:
The value returned will be determined by the value of the environment
variable ACUMEN_INTERFACE or the default rules listed above.

aa_env.ret_acumen_y_scale ( y_scale )
This PCL function retrieves the value of ACUMEN_Y_SCALE
Inputs:
None.
Outputs:
REAL y_scale This argument will return the value
of ACUMEN_Y_SCALE.
INTEGER <return_val> This function will return a value of
zero if no errors have occurred and a
positive value to indicate an error.

Notes:
The value returned will be determined by the value of the environment
variable ACUMEN_Y_SCALE or the default rules listed above.

Main Index
18

aa_env.ret_acumen_html ( s_html )
This PCL function retrieves the value of HTML_IMAGE_PATH.
Inputs:
None.
Outputs:

STRING s_html This argument will return the value of


HTML_IMAGE_PATH.
INTEGER <return_val> This function will return a value of zero
if no errors have occurred and a positive
value to indicate an error.

get_acumen_motif ( s_motif )
This PCL function retrieves the value of ACUMEN_MOTIF.
Inputs:
None.
Outputs:
STRING s_motif This argument will return the value of
ACUMEN_MOTIF.
INTEGER <return_val> This function will return a value of zero
if no errors have occurred and a
positive value to indicate an error.

Main Index
PCL Function Notes 19
Installation Guide

9 PCL Function Notes


The following PCL functions internally allocate space as needed for returned string
and array arguments. Existing code that makes use of these functions may have to be
modified so that the passed argument for these returned values are VIRTUAL data
values.

AASTATE.get_ur_string ( stepid, varname, svalue, nullflag )


Purpose:
This function will retrieve an integer value from the state virtual file.
Input:
STRING stepid [ ] This value specifies the step identifier
string associated with the retrieved
value.
STRING varname [ ] This value specifies the name of the
value to be retrieved.

Output:
STRING svalue [ VIRTUAL ] This argument returns the retrieved
value.
INTEGER nullflag This value returns 0 when the
function executes successfully and a
non zero value to indicate a change in
status or an error.

Returns:
None.

AASTATE.get_uresponse ( stepid, varname, realval, ival,


strval, dtype, nullflag )
Purpose:
This function will retrieve user response variables from the state virtual file.
Inputs:
STRING stepid [ ] This value specifies the step identifier
for the variable to be retrieved.
STRING varname { } This value specifies the name of the
value to be retrieved.

Main Index
20

Output:
REAL realval This value returns the retrieved real.
INTEGER ival This value returns the retrieved integer.
STRING strval [ VIRTUAL ] This value returns the retrieved string.
INTEGER dtype This value returns the type of data that
was recorded. This value will be set to
1 to indicate that a real value was
retrieved, a value of 2 to indicate that
an integer was retrieved, and 3 to
indicate that a string was retrieved.
INTEGER nullflag This value returns 0 when the function
executes successfully and a non zero
value to indicate a change in status or
an error.

Returns:
None.
Remarks:
Only one real, integer, or string value can be associated with a variable name
and step identifier value.

AASTATE.get_ur_stringarray ( stepid, arrayname, nvalue,


svalue )
Purpose:
This function will retrieve a string array from the state virtual file.
Input:
STRING stepid [ ] This value specifies the step identifier
string associated with the retrieved
value.
STRING varname [ ] This value specifies the name of the
value to be retrieved.

Output:
INTEGER nvalue This value returns the number of
offsets in the retrieved array.
STRING svalue [ VIRTUAL ] ( VIRTUAL )
This value returns the retrieved array.

Main Index
PCL Function Notes 21
Installation Guide

Remarks:
Only one real, integer, or string array can be associated with a variable name
and step identifier value.

AASTATE.get_ur_realarray ( stepid, arrayname, nvalue,


rvalue )
Purpose:
This function will retrieve a real array from the state virtual file.
Input:
STRING stepid [ ] This value specifies the step identifier
string associated with the retrieved
value.
STRING varname [ ] This value specifies the name of the
value to be retrieved.

Output:
INTEGER nvalue This value returns the number of
offsets in the retrieved array.
REAL rvalue ( VIRTUAL ) This value returns the retrieved array.

Remarks:
Only one real, integer, or string array can be associated with a variable name
and step identifier value.

AASTATE.get_ur_integerarray ( stepid, arrayname, nvalue,


ivalue )
Purpose:
This function will retrieve an integer array from the state virtual file.
Input:
STRING stepid [ ] This value specifies the step identifier
string associated with the retrieved
value.
STRING varname [ ] This value specifies the name of the
value to be retrieved.

Main Index
22

Output:

INTEGER nvalue This value returns the number of offsets


in the retrieved array.
INTEGER ivalue ( VIRTUAL ) This value returns the retrieved array.
Remarks:
Only one real, integer, or string array can be associated with a variable name
and step identifier value.

STATEUT.get_ur_array ( stepid, varname, nvalue,


u_int_array, u_real_array, u_string_array, d_type )
Purpose:
This function is used to retrieve user variables stored in the virtual file.
Inputs:

STRING stepid [ 4 ] This value specifies the step identifier.


STRING varname [ ] This value specifies the name of the
variable to be saved.
Outputs:
INTEGER nvalue This value returns the number of array
offsets in the variable. This value will
be set to 0 if the variable could not be
retrieved.
INTEGER u_int_array ( VIRTUAL )
This value returns an integer array
retrieved from the virtual file.
REAL u_real_array ( VIRTUAL )
This value returns a real array retrieved
from the virtual file.
STRING u_string_array [ VIRTUAL ] ( VIRTUAL )

This value returns a string array


retrieved from the virtual file.

Main Index
PCL Function Notes 23
Installation Guide

INTEGER d_type This value returns 1 to indicate that an


integer array is being returned, 2 for a
real array, and 3 for a string array.
INTEGER <Return Value> This function returns a value of 0 when
executed successfully and a zero value
to indicate a change in status or an
error.
Remarks:
This function will allocate space for the returned array arguments.

AAI.FILTER_URL ( s_input, s_output )


PURPOSE:
Filter and translate the ascii representation of characters passed in a string
through an URL.
INPUTS:
STRING s_input The string value passed through an
URL possibly containing hexidecimal
encoded ascii characters.

OUTPUTS:
STRING s_output [ VIRTUAL ] The filtered string.

NOTES:
This function will filter colon ":" and semicolon ";" encoded as hexidecimal
representations of the ascii character. The hexidecimal representations of the
ascii character can have the following format.
Encoded ASCII
form character
%3b ;
%3B ;
%3a :
%3A :

Main Index
24

AAI.URL_SUBSTR ( s_srch, s_rplc, s_inout )


PURPOSE:
Take a string, search for a sequence of characters and replace one sequence
of characters with another.
INPUTS:
STRING s_srch The string value to be searched for and
replaced.
STRING s_rplc The string value that will be used to
replace the search string when it is
found.
STRING s_inout The string on which the search and
replace operation will take place.

OUTPUTS:
STRING s_inout The string on which the search and
replace operation has taken place.

NOTES:
This function will do a search and replace operation on the contents of
s_inout, replacing and overwriting the original string contents with the
results of the operation.
The s_inout string must be long enough to accommodate the results of the
search and replace operation or the output will get truncated.

Main Index
Resizing Forms 25
Installation Guide

10 Resizing Forms
The forms that comprise the MSC Acumen user interface consists of standard MSC
Patran forms created using PCL code.
These forms are created when a MSC Acumen user application is started and when
the "Quick Review" form is displayed for the first time. These forms are created using
the form object definitions in the application xml files, the internal rules compiled into
the MSC Acumen core code, and the rules compiled into the MSC Patran core code.
The form sizing and location rules compiled into the MSC Acumen core code can now
be redefined with the use of an application and platform specific "sizer" file.
NOTE that the sizer file can only modify the rules compiled into the MSC Acumen
core code, not the rules compiled into MSC Patran. For example, the sizer file does not
allow for the repositioning of the main MSC Acumen form on the Windows NT
platform.
An MSC Acumen sizer file is located in the directory defined by the environment
variable ACUMEN_APPLICATIONS. The sizer file has the same file name as the
home drive page for the application but with the file extension ".sizer"
The initial file is both application specific and specific to the platform on which MSC
Acumen is being run.
Care should be taken in making modifications to the values in a sizer file. The forms
are created early in the startup of MSC Patran when error reporting resources are not
yet available. The form creation functions themselves are very sensitive to passed
argument values and an inappropriate value will cause a crash with a traceback to the
command line.
The initial values for the sizer file can be obtained using the following method.
1. Set the environment variable ACUMEN_INTERFACE to ENABLE.
2. Start the application and run through the until you are at a place where the
quick review form can be displayed.
3. Display the "Quick Review" form.
4. Run the following pcl function on the MSC Patran command line:
aaui_size.write_sizer_file ( "<filename>" )
This function call will create a file named <filename> in the current
directory.
5. Exit the application.
6. Copy <filename> to ACUMEN_APPLICATIONS/<home drive page>.sizer
7. Restart your application to make sure that it still works.
8. Modify CUMEN_APPLICATIONS/<home drive page>.sizer as needed,
restarting the application to test.

Main Index
26

11 Form Widget Access Functions


The MSC Patran testing environment is a command line driven. Testing of MSC
Acumen in an automated fashion in this environment is done with session files where
form call back functions are called directly and widgets are manipulated to provide
appropriate input values.
Functions have been added to the MSC Acumen core to allow the individual form
widgets to be accessed and manipulated using the ui_wid_set () function.
These functions are listed below. Be warned; these functions are used primarily for
testing purposes and may be modified as needed in future releases of MSC Acumen.

ACUMEN_GET_WID_TYPE ( w_widget, i_wid_type,


s_wid_type, i_wid_flags, s_class, s_name, w_form,
w_parent, w_sibling, w_child )
PURPOSE:
This function will return the properties of a widget.
INPUTS:
WIDGET w_widget The value representing the form from
which the property values will be
obtained.
OUTPUTS:
INTEGER i_wid_type A value representing the type of
widget.
STRING s_wid_type A string value describing the type of
widget.
INTEGER i_wid_flags A value representing state information
of the widget.
STRING s_class A value identifying the PCL class name
in which the widget was created.
STRING s_name A value representing the name of the
widget. This value is often blank.
WIDGET w_form A value identifying the form that
represents the top of the tree of forms
that this widget is a part of.
WIDGET w_parent This value identifies the parent of this
widget.

Main Index
Form Widget Access Functions 27
Installation Guide

WIDGET w_sibling A value identifying a sibling of this


widget. This might represent the
widget of the next item in a menu or
listbox.
WIDGET w_child A value identifying a child of this
widget. An example might be a databox
in a frame. The current widget would
be the frame, the child would be the
databox.
NOTES:
This function is useful for programatically identifying a widget to choose the
manner in which it will be modified. For example, the value of a databox can
be changed using a call to ui_wid_set ( "VALUE" ) but a label would be
modified using a ui_wid_set ( "LABEL" ). This function could be used to
identify when it is appropriate to us "LABEL" and when it is appropriate to
use "VALUE".
Enough information is returned where it should be possible to identify all of
the widgets and the organizational structure of a form starting with any
widget value from that form.

AAUI_FORMS.GET_FORM ( w_widget )
AAUI_FORMS.SET_FORM ( w_widget )
PURPOSE:
Get and set the widget for the main MSC Acumen user interface form.

AAUI_FORMS.GET_APPLY_BUTTON ( w_widget )
AAUI_FORMS.SET_APPLY_BUTTON ( w_widget )
PURPOSE:
Get and set the widget for the apply button on the main MSC Acumen user
interface form.

AAUI_FORMS.GET_BACKUP_BUTTON ( w_widget )
AAUI_FORMS.SET_BACKUP_BUTTON ( w_widget )
PURPOSE:
Get and set the widget for the backup button on the main MSC Acumen user
interface form.

Main Index
28

AAUI_FORMS.GET_DIALOG_HTML ( w_widget )
AAUI_FORMS.SET_DIALOG_HTML ( w_widget )
PURPOSE:
Get and set the widget for the html browser on the main MSC Acumen user
interface form.

AAUI_FORMS.GET_DUMMY_LABEL ( w_widget )
AAUI_FORMS.SET_DUMMY_LABEL ( w_widget )
PURPOSE:
Get and set the widget for the dummy label.
The dummy label is used as a tool for sizing objects on the form.

AAUI_FORMS.GET_HELP_BUTTON ( w_widget )
AAUI_FORMS.SET_HELP_BUTTON ( w_widget )
PURPOSE:
Get and set the widget for the help button on the main MSC Acumen user
interface form.

AAUI_FORMS.GET_INPUT_BOX ( w_widget )
AAUI_FORMS.SET_INPUT_BOX ( w_widget )
PURPOSE:
Get and set the widget for the input box that occupies the bottom third of the
main MSC Acumen user interface form.

AAUI_FORMS.GET_MAIN_PANEL ( w_widget )
AAUI_FORMS.SET_MAIN_PANEL ( w_widget )
PURPOSE:
Get and set the widget for the main panel on the main MSC Acumen user
interface form.

AAUI_FORMS.GET_MAIN_SWITCH ( w_widget )
AAUI_FORMS.SET_MAIN_SWITCH ( w_widget )
PURPOSE:
Get and set the widget for the main switch on the main MSC Acumen user
interface form.

Main Index
AAUI_FORMS.GET_QUIT_BUTTON ( w_widget )
AAUI_FORMS.SET_QUIT_BUTTON ( w_widget )
PURPOSE:
Get and set the widget for the quit button on the main MSC Acumen user
interface form.

AAUI_FORMS.GET_REVIEW_BUTTON ( w_widget )
AAUI_FORMS.SET_REVIEW_BUTTON ( w_widget )
PURPOSE:
Get and set the widget for the review button on the main MSC Acumen user
interface form.

AAUI_FORMS.GET_DATABOX_WIDGET ( i_wid_offset )
AAUI_FORMS.SET_DATABOX_WIDGET ( w_widget,
i_wid_offset )
PURPOSE:
Get and set a widget for the databox array of widgets on the main MSC
Acumen user interface form.

AAUI_FORMS.GET_FILE_WIDGET ( i_wid_offset )
AAUI_FORMS.SET_FILE_WIDGET ( w_widget,
i_wid_offset )
PURPOSE:
Get and set a widget for the file array of widgets on the main MSC Acumen
user interface form.

AAUI_FORMS.GET_LBOX_WIDGET ( i_wid_offset )
AAUI_FORMS.SET_LBOX_WIDGET ( w_widget,
i_wid_offset )
PURPOSE:
Get and set a widget for the listbox array of widgets on the main MSC
Acumen user interface form.

Main Index
AAUI_FORMS.GET_OPT_WIDGET ( i_wid_offset )
AAUI_FORMS.SET_OPT_WIDGET ( w_widget,
i_wid_offset )
PURPOSE:
Get and set a widget for the option menu array of widgets on the main MSC
Acumen user interface form.

AAUI_FORMS.GET_SBAR_WIDGET ( i_wid_offset )
AAUI_FORMS.SET_SBAR_WIDGET ( w_widget,
i_wid_offset )
PURPOSE:
Get and set a widget for the slide bar array of widgets on the main MSC
Acumen user interface form.

AAUI_FORMS.GET_SDBOX_WIDGET ( i_wid_offset )
AAUI_FORMS.SET_SDBOX_WIDGET ( w_widget,
i_wid_offset )
PURPOSE:
Get and set a widget for the select data box array of widgets on the main MSC
Acumen user interface form.

AAUI_FORMS.GET_SFRAME_WIDGET ( i_wid_offset )
AAUI_FORMS.SET_SFRAME_WIDGET ( w_widget,
i_wid_offset )
PURPOSE:
Get and set a widget for the select frame array of widgets on the main MSC
Acumen user interface form.

AAUI_FORMS.GET_TBOX_WIDGET ( i_wid_offset )
AAUI_FORMS.SET_TBOX_WIDGET ( w_widget,
i_wid_offset )
PURPOSE:
Get and set a widget for the text box array of widgets on the main MSC
Acumen user interface form.

Main Index
AAUI_FORMS.GET_TOG_WIDGET ( i_wid_offset )
AAUI_FORMS.SET_TOG_WIDGET ( w_widget,
i_wid_offset )
PURPOSE:
Get and set a widget for the toggle array of widgets on the main MSC
Acumen user interface form.

AAUI_FORMS.GET_MAXWID_ARRAY ( i_array )
PURPOSE:
Get an array of integers that is used to keep track of the sizes of the arrays of
widgets.
OUTPUTS:

INTEGER i_array ( VIRTUAL ) This value returns an array of


integers used to keep track of the
sizes of the arrays of widgets.
The offsets of this array are for the
following widget array types:
Offset Type
1 Databoxe widgets
2 File widgets
3 Listbox widgets
4 Option menu widgets
5 Slide bar widgets
6 Select data box widgets
7 Text box widgets
8 Toggle widgets

NOTES:
This function will allocate the output array as needed.

Main Index
AAUI_FORMS.SET_MAXWID_ARRAY ( i_array )
PURPOSE:
Set an array of integers that is used to keep track of the sizes of the arrays of
widgets.
INPUTS:
INTEGER i_array ( VIRTUAL ) This value sets an array of integers
used to keep track of the sizes of the
arrays of widgets.
The offsets of this array are for the
following widget array types:
Offset Type
1 Databox widgets
2 File widgets
3 Listbox widgets
4 Option menu widgets
5 Slide bar widgets
6 Select data box widgets
7 Text box widgets
8 Toggle widgets

OUTPUTS:
INTEGER <return value> This function will return 0 indicating
success or a non-zero value indicating
the following error states:
1 The number of dimensions for the
target array is incorrect.
2 The number of dimensions for the
passed input array is incorrect.
3 The lower boundary array value for
the passed input array is incorrect.
4 The upper boundary array value
for the passed input array is incorrect.

NOTES:
The input array passed to this function must match the target array exactly
in size, number of dimensions, and in upper and lower boundary limits.
The size, dimensionality, and upper and lower boundary limits can be found
with a call to AAUI_FORMS.GET_MAXWID_ARRAY ( )

Main Index
AAQUICK.GET_FORM ( w_widget )
AAQUICK.SET_FORM ( w_widget )
PURPOSE:
Get and set the widget for the MSC Acumen quick review form.

AAQUICK.GET_DUMMY_LABEL ( w_widget )
AAQUICK.SET_DUMMY_LABEL ( w_widget )
PURPOSE:
Get and set the widget for dummy label on the MSC Acumen quick review
form.
The dummy label is used as a tool for sizing objects on the form.

AAQUICK.GET_SCR_FRAME ( w_widget )
AAQUICK.SET_SCR_FRAME ( w_widget )
PURPOSE:
Get and set the widget for scroll frame on the MSC Acumen quick review
form.

AAQUICK.GET_COMBO_WIDGET ( i_wid_offset )
AAQUICK.SET_COMBO_WIDGET ( w_widget,
i_wid_offset )
PURPOSE:
Get and set the widgets used to display information on the MSC Acumen
quick review form.
NOTES:
The combo widgets array can consist of a mix of label, databox, and option
menu widgets.
The ACUMEN_GET_WID_TYPE () function can be very handy as a tool to
identify the widget type when these widgets are manipulated with a call to
ui_wid_set () or ui_wid_get ().

Main Index
AAQUICK.GET_OPT_ITEM ( i_wid_offset )
AAQUICK.SET_OPT_ITEM ( w_widget, i_wid_offset )
PURPOSE:
Get and set the widgets used to display information on the MSC Acumen
quick review form.
NOTES:
The opt widgets array contains the item widgets used with option menu
widgets in the combo widgets array.
The ACUMEN_GET_WID_TYPE () function can be very handy as a tool to
identify the widget type when these widgets are manipulated with a call to
ui_wid_set () or ui_wid_get ().

AAQUICK.GET_SEPERATOR ( i_wid_offset )
AAQUICK.SET_SEPERATOR ( w_widget, i_wid_offset )
PURPOSE:
Get and set the separator widgets used to format information on the MSC
Acumen quick review form.

AAQUICK.GET_STEP_LABEL ( i_wid_offset )
AAQUICK.SET_STEP_LABEL ( w_widget, i_wid_offset )
PURPOSE:
Get and set the step label widgets used to display information on the MSC
Acumen quick review form.

AAQUICK.GET_VAR_LABEL ( i_wid_offset )
AAQUICK.SET_VAR_LABEL ( w_widget, i_wid_offset )
PURPOSE:
Get and set the variable label widgets used to display information on the
MSC Acumen quick review form.

Main Index
12 Client Data Access Functions
MSC Acumen records state information that can be used to restore the state of an MSC
Acumen application when an existing database file is opened.
This state information is specified by the application author using the state functions
discussed in the documentation.
This state information is managed by storing, retrieving, and manipulating client
information in the MSC Patran database using the following MSC Patran core
functions:
db_count_client_labels_by_type
db_create_client_data
db_delete_client_data
db_get_all_client_data
db_get_client_data
db_get_client_id_by_label
db_get_client_labels_by_type
Unfortunately some information needs to be known to retrieve the state information.
Even with the use of the underlying client information functions, the application
designer must at least know the type information for the client data of interest.
MSC Acumen uses three hard coded data types for storage of state table information:
444, 555, and 666.
Three functions have been added to make retrieving client data easier for the MSC
Acumen author.
Note that the format and type of data returned by these functions is highly application
design dependant.

STATEUT.LIST_CLIENT_DATA ()
PURPOSE:
Lists all client data used by MSC Acumen to the session file.
INPUTS:
OUTPUTS:
INTEGER <return value> Returns a value of 0 for success or a non
zero value indicating a failure.

Main Index
STATEUT.LIST_CLIENT_DATA_TYPE ( i_type )
PURPOSE:
Lists all client data of the specified type to the session file.
INPUTS
OUTPUTS:

INTEGER <return value> Returns a value of 0 for success or a non


zero value indicating a failure.

STATEUT.GET_CLIENT_DATA ( i_type, i_cnt, i_id, i_lbl,


i_clnt_type, i_num_log, i_num_int, i_num_real,
i_num_strings, i_num_str_len, l_data, i_data, r_data,
s_data )
PURPOSE:
Returns all client data information specified by type.
INPUTS:
INTEGER i_type This value specifies the client data type
to be retrieved.
OUTPUTS:
INTEGER i_cnt This value returns the number of
client data sets of the specified type.
INTEGER i_id ( VIRTUAL ) This array returns the id values for the
client data sets of the specified type.
The array is single dimensional with
an upper boundary value specified by
the output value i_cnt.
INTEGER i_lbl ( VIRTUAL ) This array returns the label values for
the client data sets of the specified
type. The array is single dimensional
with an upper boundary value
specified by the output value i_cnt.
INTEGER i_clnt_type This array returns the client type
(VIRTUAL ) values for the client data
sets of the specified type. The array is
single dimensional with an upper
boundary value specified by the
output value i_cnt.

Main Index
INTEGER i_num_log This array returns the number
(VIRTUAL) of logical values for the
client data sets of the specified type.
The array is single dimensional with
an upper boundary value specified by
the output value i_cnt.
INTEGER i_num_int This array returns the number
(VIRTUAL) of integer values for the
client data sets of the specified type.
The array is single dimensional with
an upper boundary value specified by
the output value i_cnt.
INTEGER i_num_real This array returns the number
(VIRTUAL) of real values for the client
data sets of the specified type. The
array is single dimensional with an
upper boundary value specified by
the output value i_cnt.
INTEGER i_num_strings This array returns the number (
VIRTUAL) of string values for the
client data sets of the specified type.
The array is single dimensional with
an upper boundary value specified by
the output value i_cnt.
INTEGER i_num_str_len This array returns the maximum
length (VIRTUAL) of the string values
for the client data sets of the specified
type. The array is single dimensional
with an upper boundary value
specified by the output value i_cnt.
LOGICAL l_data This array returns the logical (
VIRTUAL) data for the client data sets
of the specified type.
This array is two dimensional. [ l_data
(x,y) ]
The first dimension has an upper
boundary value specified by the
output value i_cnt. The second
dimension has an upper boundary
specified by the largest value in the
array returned by i_num_log.

Main Index
INTEGER i_data This array returns the integer
(VIRTUAL) data for the client data
sets of the specified type.
This array is two dimensional.
[ i_data (x,y ) ]
The first dimension has an upper
boundary value specified by the
output value i_cnt. The second
dimension has an upper boundary
specified by the largest value in the
array returned by i_num_int.
REAL r_data This array returns the real (VIRTUAL)
data for the client data sets of the
specified type.
This array is two dimensional.
[ r_data ( x, y ) ]
The first dimension has an upper
boundary value specified by the
output value i_cnt. The second
dimension has an upper boundary
specified by the largest value in the
array returned by i_num_real.
STRING s_data This array returns the string
(VIRTUAL ) data for the client data
sets [ VIRTUAL ] of the specified
type.
This array is two dimensional.
[ s_data ( x, y ) ]
The first dimension has an upper
boundary value specified by the
output value i_cnt. The second
dimension has an upper boundary
specified by the largest value in the
array returned by i_num_strings. The
length of the strings is specified by the
largest value in the array returned by
i_num_str_len.
INTEGER <return value> Returns a value of 0 for success or a
non zero value indicating a failure.

Main Index
NOTES:
The built in PCL functions sys_array_hbound (), sys_array_lbound (),
sys_array_nbound () are very useful in identifying and working with arrays.

Main Index
13 Linux Notes
The mscsetup installation script file requires the Korn Shell or ksh to do its magic. If
your system does not have ksh installed a good place to start looking for a copy is
http://www.kornshell.com/

Main Index
14 Application Initialization
MSC Acumen now supports the ability to optionally call a function named:
acumen_app_init ()
This function is called with no passed arguments and expects no returned values.
This function does not exist in MSC Patran or the core MSC Acumen code, allowing
an application author to define the function in the application pcl code.
This function is called, if it exists, at the start of the call to aaui.init ()
This function is very useful for setting up a multiple form user interface for MSC
Acumen.

Main Index
15 Multiple Form User Interface
MSC Acumen now supports the ability to place the three separate sections of the
default user interface on up to three separate forms.
The default or "classic" MSC Acumen user interface consists of three separate parts:
• A main or step panel where the application steps completed are controlled
and listed which occupies roughly the upper third of the user interface.
• An HTML panel which occupies roughly the middle third of the user
interface.
• An input panel which occupies roughly the bottom third of the user
interface.
Two core functions have been created which allow either the "step" panel and/or the
"input" panels to be placed on separate forms.
These functions:
aaui.set_step_seperate ( l_true_false )
aaui.set_input_seperate ( l_true_false )
Can be called either with a p3midilog.pcl file or through the acumen_app_init ( )
function.

Main Index
16 Installation Notes
Hewlett Packard UNIX machines may have problems reading the MSC Acumen CD-
ROM.
Symptoms of these problems are extra characters at the end of file names on the
delivery CD after it has been mounted on a machine.
A workaround has been provided in the form of a tar file in a subdirectory containing
the complete installation cd file set.
This tar file is located in
msc_acumen/msc_acumen.tar

on the CD-ROM.
The tar command ( see man tar ) can be used to extract the installation cd file set to a
temporary directory. The mscsetup script file can then be run in the temporary
directory to install MSC Acumen.

Main Index
Main Index

Você também pode gostar