Страница Unigraphics.
 

 

История:
 The Unigraphics Virtual Museum :  http://www.plmworld.org/museum/

Ядро геометрического моделирования.

Пакет геометрического моделирования (называемый также геометрическим ядром) — набор библиотек с программным интерфейсом (API), с помощью которого можно пользоваться функциями геометрического (например, твердотельного) моделирования.

  Ядро Разработчик www  Тип
1 CGM   CATIA (Dassault Systèmes)    Лицензия
2 GRANITE (PTC)   Pro/E    Лицензия
3 Parasolid   UGS http://www.parasolid.com/  Лицензия
4 ACIS  Spatial Corp. — дочерней компании Dassault Systèmes http://www.spatial.com/  Лицензия
5 CASCADE  Matra Datavision, Open CASCADE http://www.opencascade.org/  Открытая
6 SMLib   Solid Modeling Solutions http://www.smlib.com/  Открытая
7 thinkdesign kernel   think3 Inc. http://www.think3.com/  Частная
8 VX Overdrive   Varimetrix Corp. http://www.varimetrix.com/  Частная
         

 Предпочтения:

Что мне нравиться в Unigraphics  Что не нравиться 
 Дизайн.
 Motif.
 Меню диалогов.
 Настройка и обслуживание.
 Модульность. 

Модуль Drafting - минус очень большой, для тех, кто хочет подготавливать конструкторскую или технологическую документацию.
 Сложность освоения. Громадное количество кнопок и настроек. Немыслимое число открытых функций в UG\Open.
 Пользоваться можно только после огромной подготовительной работы.

  Модуль Моделирования - вне всяких похвал.
 Мощное. Удобное.

Модуль Обработки [Manufacturing] - ограниченный набор шаблонов, их пересечение - начинаешь путаться.
 Малое количество функций открытых в UG\Open.
  Пересечение UG\Open и Grip. Они взаимно друг друга дополняют.

   

Шаблоны, шрифты.

 
TemplatePage_v18.zip (440 кб)  шаблоны *.prt (форматы Фx, A1,A2,A4,...) создано в версии v18
ugfonts_rus.zip (27 кб)  шрифты (русские).
        blockfont.fnx , cyrillic.fnx , cyrillicf.fnx , - входят в стандартную установку!!!!  их устанавливать не надо)
        gost2.304_81.fnx , russian1.fnx , russian.fnx  - это шрифты 99 года.
sbf.zip  - 4 файла - символов *.sbf для установки спецсимволов в Драфтинге.

Запуск Unigraphics.

    Не для кого не секрет, что дома: для учебы, освоения, создания программ и постпроцессоров - мы все используем не лицензионную версию Unigraphics.

2-е истории про Совесть.

 

Однажды на предприятие приехал японец, достал свой компьютер ....ээээ размером 15 x 20 см толщиной 1см, и стал запускать ЮГ!!! Запустил!! И стал работать на клавиатуре с клавишами размером от мобильного телефона!! Без мыши!!! При этом спрашивая через переводчика: - "а у вас на предприятии, Вы, точно используете лицензионную Юниграфикс?". Я испытал состояние близкое к безмятежному, а в голове сверлила мысль - "куда катиться мир?".

 

Это было в 97-98 годах. КнаАПО купило UG, но лицензий было мало, поэтому во всю использовали ворованный (ломанный ЮГ). Наступил 2000-2002 гг, в связи с внедрением Iman встала задача засунуть в базу все эти модели. После база отправляется в М. ОКБ Сухого для ... скажем для синхронизации... :):): Но модели были сделаны на ломанном Юге. И это как то отображалось там у них. Поэтому прозвучала команда модифицировать модель сделанную в ломанном Юге в нормальную лицензионную. :):) Проблемой занялся начальник отдела по разработке и поддержке САПР - Долгополик (тот еще кадр). Как он делал? Просто он построил одну и ту же модель - в ломаном Юге и в лицензионном. При этом даже подгонял время создания. И... был найден тот самый бит.. да да - бит - который и делал prt-файлы разными по лицензионности. :):) ну, а дальше дело техники... массово прогнали через утилиту... и вуаля.. совесть КнаАПО чиста как слезы у младенца.

 маленький секрет полишинеля:

  для запуска сервера Юга я использую батник (это связано с ленью его запускать в Lmtools , и желанием облегчить жизнь компьютера и без того перегруженного службами баз, оборудования и драйверов). Также, Самое главное! Этот способ - позволяет обходиться без прав администратора, чтоб запускать службу сервера лицензии.
 
