lucky_sever

NX 12 впечатления

54 сообщения в этой теме


17 часов назад, tm-ares сказал:

А у меня токарка съехала... на С++ ругается. Мало того, и в NX11 ошибки пошли...

Показать содержимое  

u_d5dedfc04a78700f17db24a69e2c3d23_800.j

Hide  
1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Исследую модель в модуле Space Systems Thermal (SST). Версия рутрекера.

Как сборки в *.sim- файле не загружались, так и не загружаются, приходится *.prt вручную грузить. (у меня  в "параметры загрузки сборки" стоят все возможные галочки: "As saved", "полностью загруженное состояние" и тп).

Справка не работает, стучится через plm.siemens.com

Распараллеливание решения работает некорректно по совершенно непонятной причине:

Удалил MPICH2, зашел в NX12\nxcae_extras\tmg, установил заново MPICH2 c правами админа на WIN7x64 , при создании parallel configuration file вылетает окно с логином и паролем (зачем? не было такого)

Скрытый текст

IMG_20171124_103035.thumb.jpg.6669788dd97421d8fd2783e7bce78ec4.jpg

После чего в процессе валидации среди прочих вылезает сообщение:

"master: MPI initialization test failure: Faulty or incompatible MPI installation

master: MPI initialization test failure: Faulty or incompatible MPI installation" . 

Причем в ряде задач решение тупо вылетает с ошибкой "Прекращена работа программы "analyz.exe" после расчета излучения между элементами, а в ряде задач все досчитывается до конца. Все задачки считались в NX11 версии рутрекера

 

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

 

Не знаю я , как решать эти проблемы, решил отписаться тут, чтобы не плодить темы) Пока что NX11 работает стабильнее.

Изменено пользователем tuly666

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вылез явный глюк при отображении резьбы.

Размер создан автоматически с использованием "Размер отверстия".

в 11-й версии все отображалось как и должно быть по ЕСКД. (доказательство - см. на Ютубе: Секреты.Настройка.Файл резьб.Применение в моделировании и в черчении.)

Сейчас - пришлось подправить файл настроек что-бы в суффиксе дописывало "радиальное врезание" (-5Н6Н). Ну а с выносной линией ничего поделать нельзя - выходит от внутреннего диаметра отверстия а не от условного отображения резьбы.

NX 12 - ошибка отображения резьбы.jpg

Изменено пользователем valeo-ua
1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Походу, надо ждать сервис-паки. Одну и ту же деталь в сравнении с NX10 выполнил по-другому.

Постпроцессоры надо пересохранять в РВ12, иначе выводит УП не так, как надо. Вместо круговой в NX10 выводит линейную интерполяцию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
43 минуты назад, cepr сказал:

Постпроцессоры надо пересохранять в РВ12, иначе выводит УП не так, как надо. Вместо круговой в NX10 выводит линейную интерполяцию.

Что то не сталкивался с подобным. У меня есть постпроцессоры, которые работают ещё с NX0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте! Установил NX 12. Решил выгнать проги на постпроцессор через CLSF и пошли ошибки. В 8,5 было все нормально. Подскажите кто знает в чем проблема

Снимок.PNG

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
13 часа назад, Maxim_87 сказал:

 NX 12. Подскажите кто знает в чем проблема

С вероятностью 50%  в коде самой программы - смогут решить только в Siemens.

Я полагаю, NX12 ещё весьма "сырой" ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1f1d7429a3b55956dcce9b145c3b5ee2-full.jp 

вечная проблема с 12 версией, знает кто как восстановить программу?

Изменено пользователем WhiteMaks

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
19 часов назад, WhiteMaks сказал:

вечная проблема с 12 версией, знает кто как восстановить программу?

У меня картинка ведёт почему-то на https://perfetto-furniture.com/.

Это так и задумано?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ID: 51   Опубликовано: (изменено)

Кто нибудь может объяснить логику - убрали команды "выступ", "карман", "паз". Т.е. они объявлены устаревшими и вместо них предлагается использовать "тиснение", но то что делалось "одним махом", без необходимости создавать эскиз(ы), теперь теперь больше телодвижений требует. Задуманы какие-то другие варианты создания типичных конструктивных элементов?

 

