查看: 3009|回复: 16
收起左侧

[Tribon] 请教高手

[复制链接]
发表于 2008-12-3 20:51 | 显示全部楼层 |阅读模式 来自: 中国江苏南通
TRIBON里非90度弯的地方,再加弯头的时候,系统会自动把90度的弯头切掉.
但怎么才能在数据抽取的时候判断这个地方到底是多少度的弯头呢?
系统会不会在哪里有什么标识?或者怎么通过PYTHON来判断弯头的度数呢?
回复

使用道具 举报

龙船学院
发表于 2008-12-3 22:39 | 显示全部楼层 来自: 中国江苏南通
这个角度是通过弯头的端部矢量来计算的,可以通过VITESSE编程来实现
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-3 22:44 | 显示全部楼层 来自: 中国江苏南通
可以提示一下吗?谢谢了先.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-3 22:45 | 显示全部楼层 来自: 中国江苏南通
比如,用哪个函数,还有那些关键参数?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-4 22:10 | 显示全部楼层 来自: 中国江苏南通
顶到问题解决有答案.
回复 支持 反对

使用道具 举报

发表于 2008-12-4 22:54 | 显示全部楼层 来自: 中国江苏南通
用到的几个关键语句:
est = "PIPE('" + proj + "').PIPM('" + mod + '-' + sysno + "').PART("+partid+").CONN(1:2).VECTOR #弯头的两个端部矢量
Vec1 = kcs_dex.get_reavec3d()     #获取第一个端部矢量返回值
Conn_Vec1 = KcsVector3D.Vector3D(Vec1[0],Vec1[1],Vec1[2])     #定义第一个端部矢量
Vec2 = kcs_dex.get_reavec3d()   #获取第二个端部矢量返回值  
Conn_Vec2 = KcsVector3D.Vector3D(Vec2[0],Vec2[1],Vec2[2]) #定义第二个端部矢量
angr=Conn_Vec1.AngleToVector(Conn_Vec2)                #矢量夹角(弧度)
angd=180.00/math.pi*angr                        #矢量夹角(度)
cangd=180-angd                                       #弯头中心角

[ 本帖最后由 syoregnew 于 2008-12-4 22:55 编辑 ]

评分

参与人数 1金币 +5 收起 理由
billy + 5 技术指点

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2008-12-4 22:59 | 显示全部楼层 来自: 中国江苏南京
楼上的兄弟搞复杂了,其实这个问题很简单,我们厂早就用了,零件图上是可以通过零件图的模板来设置的,用数据抽取的话,可以抽出弯头(Component)的Total length(90度的弯头)和弯头半径数值一样,再抽取管子模型中这个弯头的(Building length.)就可以计算出实际角度,

[ 本帖最后由 kyree 于 2008-12-4 23:00 编辑 ]

评分

参与人数 1金币 +2 +2 收起 理由
billy + 2 + 2 原创内容

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2008-12-4 23:22 | 显示全部楼层 来自: 中国江苏南通

回复 7楼 kyree 的帖子

楼上兄弟其实有所不知,这段代码其实是段通用代码,不仅仅适用与弯头
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-4 23:25 | 显示全部楼层 来自: 中国江苏南通
收到,明天去研究下.再回来汇报.
建议斑竹给二位嘉奖,高手啊.....
回复 支持 反对

使用道具 举报

发表于 2008-12-5 10:14 | 显示全部楼层 来自: 中国辽宁大连
原帖由 syoregnew 于 2008-12-4 22:54 发表
Vec1 = kcs_dex.get_reavec3d()     #获取第一个端部矢量返回值
Conn_Vec1 = KcsVector3D.Vector3D(Vec1[0],Vec1[1],Vec1[2])     #定义第一个端部矢量


此处可以这样传参:
Conn_Vec1 = KcsVector3D.Vector3D(*Vec1)
如:
>>> def foo(a, b, c):print a, b, c

>>> v = (1,2,3)
>>> foo(*v)
1 2 3

评分

参与人数 1金币 +5 收起 理由
billy + 5 技术指点

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-5 19:20 | 显示全部楼层 来自: 中国江苏南通
高手遇高手了啊,呵呵.
程序正在摸索中,我是在EXCEL里做的,但用getValue得到的矢量还无法一个一个的得到,郁闷中.......
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-6 22:15 | 显示全部楼层 来自: 中国江苏南通
在EXCEL里走,计算角度比较麻烦,所以转回PYTHON里做.
根据提取矢量计算的方法,现在已经可以得到弯头的角度了。
下一步摸索统计弯头数量的方法.
继续研究中.............

[ 本帖最后由 更多的思考 于 2008-12-8 20:42 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-8 20:44 | 显示全部楼层 来自: 中国江苏南通
今天得到了框选MODEL LIST.
下一步计算弯头数量.取弯头矢量,计算角度,形成列表.
还有一个问题困扰我,怎么输出到文件.
想用YG的EASYEXCEL.再研究研究.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-8 20:50 | 显示全部楼层 来自: 中国江苏南通
另外,计算出来的角度为浮点数,取整后有的正好,有的是29或者44或者59.
我是用IF判断的然后修改.
请教有没有更好的方法来解决这个问题?
回复 支持 反对

使用道具 举报

发表于 2008-12-9 22:55 | 显示全部楼层 来自: 中国江苏南通
是编程的原因,我这里计算得出的角度与在DRAFTING中量出的角度是完全一致的。可以在DRAFTING中取一位小数测量下弯头角度,也许弯头是29。4度,取整后自然就是29度了

[ 本帖最后由 syoregnew 于 2008-12-9 22:58 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-9 23:13 | 显示全部楼层 来自: 中国江苏南通
计算出来的是和DRAFTING中量出来的一样,可他实际应该是整数度的.
我统计的话,也是按整数度统计的.
如果计算的29度,除了我用IF方法判断后修改为30度,还有什么其他的方法吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-18 21:40 | 显示全部楼层 来自: 中国江苏南通
终于有点进展了.可以统计出各种弯头个数和COMPONENT名了.
未命名.JPG
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|标签|免责声明|龙船社区

GMT+8, 2024-11-14 12:37

Powered by Imarine

Copyright © 2006, 龙船社区

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