Параметры запуска я узнаю используя утилиту ProcExp.exe (Sysinternals Process Explorer, Mark Russinovich ).

rem  НЕ забываем редактировать файл Лицензии - Имя компьютера .

rem 16
rem set pp=.\UGS160
rem set UGFLEXLM_DIR=%pp%\UGFLEXlm\
rem %UGFLEXLM_DIR%\uglmd.exe -T %computername% 6.1 -1 -c "%pp%\ugv160.dat" -l "%pp%\ugv160.log"
rem %UGFLEXLM_DIR%\lmgrd.exe -app -win -c "%pp%\ugv160.dat" -l "%pp%\ugv160.log"

rem NX4
rem set pp=E:\UGNX4\
rem %pp%UGFLEXlm\uglmd.exe -T %computername% 10.8 -1 -c "%pp%\ugnx4.lic" --lmgrd_start 480101d5 -l "%pp%\ugnx4.log"
rem %pp%\UGFLEXLM\Lmgrd.exe -c "%pp%\ugnx4.lic" -l "%pp%\ugnx4.log" -z

rem NX6
rem set pp=C:\UGNX6\
rem "%pp%UGFLEXLM\ugslmd.exe" -T %computername% 11.4 -1 -c "%pp%\nx6.lic" --lmgrd_start 49ee0f8b -l "%pp%\nx6.log"
rem "%pp%UGFLEXLM\lmgrd.exe" -c "%pp%\nx6.lic" -l "%pp%\nx6.log" -z

rem NX75
rem
set pp=C:\UGNX75\
rem
"%pp%\UGSLicensing\ugslmd.exe" -T %computername% 11.6 -1 -c "%pp%\UGSLicensing\ugs4.lic" --lmgrd_start 4b4dc019 -l "%pp%UGSLicensing\ugslicensing.log"
rem
"%pp%\UGSLicensing\lmgrd.exe" -app -win -c "%pp%UGSLicensing\ugs4.lic" -l "%pp%UGSLicensing\ugslicensing.log" -z2

rem pause
rem

после, в следующем батнике я запускаю и сам ЮГ, с нужными мне установками и переменными (примерно по такой схеме):

  ugs_my.bat  ( примерно )

rem  .\UGS160 C:\ugs\UGS180 C:\UG_NX C:\UGS190 C:\UG_NX2
rem
set UGII_BASE_DIR=C:\UGSNX75
rem
set UGII_ROOT_DIR=%UGII_BASE_DIR%\ugii\

rem 'russian english
rem set UGII_LANG=english

rem для 16-NX1-nx4!!!!
set UGII_LICENSE_FILE=27000@%computername%
rem для NX6-NX7x !!!!!
set UGS_LICENSE_SERVER=28000@%computername%

rem
для 16\18-ой версии
set UGFLEXLM_DIR=%UGII_BASE_DIR%\UGFLEXlm\
set UGII_PLOT_DIR=%UGII_BASE_DIR%\PLOT
set UGII_PLOTQ_DIR=C:\WINDOWS\system32\spool\ugplot
set UGII_PLOTQ_SOCKET=2365

call
ugs_my.bat

rem Start Unigraphics through the launcher program
start /D %UGII_BASE_DIR%\ugii /B ugraf.exe

rem start /D %UGII_BASE_DIR%\ugii /B ugraf.exe -mechatronics
rem start /D %UGII_BASE_DIR%\ugii /B ugraf.exe -powerdrafting
rem start /D %UGII_BASE_DIR%\ugii /B ugraf.exe -view

