【ABAQUS插件练手】梁结构生成插件QGToolBox

我的主页:

博客园文章链接:

  • https://www.cnblogs.com/aksoam/p/17421939.html

正在学习基于ABAQUS-PYTHON的GUI开发,出于练手的想法,编写了一个简单的插件。

实现功能:

  • 基于nodes、 rods的table,完成桁架结构的几何建模。

img

GUI界面:
img

RSG Builder 设计:
img

kernel python 代码:

# -*- coding: mbcs -*-
# Do not delete the following import lines
# version 1.0
from abaqus import *
from symbolicConstants import *
from abaqusConstants import *
import __main__

def BeamBuilder(BeamBuilderEnable,ModelName,PartName,MergeType,Meshable,Points,Rods):
    # create a model
    mdb.Model(name=ModelName,modelType=STANDARD_EXPLICIT)
    mymodel=mdb.models[ModelName]
    # create a blank part
    p=BlankPart(mymodel,PartName)

    meshable=SymbolicConstant(name=Meshable.upper())
    mergetype=SymbolicConstant(name=MergeType.upper())
    
    nodes=Points
    beams=Rods
    print('point numbers='+str(len(nodes)))
    print('rods numbers='+str(len(beams)))
    
    nodesDict={}
    for i in range(len(nodes)):
        node_index=nodes[i]
        nodesDict[node_index[0]]=node_index[1:4]
    lines=[]
    for i in range(len(beams)):
        line_index=beams[i]
        line=(nodesDict[line_index[1]],nodesDict[line_index[2]])
        lines.append(line)
    
    p.WirePolyLine(points=tuple(lines), mergeType=mergetype, meshable=meshable)
    
# create a balnk part object
def BlankPart(Model,PartName): 
    # return sketch
    s = Model.ConstrainedSketch(name='__profile__', sheetSize=200.0)
    # view setting
    s.setPrimaryObject(option=STANDALONE)
    s.ArcByStartEndTangent(point1=(-36.25, 13.75), point2=(-17.5, 7.5), vector=(1.0, 0.0))
    # create a part according to the sketch
    p = Model.Part(name=PartName, dimensionality=THREE_D, type=DEFORMABLE_BODY)
    p = Model.parts[PartName]
    p.BaseWire(sketch=s)
    s.unsetPrimaryObject()
    del Model.sketches['__profile__']
    temp=p.features.keys()
    del p.features[temp[0]]
    return p
" frameborder="no" framespacing="0" allowfullscreen="true">
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值