Изменено пользователем qSerj

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, qSerj сказал:

Кто нибудь может объяснить логику

Поддерживаю. Логика не всегда понятна. Понимаю, что привычка - великое дело. Но, зачастую, функционал и визуализация новых команд уступают так называемым "устаревшим".

Дополнил бы Ваш список командами "обрезка углов", "выделение кривой", "прямоугольник", "ограничения эскиза" и т.д. ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, tm-ares сказал:

Поддерживаю. Логика не всегда понятна. Понимаю, что привычка - великое дело. Но, зачастую, функционал и визуализация новых команд уступают так называемым "устаревшим".

 

Я только осваиваю это, о привычке едва ли можно говорить. Моделировал в SolidWorks. Более менее освоил. И в то же время мой тесть, конструктор профи, при каждому удобном случае говорил "NX это другой уровень, это нечто много более сильное" и т.п. Осваиваю NX. Для расширения кругозора, если можно так выразиться. И тот же тесть неоднократно говорил, что в NX многие вещи делаются без эскизов, без рисования чего бы то ни было на плоскости. И это сильно. Долго не мог этого понять. Захотелось разобраться. И вот смотрю уроки, читаю. Какая-то ясность начала приходить. Действительно типичные конструктивные элементы моделируются выделенными командами, опираясь на ранее созданную геометрию. "паз", "карман" - эскиза во многих случаях не требуют, если это не какой-то уникальный "паз" и т.п. Т.е. взяли - назначили ширину, глубину, установили позицию и пожалуйста - получили. Вопросов нет. И во множестве версий эти команды были. А в 12-той их убрали. Точней они есть, но объявлены устаревшими. Предлагают использовать "тиснение" (emboss). Мощная команда, всё может и выступы и углубления, в разных вариациях. Только эскиз приходится рисовать... :-) Я понимаю, что тот же паз можно десятью другими способами сделать. Сделать тело, вычесть. Контур нарисовать, протянуть по траектории, вырезать. И т.д. Так или иначе действий больше, чем с использованием старых команд. В чем же смысл? Сделать меньше узко-специализированных команд, но более гибкие универсальные?

 

С другой стороны, специализированные команды можно создать самому используя библиотеку повторного использования, "собственные типовые элементы". И там делается всё, что угодно. И повторное использование сводится к назначению параметров/позиционированию. И кому что надо, тот то и сделает. Может быть в этом смысл и рациональное зерно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