rem %UGII_ROOT_DIR%\ugs_router -ugm -version=V25.0 %*
rem %UGII_ROOT_DIR%\ugs_router -ugm -version=V24.0 %*
rem %UGII_ROOT_DIR%\ugs_router -ugm -version=V20.0 %*
rem %UGII_ROOT_DIR%\ugs_router -ugm -version=V19.0 %*
rem %UGII_ROOT_DIR%\ugs_router -ugm -version=V18.0 %*
 

set WORK=W:\ugs\
rem ->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> CAM
set UGII_CAM_BASE_DIR=%WORK%mach\

rem Tcl/Tk - возможности модуля Обработки
set PLUGIN_TCL_LIBRARY=%UGII_CAM_BASE_DIR%auxiliary/vnc_plugin/lib/
set TK_LIBRARY=%UGII_CAM_BASE_DIR%lib\tk8.6\
set TCL_LIBRARY=%UGII_CAM_BASE_DIR%lib\tcl8.6\
set TCLLIBPATH=%UGII_CAM_BASE_DIR%lib\

set UGII_MDF_DIR=%WORK%mach\Mdfa\
set UGII_CAM_AUXILIARY_DIR=%WORK%mach\auxiliary\
set UGII_CAM_POST_DIR=%WORK%mach\resource\postprocessor\
set UGII_CAM_USER_DEF_EVENT_DIR=%WORK%mach\resource\user_def_event\
set UGII_CAM_TOOL_PATH_DIR=%WORK%mach\resource\tool_path\
set UGII_CAM_SHOP_DOC_DIR=%WORK%mach\resource\shop_doc\
set UGII_UG_LIBRARY_DIR=%WORK%mach\resource\ug_library\
set UGII_CAM_LIBRARY_DIR=%WORK%mach\resource\library\

set UGII_VENDOR_DIR=%WORK%user_tools\
set UGII_KF_USER_CLASS_DIR=${UGII_VENDOR_DIR}dfa_files;${UGII_VENDOR_DIR}other_dfa
set UGII_USER_DIR=%WORK%server\user_tools\win

rem set UGII_SMP_ENABLE = 1

rem
set USER_CREATE=

rem если открыть то будут не все user-меню.
rem set UGII_OPTION=LOWER

rem 'russian english
set UGII_LANG=english
 

 


Инструмент.
Работа с Базой Инструмента UG.

  1. Не знаю кто создавал, видно еще когда не было русской документации:
    Инструкция по созданию инструмента из базы UG:  Правила библиотеки инструмента в UG (318 кб)

     
  2. Сборники инструментов и оправок:    tool_database.zip        holder_database.zip
    Файл классов - описаний:
    dbc_tool_ascii.def - он необходим, так как изменены данные представления инструмента.
     
  3. Представьте ситуацию: вам необходимо найти инструмент (группу инструментов) удовлетворяющих определенному требованию, например: d20. Вы знаете, что создавали для себя таблицу инструментов (в файле \MACH\resource\library\tool\metric\tool_database.dat) и вносили в неё: D20F40 D20L456OPT,..., ну и так далее... Теперь вы хотите всех их найти, чтоб подобрать нужный Вам.
    В окне поиска инструмента Вы вбиваете : D20 -> поиск  -> .. и....есть, но не все или вообще ничего нет.
    Пробуете D20*->поиск ->.. и....снова ничего нет. Вы в недоумении.
    А всё просто.
    Если ознакомиться с документацией, то выясниться: чтобы найти нужный вам инструмент: необходимо вбить: &=D20-> поиск - > и вот список так необходимый Вам.
    Проблема в том, что при работе с базой - Unigraphics использует не стандартные символы для определения шаблонов.
    Для дополнения их, до стандартных спецсимволов * ? примените описанные ниже изменения, тогда поиск инструмента можно будет производить как обычно в Windows: D20* или *d20*n???
    Кстати, эту фигню (неудобства) до сих пор применяют в Юге, даже в 6-ом!!!.

