找回密码
 注册
Simdroid-非首页
查看: 65|回复: 3

[二次开发] 求助:如何用Python实现,通过调整点进而调整Spline

[复制链接]
发表于 2011-4-6 22:05:12 | 显示全部楼层 |阅读模式 来自 江苏扬州
希望解决的问题是
1.希望spline经过的spot点(已经定义好)能提取出来
2.希望通过程序的方法自动改变spot,让spline跟随改变,而不是手工输入。
恳求大侠们帮忙解决一下。
一段程序如下:
from abaqus import *
from abaqusConstants import *
myModel=mdb.models['Model-1']
myViewport=session.Viewport(name='Plate',origin=(20,20),width=200,height=150)
# part
import sketch
import part
s=myModel.ConstrainedSketch(name='plateProfile',sheetSize=300)
s.Spline(points=((-15.0, -18.0), (16.0, -16.0), (25.0, 0.0)))
myPart=mdb.models['Model-1'].Part(name='Part-1',dimensionality=TWO_D_PLANAR,type=DEFORMABLE_BODY)
myPart.BaseWire(sketch=s)

注:((-15.0, -18.0), (16.0, -16.0), (25.0, 0.0)))等等点是已经定义的,能不能用python改变其坐标?
发表于 2011-4-7 17:55:44 | 显示全部楼层 来自 上海
Simdroid开发平台
p1=getInput('请输入点1','-15.0, -18.0')
p2=getInput('请输入点1','16.0, -16.0')
p3=getInput('请输入点1','25.0, 0.0')
pp1=[ float(i) for i in p1.split(',')]
pp2=[ float(i) for i in p2.split(',')]
pp3=[ float(i) for i in p3.split(',')]
pp1=tuple(pp1)
pp2=tuple(pp2)
pp3=tuple(pp3)
s.Spline( points = ( pp1,pp2,pp3 ) )
回复 不支持

使用道具 举报

发表于 2011-4-7 18:06:42 | 显示全部楼层 来自 上海
要提取spline经过的三个点的话, spline对象的属性里面应该有类似pointOn之类的属性

刚才查了一下帮助
s.Spline(points=((-15.0, -18.0), (16.0, -16.0), (25.0, 0.0)))
vs = s.getVertices() #返回经过的三个点
print vs[0].coords, vs[1].coords, vs[2].coords  #打印3个点的错标
回复 不支持

使用道具 举报

 楼主| 发表于 2011-4-8 16:37:51 | 显示全部楼层 来自 江苏扬州
多谢nbiao。你的回复让我找到了一些思路。这是解决问题的一个方法。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-30 16:20 , Processed in 0.029671 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表