NX Manager-у картинку нормальную сделали

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу



  • Реклама

  • Сообщения

    • Knight of Truth
      По Windows 7 - не знаю. На этой оси у нас обновления не тестировались - так как решили не тратить время и не пробовать снова эту отраву на вкус, ведь принцип действия патчей одинаков, не зависимо от операционной системы, а разработчики Microsoft по указу сверху могут добавлять новые компоненты этих патчей в любые обновления "стабильности" и "безопасности". Интересная информация: компания ASUS уже выкатила новые версии БИОС для своих материнских плат, где в процессор прошивается новый микрокод, устраняющий "уязвимости" системы. Подозреваю, что там припасено дополнительное урезание мощности компьютерного железа.
    • soklakov
      у Ансиса есть старый курс " Aeroacoustics using ANSYS Fluent 14.5 ".   сам не читал, но говорят там довольно понятно всё.
    • Борман
    • Tad
      По поводу дрожания - надо развоздушить систему. Если воздух не обнаружится - пробовать немного уменьшить коэффициент усиления ПИД регулятора осей Y при рабочей скорости. По поводу отключения - мало информации.
    • soklakov
      Крайне интересно. Правильно ли я понял, что Ваша софтина умеет прикладывать нагрузки к кубику, не спрашивая меня, какую из шести граней закрепить, а какую нагрузить? Если так, то тревожит вопрос: откуда она знает?
    • soklakov
      Подробностей? А то и правда, секретный танк, о котором ученые еще ничего не знают, работает при -300 по цельсию.
    • Sla_68
      Можете меня обзывать как хотите, быдло-кодером ну и т.д. Ну хоть убейте меня , я не знаю как выполнить данную задачу без дополнительных построений.  А так код вполне себе рабочий.Определяет все что мне нужно. Только что написал. Выкладываю код. Там имеется еще наборчик пользовательских функций. Но они все тригонометрические. Поэтому пока без них. Sub Назначение_свойств_профиля() 'On Error GoTo ex Dim swFace As SldWorks.face2 Dim swSurf As SldWorks.Surface Dim swDisplayDimension As SldWorks.DisplayDimension Dim swDim As SldWorks.Dimension Dim v1 As SldWorks.Vertex Dim v2 As SldWorks.Vertex Dim swRefAxis As SldWorks.RefAxis Dim vAxisParam As Variant Dim x As Double Dim y As Double Dim z As Double Dim x1 As Double Dim y1 As Double Dim z1 As Double Dim fx As Double Dim fy As Double Dim fz As Double Dim fx1 As Double Dim fy1 As Double Dim fz1 As Double Dim sm() As Double Dim swFeatMgr As SldWorks.FeatureManager Set swApp = Application.SldWorks Set part = swApp.ActiveDoc Set swFeatMgr = part.FeatureManager Set swSelMgr = part.SelectionManager part.SketchManager.AddToDB = True swApp.SetUserPreferenceToggle swSketchAutomaticRelations, False 'автопривязки отключаем swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swSketchInference, False 'прилипание ..отключает все взаимосвязи swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swInputDimValOnCreate, False 'убивает диалог с размером false -выключает диалог tt = part.GetTitle mg = Mid(tt, 10, 2) lRetVal = part.AddCustomInfo3("", "материал", swCustomInfoText, mg) partTitle = part.GetTitle namedetal = partTitle & ".SLDPRT" arrbody = part.GetBodies2(swSolidBody, False) Set body = arrbody(0) glavfaces = вернуть_номера_главных_плоскостей(body) Set swFace = glavfaces(2) Set swSurf = swFace.GetSurface '======================================================== If swSurf.IsPlane Then edjearr = вернуть_2_главных_кромки(swFace1) Set Edge = edjearr(2) params = Edge.GetCurveParams2 x1 = params(0): x2 = params(3): an1 = x1 - x2: bn1 = x2 - x1 'вектор оси y1 = params(1): y1 = params(4): an2 = y1 - y2: bn2 = y2 - y1 z1 = params(2): z1 = params(5): an3 = z1 - z2: bn3 = z2 - z1 pvec = перпендикулярный_вектор(an1, an2, an3) Set axeobj = Edge Set faceObj = swFace ElseIf swSurf.IsCylinder Then params = swFace.GetSurface.CylinderParams x1 = params(0): x2 = params(3): an1 = x1 - x2: bn1 = x2 - x1 'вектор оси y1 = params(1): y1 = params(4): an2 = y1 - y2: bn2 = y2 - y1 z1 = params(2): z1 = params(5): an3 = z1 - z2: bn3 = z2 - z1 pvec = перпендикулярный_вектор(an1, an2, an3) part.Insert3DSketch2 True 'вход строим 3 точки для плоскости Set swSketch = swApp.ActiveDoc.GetActiveSketch2 swSketch.Name = "точка" загрузочная_точка_смещена 0.1, (x1 + x2) / 2, (y1 + y2) / 2, (z1 + z2) / 2, pvec(0), pvec(1), pvec(2), fx0, fy0, fz0 Set swSketchPt0 = part.SketchManager.CreatePoint(fx0, fy0, fz0) part.Insert3DSketch2 True 'выход part.BlankSketch 'скрывает эскизы swSketchPt0.SelectByMark False, 2 swFace.SelectByMark True, 2 bret = part.InsertAxis 'вставка оси Set swFeatMgr = part.FeatureManager swFeatures = swFeatMgr.GetFeatures(True) Set axeobj = swFeatures(UBound(swFeatures)) 'ось axeobj.Name = "ось профиля" axeobj.SelectByMark False, 2 swSketchPt0.SelectByMark True, 2 Set faceObj = part.CreatePlaneThruLineAndPt(False) 'создает плоскость faceObj.Name = "плоскость распила" faceObj.SelectByMark False, 2 axeobj.SelectByMark True, 2 part.BlankRefGeom Else Exit Sub End If '=============================================== загрузочная_точка_смещена 3, x1, y1, z1, an1, an2, an3, fx1, fy1, fz1 'точки оси загрузочная_точка_смещена 3, x2, y2, z2, bn1, bn2, bn3, fx2, fy2, fz2 'точки оси загрузочная_точка_смещена 0.1, fx1, fy1, fz1, pvec(0), pvec(1), pvec(2), fx11, fy11, fz11 'точки будущих линий2 загрузочная_точка_смещена 0.1, fx2, fy2, fz2, pvec(0), pvec(1), pvec(2), fx22, fy22, fz22 'точки будущих линий2 '==================================================== faceObj.SelectByMark False, 2 part.SketchManager.InsertSketch True 'вставка 2D эскиза на рабочей плоскости Set swSketch = swApp.ActiveDoc.GetActiveSketch2 swSketch.Name = "контур_распила" Dim swMathPt1 As SldWorks.MathPoint Dim swMathPt11 As SldWorks.MathPoint Dim swMathPt111 As SldWorks.MathPoint Dim swMathPt2 As SldWorks.MathPoint Dim swMathPt22 As SldWorks.MathPoint Dim swMathPt222 As SldWorks.MathPoint Set swMathPt1 = get2Dpoint(swSketch, fx1, fy1, fz1) Set swMathPt11 = get2Dpoint(swSketch, fx11, fy11, fz11) Set swMathPt2 = get2Dpoint(swSketch, fx2, fy2, fz2) Set swMathPt22 = get2Dpoint(swSketch, fx22, fy22, fz22) Set skSegment1 = part.SketchManager.CreateCenterLine _ (swMathPt1.ArrayData(0), swMathPt1.ArrayData(1), swMathPt1.ArrayData(2), _ swMathPt11.ArrayData(0), swMathPt11.ArrayData(1), swMathPt11.ArrayData(2)) skSegment1.SelectByMark False, 2 axeobj.SelectByMark True, 2 part.SketchAddConstraints "sgPERPENDICULAR" Set skSegment2 = part.SketchManager.CreateCenterLine _ (swMathPt2.ArrayData(0), swMathPt2.ArrayData(1), swMathPt2.ArrayData(2), _ swMathPt22.ArrayData(0), swMathPt22.ArrayData(1), swMathPt22.ArrayData(2)) skSegment2.SelectByMark False, 2 axeobj.SelectByMark True, 2 part.SketchAddConstraints "sgPERPENDICULAR" '======================================================================================== Set v1 = ближайшая_вершина_к_координате(body, fx1, fy1, fz1, vdis1) Set Edge1 = ближайшая_кромка_к_координате(body, fx1, fy1, fz1, edis1) Set v2 = ближайшая_вершина_к_координате(body, fx2, fy2, fz2, vdis2) Set edge2 = ближайшая_кромка_к_координате(body, fx2, fy2, fz2, edis2) '=================================== If vdis1 <= edis1 Then v1.SelectByMark False, 2 Set swStartPt1 = skSegment1.GetStartPoint2 swStartPt1.SelectByMark True, 2 part.SketchAddConstraints "sgCOINCIDENT" Else Edge1.SelectByMark False, 2 skSegment1.SelectByMark True, 2 part.SketchAddConstraints "sgTANGENT" part.SketchAddConstraints "sgCOLINEAR" End If '================= If vdis2 <= edis2 Then v2.SelectByMark False, 2 Set swStartPt2 = skSegment2.GetStartPoint2 swStartPt2.SelectByMark True, 2 part.SketchAddConstraints "sgCOINCIDENT" Else edge2.SelectByMark False, 2 skSegment2.SelectByMark True, 2 part.SketchAddConstraints "sgTANGENT" part.SketchAddConstraints "sgCOLINEAR" End If '===================================== skSegment1.SelectByMark False, 2 skSegment2.SelectByMark True, 2 Set swDisplayDimension = part.AddDimension2(0, 0, 0) Set swDim = swDisplayDimension.GetDimension swDim.DrivenState = 1 swDim.Name = "длина" dlina = """длина@контур_распила@@default@" & namedetal & """" shirina = "1" lRetVal = part.DeleteCustomInfo2("", "длина") lRetVal = part.DeleteCustomInfo2("", "ширина") lRetVal = part.AddCustomInfo3("", "длина", swCustomInfoText, dlina) lRetVal = part.AddCustomInfo3("", "ширина", swCustomInfoText, shirina) part.SketchManager.InsertSketch True 'выход из эскиза part.BlankSketch ' скрыть эскиз part.SketchManager.AddToDB = False swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swSketchInference, True 'прилипание ..отключает все взаимосвязи swApp.SetUserPreferenceToggle swUserPreferenceToggle_e.swInputDimValOnCreate, True 'убивает диалог с размером true -включает диалог swApp.SetUserPreferenceToggle swSketchAutomaticRelations, True 'автопривязки включаем End Sub Function ближайшая_вершина_к_координате(body, x, y, z, dis) vList = body.GetVertices Dim arr() As Double Dim edjpoint As Variant Dim arrobj() As Object Dim arrobjdis() As Double If IsEmpty(vList) Then dis = 1000000 Set ближайшая_вершина_к_координате = Nothing Exit Function End If For i = 0 To UBound(vList) edjpoint = vList(i).GetClosestPointOn(x, y, z) 'ближайшая точка ReDim Preserve arr(i) 'массив дистанций ReDim Preserve arrobj(i) arr(i) = длина_линии(x, y, z, edjpoint(0), edjpoint(1), edjpoint(2)) Set arrobj(i) = vList(i) Next i max_min_indexarray arr, max1n, max2n, min1n, min2n dis = arr(min1n) Set ближайшая_вершина_к_координате = arrobj(min1n) End Function Function ближайшая_кромка_к_координате(body, x, y, z, dis) edgeList = body.GetEdges Dim arr() As Double Dim edjpoint As Variant Dim arrobj() As Object Dim arrobjdis() As Double For i = 0 To UBound(edgeList) edjpoint = edgeList(i).GetClosestPointOn(x, y, z) 'ближайшая точка ReDim Preserve arr(i) 'массив дистанций ReDim Preserve arrobj(i) arr(i) = длина_линии(x, y, z, edjpoint(0), edjpoint(1), edjpoint(2)) Set arrobj(i) = edgeList(i) Next i max_min_indexarray arr, max1n, max2n, min1n, min2n dis = arr(min1n) Set ближайшая_кромка_к_координате = arrobj(min1n) End Function Sub max_min_indexarray(mass, max1n, max2n, min1n, min2n) 'сортировка и удаление повторов в массиве max1n = 0 max2n = 0 min1n = 0 min2n = 0 For i = LBound(mass) To UBound(mass) If CDbl(mass(i)) > max1 Then max1 = CDbl(mass(i)) Next i max2 = 0 For i = LBound(mass) To UBound(mass) If CDbl(mass(i)) = max1 Then max1n = i Exit For End If Next i For i = LBound(mass) To UBound(mass) If CDbl(mass(i)) > max2 And i <> max1n Then max2n = i max2 = mass(i) End If Next i ''''''''''''''''''''''''''''''''''''''''''''''''''обратная min1 = max1 For i = LBound(mass) To UBound(mass) If CDbl(mass(i)) < min1 Then min1 = CDbl(mass(i)) Next i min2 = max1 For i = LBound(mass) To UBound(mass) If CDbl(mass(i)) = min1 Then min1n = i Exit For End If Next i For i = LBound(mass) To UBound(mass) If CDbl(mass(i)) < CDbl(min2) And i <> min1n Then min2n = i min2 = CDbl(mass(i)) End If Next i End Sub  
    • vad0000
      В первую очередь выкладывайте машинные параметры станка. 
    • Nevskiyalexxx
      Так то лучше вместо planarа несколько Z-levelов создать - он и припуск будет видеть и деталь гарантированно не зарежет.
    • lexincton
      Поменял вывод инструмента в событии начала траектории Прописать статично эту строку перед инструментом