| Schematic Userware |
The schematic userware has a number of functions which are used to add and maintain the appropriate property values on the symbols instantiated onto the schematic sheets. It has other utilities such as text manipulation (search and replace), auto net name naming from pins on functional blocks, direct functional block creation on the schematic sheet and extended check sheet.
The creation of the various library palettes is done automatically by using the create_library_uw shell command. The libraries can be defined as flat or with sub-levels and marked as discrete or unreleased libraries. A number of templates can be used to define commonly used items which will appear at the top of each library palette.
A Design Library and Functional Block Library menu items have been added as well to the Libraries pulldown menu in order to provide easy access to those libraries without the need of using the Choose Symbol dialog box.
Here is an example of usage of the create_library_uw shell command:
#!/bin/sh
# Set required environment variables
MGC_HOME=/idea; export MGC_HOME
LM_LICENSE_FILE=/user/admin/mgls/mgc.licenses; export LM_LICENSE_FILE
MGC_LOCATION_MAP=/user/admin/location_maps/mgc_location_map; export MGC_LOCATION_MAP
MT_HOME=/user/mt_home; export MT_HOME
# Set PATH
PATH="$MGC_HOME/bin:$MT_HOME/bin:$PATH"; export PATH
# Set library directory
LIB_PATH=/user/eda_libraries/pcb_libs
if [ ! -d $LIB_PATH ] ; then
exit 1
fi
# Run create_library_uw on sub levels analog_lib ecl_lib logic_lib memory_lib
cd $LIB_PATH
for i in analog_lib ecl_lib logic_lib memory_lib
do
cd $LIB_PATH/$i
for j in *_lib
do
if [ "$i" = "analog_lib" ] ; then
create_library_uw -name EDA -library_path $LIB_PATH -palette -sub_level $i/$j
else
create_library_uw -name EDA -library_path $LIB_PATH -sub_level $i/$j
fi
done
if [ "$i" = "analog_lib" ] ; then
create_library_uw -name EDA -library_path $LIB_PATH -sub_level $i -ignore analog_ic_lib transistor_lib
else
create_library_uw -name EDA -library_path $LIB_PATH -sub_level $i
fi
done
# Run create_library_uw on gen_lib
create_library_uw -name EDA -library_path $LIB_PATH -sub_level gen_lib -popup ground rip
# Run create_library_uw on top_level
cd $LIB_PATH
create_library_uw -name EDA -library_path $LIB_PATH -popup mechanical_lib -palette passive_lib -property_list passive_lib -ignore test_lib -unrlsd unrlsd_lib
# Set exit code
exit 0
Here is an example of palettes created by the create_library_uw shell command:
Here is a list of all the external variables that are being used by the userware:
//---------------------------------------------------------------------- // // If you have to change any of these variables create and modify one of : // COMPANY_HOME/userware/company_da/userware/default/schematic.dofile // $MGC_HOME/shared/etc/cust/des_arch/schematic.dofile // $MGC_HOME/etc/cust/des_arch/schematic.dofile // $HOME/mgc/userware/des_arch/schematic.dofile // //---------------------------------------------------------------------- // Number of minimum entries to keep property_list in memory extern mt_property_list_read_size = 10; // Default/Min/Max number of entries to diaply in dynamic list extern mt_property_list_dialog_box_length = 6; extern mt_min_property_list_dialog_box_length = 6; extern mt_max_property_list_dialog_box_length = 15; // Default/Min/Max width of dynamic list extern mt_property_list_dialog_box_width = 300; extern mt_min_property_list_dialog_box_width = 300; extern mt_max_property_list_dialog_box_width = 600; // Default/Min/Max width of "Part Info" dynamic list extern mt_desc_property_list_dialog_box_width = 500; extern mt_min_desc_property_list_dialog_box_width = 500; extern mt_max_desc_property_list_dialog_box_width = 700; //----------------------------------------------------------------------
List of functions:
List of function keys and strokes:
The following table lists predefined function keys, control keys, mouse buttons and strokes with their function names and a description of the action they perform.
| Key Name | Description |
|---|---|
| $stroke_78963() Stroke 78963 | Rotates 90 degrees selected objects around the basepoint. If a single instance is selected it will be first disconnected and reconnected after rotating. |
| $stroke_36987() Stroke 36987 | Rotates -90 degrees selected objects around the basepoint. If a single instance is selected it will be first disconnected and reconnected after rotating. |
| $key_f9() F9 | Displays the Change Property Value by Prompt prompt bar. |
| $key_f9s() Shift-F9 | Displays the Change Part View dialog box if a valid property_list exists for the instance under the cursor location. |
| $key_f9c() Control-F9 | Displays the Replace With Alternate Symbol By List dialog box for the instance under the cursor location. |
| $key_control_v() Control-V | Displays the Set Active Symbol Part View dialog box if a valid property_list exists for the current active symbol. |
| $key_control_x() Control-X | Displays the Set Active Symbol By List dialog box for the current active symbol. |
| $key_lmb2() Double-Click MMB | Opens down on instance under the cursor. |
| $key_lmbc() Control-LMB | Selects pins and vertices in the area defined by the dynamic rectangle. |
| $key_lmb2c() Double-Click Control-LMB | Displays the Replace With Alternate Symbol By List dialog box for the instance under the cursor location. |
webmaster@eda.com.au