Simcenter 3D Solutions 关于SC Motion中解析接触力产生大量Non-timestamp Geometry导致界面操作变慢的问题

2021-11-15T01:33:40.000-0500
Simcenter 3D

摘要

在Motion使用解析接触力时,有时软件会在Part Navigator中产生Non-timestamp Geometry,并不参与多体求解,产出也不会造成模型问题;当接触力非常多时相应的冗余几何也会非常多,这会造成Simcenter 3D的所有界面操作变得特别慢,甚至无法正常使用。这种现场通常会在较早版本的Simcenter 3D软件中出现,本文描述了遇到此问题的解决方法。


详细信息

1. 问题描述

SC 3D Motion动力学模型中,一些情况下在part Navigator导航类内包含一个Non-timestamp Geometry单元类,通常包含大量的ArcLine或者sheet单元,有时多达数百万单元,会直接影响SC 3D的界面动态效果,操作延迟明显。同时发现,Non-timestamp Geometry单元不影响Motion的仿真计算,删掉所有这些单元后界面显示效果可以明显改善,而且不知道这些单元是怎么产生的。

2. 问题分析

经过对Motion动力学模型进行研究发现,Non-timestamp Geometry单元可能是在Motion中创建解析接触力自动附带产生的,但并不参与或影响Motion的模型求解。在创建解析接触时,软件在引用拉伸面、旋转面时可能会产生不用的几何单元。同时发现,从另外一些不明的CAD建模原因也可能产生大量Non-timestamp Geometry,可能会到数百万甚至更多。这些单元会带来以下问题:
  1. 打开模型、播放Motion仿真动画,或者在模型中生成曲线plot时要花费几分钟,响应异常的慢;
  2. 从导航栏展开单元、打开单元查看建模信息,或者切换模型界面非常慢;
  3. 在模型界面中查看仿真结果,生成XY Plot特别慢;
  4. 播放带柔性体的分析结果动画时非常慢;
可以确定的是,软件异常产生的大量Non-timestamp Geometry单元严重影响了Simcenter 3D Motion的界面交互体验,一般用户很难接受。
下面是以Motion自带的实例模型——装载机多体模型为例,在Simcenter 3D中打开软件后看到的Non-timestamp Geometry效果。
User-added image

此模型中的
CAD模型由NX11创建得到。
User-added image
由于
NX CAD建模产生的大量Non-timestamp Geometry单元情况实例如下。
User-added image
包含
Arc x 8328196Line x 1334667

3. 解决方法
对于
Motion中解析接触力自动产生Non-timestamp Geometry的问题在Simcenter 3D 1926版本之后已经修复。新的软件中在创建解析接触力时不会再产生多余这些异常几何信息。以下是在Simcenter 3D 2021.2V1980)中打开装载机模型后的效果。
User-added image
对于
Master几何中包含大量Non-timestamp Geometry情况,可以采用本文所提供的脚本文件产出无用的异常几何单元。

脚本使用方法:
  • 当文件存为.py格式
  • 更新MotionPart文件路径
  • 运行命令执行脚本文件“urun run_journal deleteArcLine.py
4. 总结
当用户遇到打开
Motion模型时间过长,界面常规操作很慢、甚至无响应,包括展开导航栏单元类、切换模型状态、菜单操作等等一切与界面有关的操作。请查看“Part Navigator”中是否有“Non-timestamp Geometry
”单元类,且下面是否包含了大量的几何特征。如果确实如此,请采用本文提供的脚本文件产出无用几何。

5. 脚本使用方法
  • 将附录中的内容复制到一个记事本文件,保存记事本文件为 deleteArcLine.py (Python script)
  • 将脚本内的目录更新到实际的Motion模型目录
  • 在Simcenter运行命令 “urun run_journal deleteArcLine.py”
5. 附录——脚本内容

# NX 1953.1700
# Journal created by lijia on Tue Jun  1 07:54:25 2021 China Standard Time
#
import math
import NXOpen
import NXOpen.Features
import NXOpen.GeometricUtilities

def main() :
    theSession  = NXOpen.Session.GetSession()
    #basePart1, partLoadStatus1 = theSession.Parts.OpenActiveDisplay("D:\\workdir\\PartData\\BigModel\\Flex\\8443402\\Seat_Epump\\assembly_seat_motion.sim", NXOpen.DisplayPartOption.AllowAdditional)
    basePart1, partLoadStatus1 = theSession.Parts.OpenActiveDisplay("D:\\workdir\\devunits\\lijia_1953nuke\\model1.prt", NXOpen.DisplayPartOption.AllowAdditional)
    workPart = theSession.Parts.Work
    displayPart = theSession.Parts.Display
    toDelete = []
    
    # features = workPart.Features
    # for aFeature in iter(features):
        # #if isinstance(aFeature, NXOpen.Arc):
        # if isinstance(aFeature, NXOpen.Features.AssociativeArc):
            # toDelete.append(aFeature)
    print('start collecting lines')
    for line in iter(workPart.Lines):
        print (type(line))
        if not isinstance(line, NXOpen.Features.Feature):
            toDelete.append(line)
    
    print('start collecting arcs')
    for arc in iter(workPart.Arcs):
        print(type(arc))
        if not isinstance(line, NXOpen.Features.Feature):
            toDelete.append(arc)
        
    if toDelete:
        print('start logging to delete')
        theSession.UpdateManager.AddObjectsToDeleteList(toDelete) 
        
        print('start updating')
        id1 = markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Delete")
        theSession.UpdateManager.DoUpdate(id1)

        print('start saving part')
        partSaveStatus1 = workPart.Save(NXOpen.BasePart.SaveComponents.TrueValue, NXOpen.BasePart.CloseAfterSave.FalseValue)
        
        partSaveStatus1.Dispose()
    
if __name__ == '__main__':
    main()



 

知识库文章 ID# KB000048029_ZH_CN

内容

摘要详细信息

关联组件

Acoustics Additive Manufacturing Assembly FEM Correlation and Updating Durability Electromagnetics (High Frequency) Electromagnetics (Low Frequency) Flexible Pipe Laminate Composites Margin of Safety Motion Multiphysics NX Open Nonlinear Optimization Pre/Post Response Dynamics Rotor Dynamics Samcef Environment Simulation Process Management Thermal / Flow