精华内容
下载资源
问答
  • odb文件工具

    2018-10-12 15:32:53
    支持.odb文件打开,编辑,保存。
  • 用py程序提取abaqus计算结果odb文件中的点集的结果数据。 本程序以顶面(TOP)的反力(RF)为例。
  • 目前在用ABAQUS做参数化的模型,会计算生成很多odb文件。如果说全部计算完毕,再一个一个用ABAQUS读取脚本,提取数据,就非常耗时,耗电脑内存。 现在想做的一点就是如何在计算完毕之后,自动拾取odb文件,并打开odb...
  • 1. 示例文件获取 在Abaqus Command 中输入 abaqus fetch job=viewer_tutorial

    1. 示例文件获取

    在Abaqus Command 中输入 ,然后会在工作目录中出现viewer_tutorial.odb.

    abaqus fetch job=viewer_tutorial

    2. 示例代码

    按照代码文件,在Abaqus命令行窗口,一行行输入命令。

    # ODb commands available
    from odbAccess import *
    from abaqusConstants import *
    
    # material and section Odb commands available
    from odbMaterial import *
    from odbSection import *
    
    # opening an output database
    odb = openOdb(path=r'C:\AbaqusWorkfile\test_pythonOdb\viewer_tutorial.odb')
    
    # Reading model data
    
    # The root assembly
    myAssembly = odb.rootAssembly
    
    # Part instance determine how many instances
    for instanceName in odb.rootAssembly.instances.keys():
      print instanceName
    
    # Regions: A Node set  An element set A surface
    
    for NodeSets in odb.rootAssembly.instances[
      'PART-1-1'].nodeSets.keys():
      print 'Node sets = ', NodeSets
    
    # dispaly the nodes sets and the element sets
    print 'Node sets = ', odb.rootAssembly.instances[
        'PART-1-1'].nodeSets.keys()
    print 'Element sets = ', odb.rootAssembly.instances[
        'PART-1-1'].elementSets.keys()
    
    # ssigns a variable (topNodeSet) to the 'TOP' node set in the PART-1-1 part instance:
    topNodeSet = odb.rootAssembly.instances['PART-1-1'].nodeSets['TOP']
    
    # Reading results data
    # Steps
    for stepName in odb.steps.keys():
      print stepName
    
    step1 = odb.steps.values()[0]
    print step1.name
    #Frames  the last frame
    lastFrame = odb.steps['Step-1'].frames[-1]
    
    # Reading field output data
    for fieldName in lastFrame.fieldOutputs.keys():
        print fieldName
    for fieldName in lastFrame.fieldOutputs.values():
        print fieldName
    
    # use the following to view all the available field data in a frame:
    # For each field output value in the last frame,
    # print the name, description, and type members.
    
    for f in lastFrame.fieldOutputs.values():
        print f.name, ':', f.description
        print 'Type: ', f.type
        # For each location value, print the position.
        for loc in f.locations:
            print 'Position:', loc.position
        print
    # Results
    # COPEN    TARGET/IMPACTOR: Contact opening
    # Type:  SCALAR
    # Position: NODAL
    
    # CPRESS   TARGET/IMPACTOR: Contact pressure
    # Type:  SCALAR
    # Position: NODAL
    
    # CSHEAR1  TARGET/IMPACTOR: Frictional shear
    # Type:  SCALAR
    # Position: NODAL
    
    # CSLIP1   TARGET/IMPACTOR: Relative tangential motion direction 1
    # Type:  SCALAR
    # Position: NODAL
    
    # LE: Logarithmic strain components
    # Type:  TENSOR_2D_PLANAR
    # Position: INTEGRATION_POINT
    
    # RF: Reaction force
    # Type:  VECTOR
    # Position: NODAL
    
    # RM3: Reaction moment
    # Type:  SCALAR
    # Position: NODAL
    
    # S: Stress components
    # Type:  TENSOR_2D_PLANAR
    # Position: INTEGRATION_POINT
    
    # U: Spatial displacement
    # Type:  VECTOR
    # Position: NODAL
    
    # UR3: Rotational displacement
    # Type:  SCALAR
    # Position: NODAL
    
    displacement = lastFrame.fieldOutputs['U']
    fieldValues = displacement.values
    
    mises = lastFrame.fieldOutputs['S']
    fieldValues1 = mises.values
    
    # For each displacement value, print the nodeLabel
    # and data members.
    
    
    for v in fieldValues:
        print 'Node = %d U[x] = %6.4f, U[y] = %6.4f' % (v.nodeLabel,
        v.data[0], v.data[1])
    
    for v in fieldValues1:
        print 'Element = %d Mises = %6.4f' % (v.elementLabel, v.mises)
    
    # lists all the members of a particular FieldValue
    fieldValues[1].__members__
    # The resulting output is
    # ['instance', 'elementLabel', 'nodeLabel', 'position',
    #  'face', 'integrationPoint', 'sectionPoint',
    #  'localCoordSystem', 'type', 'data', 'magnitude',
    #  'mises', 'tresca', 'press', 'inv3', 'maxPrincipal',
    #  'midPrincipal', 'minPrincipal', 'maxInPlanePrincipal',
    #  'minInPlanePrincipal', 'outOfPlanePrincipal']
    
    # Using regions to read a subset of field output data
    center = odb.rootAssembly.instances['PART-1-1'].nodeSets['PUNCH']
    # get displacement of subset
    # The arguments to getSubset are a region, an element type, a position, or section point data
    centerDisplacement = displacement.getSubset(region=center)
    centerValues = centerDisplacement.values
    
    for v in centerValues:
        print v.nodeLabel, v.data
    
    ## another example
    topCenter = \
        odb.rootAssembly.instances['PART-1-1'].elementSets['CENT']
    stressField = odb.steps['Step-2'].frames[3].fieldOutputs['S']
    
    # The following variable represents the stress at
    # integration points for CAX4 elements from the
    # element set "CENT."
    
    field = stressField.getSubset(region=topCenter,
                                  position=INTEGRATION_POINT, elementType='CAX4')
    # position argument  INTEGRATION_POINT NODAL ELEMENT_NODEL CENTROID
    fieldValues2 = field.values
    for v in fieldValues2:
        print 'Element label = ', v.elementLabel,
        if v.integrationPoint:
            print 'Integration Point = ', v.integrationPoint
        else:
            print
    # For each tensor component.
        for component in v.data:
    
      # Print using a format. The comma at the end of the
      # print statement suppresses the carriage return.
    
            print 'S = %10.5f' % component,
    
    # After each tuple has printed, print a carriage return.
    #     print
    
    ## write file and reading history outputdata
    from odbAccess import *
    step2 = odb.steps['Step-2']
    region = step2.historyRegions['Node PART-1-1.1000']
    u2Data = region.historyOutputs['U2'].data
    dispFile = open('disp.dat', 'w')
    for time, u2Disp in u2Data:
        dispFile.write('%10.4E   %10.4E\n' % (time, u2Disp))
    else:
        dispFile.close()
    
    
    
    

    3. 我的代码

    目的:用python将米勒指数从odb文件中提取出来。

    from abaqusConstants import*
    from odbAccess import*
    import os
    from textRepr import*
    import numpy as np
    myodb = openOdb(path=r'C:\AbaqusWorkfile\FIB\try-model-210601-1.odb')
    
    myFrames = myodb.steps["Step-1"].frames
    
    # ff = (["SDV52"]["SDV65"]["SDV78"]
    # ["SDV91"]["SDV104"]["SDV117"])
    sdv52field = myFrames[-1].fieldOutputs["SDV52"]
    
    
    elementSets = odb.rootAssembly.instances['PART-1-1'].elementSets
    bb = elementSets.keys()
    
    CRY = []
    for a in bb:
        cc = odb.rootAssembly.instances['PART-1-1'].elementSets[a]
        CRY.append(cc)
    
    
    field = []
    for a in CRY:
        dd = sdv52field.getSubset(region=a,
                                  position=INTEGRATION_POINT, elementType='C3D8R')
        field.append(dd)
    
    average = []
    
    for a in field:
        fieldValues = a.values
        temp1 = []
        for v in fieldValues:
            temp1 = []
            for value in fieldValues:
                temp1.append(value.data)
        ee = np.mean(temp1)
        average.append(ee)
    
    average = np.array(average)
    np.savetxt(r"C:\AbaqusWorkfile\test_pythonOdb\miller.txt", average, fmt="% .10f")
    

     

    展开全文
  • 但是打开新生成的odb文件时会报错,软件直接退出。代码和报错如下,请问是为什么呀。 <p style="text-align:center"><img alt="" height="1080" src=...
  • ODB 文件转换为可编辑PCB板图研究.pdf
  • 一键导出ODB文件前期资料准备 前期资料准备 官网链接:(https://community.cadence.com/cadence_technology_forums/f/pcb-skill/38737/export-dxf-and-odb-through-skill) ...

    一键导出ODB文件

    前期资料准备

    1. 官网链接:(https://community.cadence.com/cadence_technology_forums/f/pcb-skill/38737/export-dxf-and-odb-through-skill)
    2. https://www.odb-sa.com/resources/odb-inside-for-cadence-allegro/
    3. https://macrofab.com/knowledgebase/orcad-and-allegro/
    4. https://www.fedevel.com/designhelp/forum/main-forum/orcad-and-cadence-allegro/8011-script-to-export-dxf-and-obd
    5. https://community.cadence.com/cadence_technology_forums/f/pcb-skill/11924/re-running-bat-files-using-axlrunbatchdbprogram
    6. https://community.cadence.com/cadence_technology_forums/f/pcb-design/21280/running-odb-via-batch-file
    7. http://eda365.com/thread-181411-1-1.html

    实现框图

    展开全文
  • I want to access an ODB file (made with LibreOffice Base) in Python and extract a table for further use. The ODB contains several tables, one relation design and several forms.Is it possible to achiev...

    1586010002-jmsa.png

    I want to access an ODB file (made with LibreOffice Base) in Python and extract a table for further use. The ODB contains several tables, one relation design and several forms.

    Is it possible to achieve this without using any SQL?

    Edit: Since it seems overcomplicated to parse this format on my own, i'll consider using a proper HSQLDB engine.

    What python module accesses via HSQL (like sqlite3 for SQLite does)?

    解决方案

    You can consider Python Uno API that comes with OpenOffice. There are several Python examples to interact with the API, including one with the sample database

    There is also this SO question where it is explained how to use uno with LibreOffice.

    展开全文
  • 在建模过程中主要是对mdb、session 进行操作,而在第2 次及以后冲击分析导入初始状态时,需要对odb文件操作,读入相关结果数据。 ABAQUS 可以录制用户在图形界面中的各种操作,转换为Python 脚本程序,为二次开发...

    54b6b17d4749433fff3a22a0ec27faea.gif

    44848b256469de7ac917ba82b600147e.png

    18df963b17c1d94efe777114b64d3a71.gif

    587dbb47ed42a182e94e674b8e1fe58d.png

    基于Python的ABAQUS

    二次开发在飞机

    蒙皮锤铆中的应用

    在飞机蒙皮铆接技术中,锤铆是用一个小冲击力循环累计施加到铆钉使之变形的过程。根据锤铆铆接工艺和铆枪结构原理,铆钉的塑性变形是由铆枪的活塞循环碰撞冲锤而多次冲击铆钉产生的,铆枪活塞的冲击速度直接影响铆钉的变形量。

    针对飞机蒙皮铆接仿真技术,国内外学者做了深入研究。Blanchot 等[1] 提出了铆钉铆接的3 种有限元模型;Zhang 等[2] 使用ABAQUS 软件模拟了压铆过程;刘平等[3] 对压铆过程阶段划分并进行仿真分析;郭庆等[4]利用SolidWorks 和COSMOS 软件研究了铆钉的应力集中系数;Manes 等[5] 和Atre 等[6] 研究了铆接件疲劳寿命的主要影响因素。针对锤铆工艺,应用有限元仿真技术的研究成果有限。Kadam[7] 和Bloxsom[8] 对气动铆枪等气动冲击工具进行研究,模拟其工作原理,建立了冲击工具的数学模型;Li 等[9] 建立了机器人铆接系统锤铆过程的动力学模型,分析了铆钉的塑性变形;曲巍崴等[10] 利用ABAQUS 软件进行了锤铆过程的仿真分析,其中对于几十次初速度加载采用手动操作,一次完整铆钉变形分析,需要不断的数据导入,过程烦琐,分析效率低。

    本文采用Python 脚本语言,对ABAQUS 软件二次开发,建立了活塞初速度连续加载锤铆自动仿真分析程序,通过对初速度、分析时间、冲击次数等输入参数的调整,可自动完成锤铆分析过程,极大地提高锤铆分析过程的效率。与锤铆工艺试验的对比分析,验证了仿真结果的正确性。

    1、锤铆冲击系统组成

    32eecf34238a1e78e9530af42c9f4303.png

    根据锤铆工艺,锤铆冲击系统可以进行简化,如图1所示,本文应用的冲击系统的冲锤、铆钉与顶把3 部分紧密接触。通过控制电磁阀的通断控制压缩空气进入铆枪,活塞两端产生压力差,使活塞加速运动,达到最大初速度v0 时,与冲锤碰撞,受撞击后的冲锤获得动能,冲击铆钉使其变形,活塞往复运动,冲锤不断冲击铆钉,以达到铆钉变形要求。根据锤铆工艺,铆钉完成变形,需要活塞几十次的累计撞击。系统组成尺寸数据如图2 所示。

    3e8ca5b8664bceb77e8112c2cdaee145.png

    2、锤铆仿真程序二次开发

    32eecf34238a1e78e9530af42c9f4303.png 2.1 锤铆过程分析

    根据锤铆工艺,铆钉完成变形,需要活塞几十次的累计撞击,由于ABAQUS 每次分析只能在初始分析步(Initial)中施加一次初速度载荷,所以,需要相应的几十次手动迭代分析才能完成铆钉的变形。即从第2 次分析开始,后续分析模型的初始状态是前一次的结果状态,需要手动操作完成对每次分析结果数据的处理与导入。

    针对上述手动迭代分析问题的不足,本文提出了一种基于锤铆工艺过程的自动计算软件方法。先建立一次冲击的分析模型,从第2 次开始,将前一次的分析结果导入作为后一次分析的初始状态,进行循环。图3 为二次开发流程图。

    d6fa150956536400cd16d536d108ea13.png

    2.2 软件开发基础

    ABAQUS/CAE 前后处理脚本接口是基于Python语言的扩展,使用户可以直接与求解内核交互,因此可以用Python 脚本自动化创建、重复、修改模型,用于运行分析任务。ABAQUS 分析模型,主要分为模型数据库mdb、结果数据库odb 和图形显示界面元素session,如图4 所示。

    9da8c578b533c96378eca44862dd6d63.png

    在建模过程中主要是对mdb、session 进行操作,而在第2 次及以后冲击分析导入初始状态时,需要对odb文件操作,读入相关结果数据。

    ABAQUS 可以录制用户在图形界面中的各种操作,转换为Python 脚本程序,为二次开发带来便利。本文第1、2 次冲击分析的程序生成就是按照上述思路方法完成的。

    2.3 建立第1次冲击模型

    锤铆过程为动态问题,采用ABAQUS/ Explicit 求解器,为了提高分析效率,采用1/2 模型进行分析,建立锤铆有限元模型,如图5 所示。模型中的相关参数见表1。

    2a27ef192ae3572e23938e2819de506e.png

     第1 次冲击建模关键在于:

    (1)尽可能减少图形界面选择。

    在建模过程中,通过建立选择集,实现参数化选择。选择集作为部件属性,会随着模型的导入而传递。表2所示为其中部分关键选择集。

    43d2ca7f09db98eb1193663178f90173.png

    (2)重启动设置。

    只有在建立分析步时,开启重启动设置,才能实现在后续分析结果的数据导入。重启动Python 语言如下:

    m d b . m o d e l s [ ' M o d e l - 1 ' ] . s t e p s [ ' S t e p - 1 ' ] .

    R e s t a r t ( n u m b e r I n t e r v a l s = 1 , o v e r l a y = O N , timeMarks=ON)

    (3)接触类型。

    在进行接触类型定义时,选择通用接触类型,否则在后续循环中无法传递。

    2.4 建立第2次冲击模型

    由于第1 次冲击,铆钉等部件存在应力应变,第2次冲击模型的建立要基于第1 次冲击分析的结果数据,建模过程流程图如图6 所示。

    43a09d5d737e7236b41842f9d173e22e.png

    同样采用ABAQUS/Explicit 求解器,建立第2 次冲击分析模型。关键步骤如下:

    (1)新建模型是在第1 次冲击分析模型的工程下,与第1 次分析模型同级。

    (2)导入部件时,是从第1 次分析结果数据库odb文件导入。其中,部件名要与第1 次分析中的部件名一致,变形配置要选择“导入变形后的构型”,如图7 所示。

    de12d06b8374a6cc53bc1d4799680be7.png

    (3)复制对象时选择材料、截面、相互作用属性,并选择从第1 次分析模型中导入。

    (4)建立分析步时,同样要设置重启动。

    (5)定义输出,应与第1 次分析模型定义的相同。

    (6)相互作用选择通用接触类型。

    (7)通过定义预定义场的初始状态,输入第1 次结果数据库中的应力应变数据。如表3 所示,定义部件的初始状态。

    9bff5bfc5cd77186124b1dd00726ffa3.png

    (8)在导入部件时,第1 次冲击分析时建立的选择集,作为部件属性传递,在建模过程中,通过“选择集”进行选择,不能通过模型界面交互选择。

    (9)建模完成后,新建任务(Job)进行分析。Job 名称应包含数字,便于循环,如:“Job_rivet_002”。

    2.5 建立循环程序

    在第2 次冲击分析结束后,应用Python 脚本语言,对其增加循环,以实现连续自动建模与分析过程。如图8 所示为锤铆自动仿真分析流程图。

    d94a08e2765391981045581f5223739b.png

    自动程序编写关键在于:

    (1)部件导入和预定义场初始状态输入时,从前一次Job 中导入。

    (2)复制对象到当前模型中。

    (3)新建分析步以变量命名,如:“'Step_'+str(i)”。

    (4)新建Job 以变量命名,如:“'Job_Rivet_00'+str(i)”。

    如图9 所示为锤铆自动仿真分析循环部分程序。 

    11454aa3f6c4ea9b1b8f3d3ca6b2126a.png

    对每次分析最后的提交程序进行修改,添加等待完成和保存命令。命令如下:

    mdb.jobs['Job_Rivet_00'+str(i)].submit()

    mdb.jobs['Job_Rivet_00'+str(i)].waitForComp-letion()

    mdb.save()

    3、锤铆仿真应用与试验

    32eecf34238a1e78e9530af42c9f4303.png

    根据锤铆工艺,基于建立的仿真程序进行仿真分析并进行锤铆试验,分析仿真与试验结果,验证仿真方法的正确性。

    根据曲巍崴等[10],气压在0.2~0.6MPa 时,活塞初速度vo 约为6~12m/s,本文以0.5MPa 时,活塞10m/s 的初速度进行锤铆仿真分析与工艺试验。

    根据 HB—Z 223.3—2003 标准,对仿真和试验的铆钉进行镦头成型合格性判定。铆钉镦头尺寸:

    hmin=0.4d,D=(1.5±0.1)d。

    3.1 锤铆仿真应用

    根据锤铆工艺进行初步锤铆试验,利用冲击力传感器采集锤铆过程的冲击力。截取两次冲击数据进行分析,如图10 所示,基于MATLAB 软件分析得到一次冲击完成时间即一次波峰发生时间约为(0.2722–0.2697)s=0.0025s。为确保仿真分析时一次冲击的完成,确定一次冲击的分析时间t=0.0035s。

    a7e0ae9851c23434b97603cb431fc86b.png

    根据建立的锤铆仿真分析程序,建立锤铆有限元分析模型,如图11 所示,程序建立的分析模型,模型部分输入参数如表4 所示。

    2d76f90b283286c84e53bf22b575acea.png

    运行程序,进行自动锤铆仿真,使建模分析过程自动运行,得到仿真结果。分析发现,在冲击次数达到25次时,铆钉墩头尺寸D=6.43mm,H=1.58mm,达到变形要求,铆接合格,图12 所示为铆钉变形图。

    cabf5d31b4aaf2936a36850a94784ca1.png

    3.2 锤铆工艺试验

    根据锤铆工艺,基于双三坐标机器人平台进行铆接试验,并对锤铆冲击力进行采集,铆接试验平台如图13所示。

    75b5f3051493d945618ad05e467bea38.png

    调整铆枪输入气压至0.5MPa,进行锤铆工艺试验,通过调整施铆时间,达到铆钉变形要求,并采集锤铆时的冲击力。图14 为采集到的锤铆冲击力,通过分析:0.5MPa 铆枪输入气压下,施铆时间为1.08s,锤铆次数达到25 次时。图15 为铆钉墩头成形图。

    d54ccbbb06781cb67d59b82bd74bd727.png

    通过测量,施铆后镦头平均尺寸 D=6.39mm,H=1.62mm,铆钉变形达到要求,墩头合格。分析发现,相同气压时,在满足铆钉变形要求下,仿真和试验所得的冲击次数相同,验证了仿真分析方法的正确性。

    4、结 论

    32eecf34238a1e78e9530af42c9f4303.png

    (1)使用Python 对ABAQUS 前处理进行二次开发,建立锤铆铆接连续仿真程序,较手动迭代锤铆仿真过程,极大地降低了锤铆模拟过程的工作量。使得用户可以根据不同的输入参数进行调整分析。

    (2)基于三坐标机器人试验平台进行了锤铆工艺试验,根据建立的仿真程序进行了仿真分析,分析仿真结果与试验结果,验证了仿真方法的正确性。

    (3)通过对锤铆工艺仿真分析,得到在一定活塞初速度(输入气压)时,达到铆钉变形所需的冲击次数。为深入研究锤铆工艺提供高效的方法。

    (4)本文提出了基于Python 脚本语言对ABAQUS二次开发的思路与过程,为循环加载及结果数据的导入等相关工程问题提供重要的借鉴与指导。

    END

    免责声明:本文引用自《航空制造技术》2018年第61卷第16期,作者陈彦海,秦运海,姜春英,康玉祥,叶长龙。文章著作权归作者所有,本公众号作为发布方,文章仅供参考阅读使用,且不承担因理解歧义带来的法律责任。如需参阅该论文所在期刊,请到正规渠道购买。


    80e0fa0b78c3f086d699d0f1398f13e2.gif

    北京嘉通壹航科技有限公司倾力打造的小程序“壹航文库”,是专属于航空人的文库,3w+文档图样,覆盖✦飞机设计、飞机制造、维修工程、适航法规、军情报告、国际标准、标准件库、实用文档✦ 多个专业,赋能航空全产业链,是航空企业和从业者的忠实好伙伴!

    8b6b448cf681045ed0cf0a719b173508.png

    caaf05b893117e2866365efca8f32abd.png

    2411ca15ce72f7349751666a87c0f0b6.png

    35a372eda6a6ea284dd80e4750e081af.png点分享 7bb3fec026957a60843d92af4dc610f3.png点点赞 da1e44173da50b19f48afba06d28c69d.png点在看
    展开全文
  • ODB++文件解析说明

    2018-05-25 14:51:53
    针对ODB++文件标准,对文件结构进行说明,帮助对ODB++标准文件结构理解,指导文件解析
  • 利用python读取odb文件的任意阶屈曲特征值 在abaqus中,屈曲特征值可以在后处理模块直接查看,如下图所示。 也可以通过内核命令读取屈曲特征值,代码如下: #-*-coding: UTF-8-*- from abaqusConstants import * ...
  • 使用abaqus.odb文件在Fe-safe中进行疲劳分析 (2015-04-13 08:36:06) 转载 标签? \t "/s/_blank" it ? \t "/s/_blank" 产品开发 ? \t "/s/_blank" 仿真 ? \t "http:/
  • path_filename = '%s_step-%s_%s_%s_%s' % (myOdb.name.replace('.odb',''),s,o,c,v) try: myViewport.view.fitView() session.printToFile(path_filename+'.png', PNG, (myViewport,)) print('saved %s' % path_...
  • Allegro是常用的电路板设计软件,在导出ODB过程中往往会遇到异常问题,本文档给出了闪退的原因及解决方法。
  • Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...
  • allegro odb++插件

    2017-04-24 17:54:24
    allegro odb++插件
  • Abaqus中输出场文件odb的数据结构及Python读取

    万次阅读 多人点赞 2017-10-16 15:41:26
    Abaqus所生成的Odb文件对象,包含了我们建模中的模型信息,比如:part;assembly;material;section;profiles;interaction等模型信息;在不考虑结果数据的情况下,我们可以把Odb对象与Model对象相对比开看,他们包含了...
  • Cadence gerber 文件输出
  • 您能给解答一下吗?我的abaqus版本是6.14-4,nCode是2018。
  • 这是报错提示。我的abaqus版本是6.14-4,nCode版本是2018win32位。有朋友可以提供一下解决办法吗?
  • 解读ODB++文件--续集

    千次阅读 2020-01-03 12:07:38
    首先祝大家新年快乐. 先上效果图. 这里主要是增加了,框选放大效果.这其中就用到了WIN32的API 实现的橡皮线功能. 部分代码如下: Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs) ...
  • .net odb++文件解读(六)

    2020-01-19 17:02:24
    增加多层同时显示功能.
  • .NET ODB++ PCB图形文件解读(三)

    千次阅读 2020-01-16 14:45:13
    最近工作不忙,抽空完善了一下. 以下为genesis2000和.net 绘图对比
  • AbaqusODB2Pavaview python脚本将ODB格式的Abaqus结果转换为vtk格式,在Paraview中可以为红色
  • 经常用Allegro画图,在交付制板厂做板时需要正常导出Gerber,此文档详细介绍了如何导出满足要求的制板文件
  • OpenOffice的数据库引擎为HSQLDB,HSQLDB是一个基于内存和磁盘文件的数据表,以及支持嵌入式和服务器模式的纯JAVA实现的,小型数据库,非常适合开发和集成,利用HSQLDB的jdbcdriver就能顺利读取了.例子如下: 转载...
  • odb模型计算数据并输出到excel

    千次阅读 2020-06-12 14:51:53
    s_odb = 'C:/xxxx/obd1/Job-4-QZ+LNR-X-220.odb' stepname = 'Step-3' #脚本内部打开odb文件 o1 = session.openOdb(name=s_odb) 正常在软件中操作我们采用的这种 上述操作通过pyreader读取后就是如下代码 xy0 = ...
  • ODB 安装及运行官方实例

    千次阅读 2018-09-04 19:56:29
    1、ODB资源下载  下载地址 http://www.codesynthesis.com/products/odb/download.xhtml 三个资源 ... ODB Compliler odb-2.4.0-i686-windows odb的执行文件  Common Runtime Library ...
  • 我用allegro输出 ODB++ 出现如下错误,请问是怎么回事?eif_cadence-583003-Error translating input record RE: 检查artwork有没有设置好! eif_cadence-583003-Error translating input record - PCBEDA讨论区...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,853
精华内容 741
关键字:

odb文件