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

实现功能:

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

GUI界面:

RSG Builder 设计:

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

【自编RSG插件】梁结构生成插件QGToolBox的更多相关文章

  1. DTCMS插件的制作实例电子资源管理(一)插件目录结构

    总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四)     本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分 ...

  2. vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件

    使用unzip的时候 指定 -d选项, 是说明解压到的 目标地址. 这个参数还是比较方便的, 比直接unzip到当前目录, 然后在去拷贝到目标目录, 然后再删除当前目录中的解压文件夹, 方便多了. 使 ...

  3. discuz目录结构和插件创建

    discuz目录结构 api 外部接口功能实现 archiver 静态文档,静态化所用 config 配置 data 生成的数据 install 安装目录 source 源代码核心目录 |--modu ...

  4. 通过数据库中的表,使用 MyEclipse2017的反向生成工具-->hibernate反转引擎引擎(MyEclipse2017自带的插件) 来反转生成实体类和对应的映射文件

    通过数据库中的表,使用 MyEclipse2017的反向生成工具-->hibernate反转引擎引擎(MyEclipse2017自带的插件) 来反转生成实体类和对应的映射文件   文章目录 Ja ...

  5. 【转载】maven插件mybatis-generator自动生成 (1)

    http://blog.csdn.net/itlqi/article/details/49534447 1.新建一个maven项目在pom.xml添加如下: <plugins> <p ...

  6. Javascript的一种代码结构方式——插件式

    上几周一直在做公司的webos的前端代码的重构,之中对javascript的代码进行了重构(之前的代码耦合严重.拓展.修改起来比较困难),这里总结一下当中使用的一种代码结构——插件式(听起来怎么像独孤 ...

  7. 轻量级验证码生成插件webutil-licenseImage

    轻量级验证码生成插件webutil-licenseImage源码与实例应用   webutil-licenseImage 插件内置4种验证码样式,支持用户扩展.自定义样式实现简单验证码. 源码脱管地址 ...

  8. 用mybatis生成插件自动生成配置文件

    1.在当前的maven项目的pom.xml中添加插件 <build> <plugins> <plugin> <groupId>org.mybatis.g ...

  9. 基于canvas的二维码邀请函生成插件

    去年是最忙碌的一年,实在没时间写博客了,看着互联网行业中一个又一个人的倒下,奉劝大家,健康要放在首位,保重身体.好了,言归正传,这是17年的第一篇博文,话说这天又是产品同学跑过来问我说:hi,lenn ...

  10. 一个基于原生JavaScript开发的、轻量的验证码生成插件

    Vcode.js 一个基于原生JavaScript开发的.轻量的验证码生成插件 V: 1.0.0 DEMO:https://jofunliang.github.io/Vcode.js/example. ...

随机推荐

  1. 【C语言】【二级】移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p的数组元素平移到数组的最后

    题目 请编写函数fun,函数的功能是:移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(含p, p小于等于n-1)的数组元素平移到数组的最后. 例如,一维数组中的原始内容为:1,2,3,4 ...

  2. dockercompose配置ulimit

    在 Docker Compose 文件中设置 ulimit 的方法如下: 在 Docker Compose 文件的 services 块中,为您要设置 ulimit 的服务添加 ulimits 子块, ...

  3. Spring Validation 校验

    概述 在 Web 应用中,客户端提交数据之前都会进行数据的校验,比如用户注册时填写的邮箱地址是否符合规范.用户名长度的限制等等,不过这并不意味着服务端的代码可以免去数据验证的工作,用户也可能使用 HT ...

  4. 龙哥量化:MACD指标的金叉死叉,这样使用更准确(图解)

    如果您需要代写技术指标公式, 请联系我. 龙哥QQ:591438821 龙哥微信:Long622889 本文的策略过于简单,你可以加一些更复杂的限制条件 1.水上金叉,可看涨; 2.水上死叉,是洗盘; ...

  5. Qt/C++路径轨迹回放/回放每个点信号/回放结束信号/拿到移动的坐标点经纬度

    一.前言说明 在使用百度地图的路书功能中,并没有提供移动的信号以及移动结束的信号,但是很多时候都期望拿到移动的哪里了以及移动结束的信号,以便做出对应的处理,比如结束后需要触发一些对应的操作.经过搜索发 ...

  6. Qt音视频开发18-海康sdk回调

    一.前言 海康sdk显示实时视频流除了支持句柄方式以外,也支持回调的方式拿到每一张图片自己绘制处理,当然回调除了拿到视频数据,其实音频数据也一块拿到了,自行调用音频设备播放就行,关于海康sdk回调这块 ...

  7. Spring+MyBatis企业应用实战(第二版)2018-电子书+源码+SQL脚本

    Spring+MyBatis企业应用实战(第二版)2018学习资料: 电子书: 链接:https://pan.baidu.com/s/1yAdlA5F_HuZMbO4who5jVw 提取码:58yz ...

  8. docker-daemon配置

    { "api-cors-header":"", ------在引擎API中设置CORS标头 "authorization-plugins": ...

  9. JAVA8 函数式编程(1)- Lambda表达式

    1 简介 简洁的代码就能处理大型数据集合,让复杂的集合处理算法高效的运行在多核CPU上. 面向对象编程是对数据进行抽象,而函数式编程是对行为进行抽象,能编写出更易读的代码--这种代码更多地表达了业务逻 ...

  10. 找不到 MSVCP60D.dll

    问题 VC++ 运行程序时,出现错误: 解决办法 参考:链接 1.下载MSVCP60D.dll,下载:链接 下载的文件为64位,故应将文件复制到:C:\Windows\SysWOW64目录 2.打开& ...