Найдите файл в папке куда Вы установили Юг: \MACH\resource\ug_library\dbc_ascii_general.tcl. И добавьте в функцию ASC_create_criterion фрагмент выделенный синим цветом.

До После
#---------------------------------------------
proc ASC_create_criterion {} {
#---------------------------------------------
global asc_debug
global dbc_lhs_exp
global dbc_rhs_exp
global dbc_relop
global dbc_query
global units_from_query

if { $asc_debug == "1" } {
puts "DBC_create_criterion" 
puts "dbc_lhs_exp = $dbc_lhs_exp"
puts "dbc_rhs_exp = $dbc_rhs_exp"
puts "dbc_relop = $dbc_relop"
}

ASC_extract_expression dbc_lhs_exp 
ASC_extract_expression dbc_rhs_exp 


if { "$dbc_rhs_exp" == "%" && "$dbc_relop" == "==" } \
{
set dbc_query "(1 == 1)"
} \
elseif { "$dbc_relop" == "&=" } \
{ 
set dbc_query "\[regexp \{$dbc_rhs_exp\} $dbc_lhs_exp\]"
} \
elseif { "$dbc_lhs_exp" == "Units" && "$dbc_rhs_exp" == "MM" } \
{ 
set units_from_query 0
set dbc_query "(1 == 1)"
} \
elseif { "$dbc_lhs_exp" == "Units" && "$dbc_rhs_exp" == "INCH" } \
{ 
set units_from_query 1
set dbc_query "(1 == 1)"
} \
else \
{
set dbc_query "($dbc_lhs_exp $dbc_relop \"$dbc_rhs_exp\")"
}

if { $asc_debug == "1" } {
puts "DBC_Create_Criterion made: $dbc_query"
}
}

 
#---------------------------------------------
proc ASC_create_criterion {} {
#---------------------------------------------
global asc_debug
global dbc_lhs_exp
global dbc_rhs_exp
global dbc_relop
global dbc_query
global units_from_query

if { $asc_debug == "1" } {
puts "DBC_create_criterion" 
puts "dbc_lhs_exp = $dbc_lhs_exp"
puts "dbc_rhs_exp = $dbc_rhs_exp"
puts "dbc_relop = $dbc_relop"
}

ASC_extract_expression dbc_lhs_exp 
ASC_extract_expression dbc_rhs_exp 


if { "$dbc_rhs_exp" == "%" && "$dbc_relop" == "==" } \
{
set dbc_query "(1 == 1)"
} \
elseif { "$dbc_relop" == "&=" } \
{ 
set dbc_query "\[regexp \{$dbc_rhs_exp\} $dbc_lhs_exp\]"
} \
elseif { "$dbc_lhs_exp" == "Units" && "$dbc_rhs_exp" == "MM" } \
{ 
set units_from_query 0
set dbc_query "(1 == 1)"
} \
elseif { "$dbc_lhs_exp" == "Units" && "$dbc_rhs_exp" == "INCH" } \
{ 
set units_from_query 1
set dbc_query "(1 == 1)"
} \
else \
{
set dbc_query "($dbc_lhs_exp $dbc_relop \"$dbc_rhs_exp\")"
}

#!!!!!!!!!!!!!!!!!!! ###($asc_database($db_row,LIBRF) == "")
set qry ",LIBRF) =="
if {[string match *${qry}* $dbc_query]} {

set dbc_query "\[regexp \{$dbc_rhs_exp\} $dbc_lhs_exp\]" 

if {[regexp {[*]+|[?]+} $dbc_rhs_exp]} {
set dbc_query "\[string match $dbc_rhs_exp $dbc_lhs_exp\]" 
}

}
#!!!!!!!!!!!!!!!!!!!

if { $asc_debug == "1" } {
puts "DBC_Create_Criterion made: $dbc_query"
}
}

 


Copyright © 2001—2009 че

Hosted by uCoz