咨询热线:0731-88808590
切换到宽版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11222|回复: 2

PDMS DARS 接口函数d3rtex、d3rra、d3rprl不能正确返回值

[复制链接]
发表于 2008-5-22 09:20:00 | 显示全部楼层 |阅读模式

1,pdms没有java接口

2,pdms有一种他们自己定义的PML解释语言,可进行完全的pdms开发。pdms的开发思路就是封装一些核心函数,提供给外部pml调用,以保证核心的安全。否则,开发者会把pdms弄成一锅粥煮,然后崩溃。他们就是要把开发人员变成pml程序员。

3,pdms提供一种动态链接库接口,只能读pdms数据库,不能写pdms数据库。随着pdms市场的壮大,也许应该做个计划,来支持写pdms数据库。并支持VBA/C#/Java之类的通用接口。

4,当务之急,aveva还是要修改如下函数不能正常返回值BUG:

PDMS DARS 接口函数d3rtex不能读取表达式汉字 Post By:2008-4-8 16:59:30


PDMS DARS 接口函数BUG

d3rtex ( "Stext", cd3tex, &id3err ) 该函数d3rtex在读取表达式时,如含有(符号时,若\'字符后面紧跟汉字字符时,返回值不正确。例如,在UESOFT网站下载的pdms工程600MW项目中,元件库GD2000,元件 =8377/70026,节点SDTE属性STEXT值在PDMS数据库中本来是: ( \'钢板焊制异径管 Φ\' + STR ( ATTRIB PARA[6 ] ) + \'X\' + STR ( ATTRIB PARA[7 ] ) ) d3rtex ( "Stext", cd3tex, &id3err )读出来的“钢板焊制异径管 Φ”正确值本来应该是: &~8V0e:8VFRl>69\ & &~&5 & 但函数d3rtex读出来的实际值变成了 “Ve8Fl6\”。 只有在PDMS界面把SDTE节点STEXT属性更新一次,读出来的值才正确。使用PML宏更新STEXT属性中的双字节字符、单字节字符,只有单字节字符能被正确读出。如果去掉STEXT字段中汉字字符前的(或者\'字符,读出来的值才正确。 \'&~8V0e:8VFRl>69\ & &~&5 &\' + STR ( ATTRIB PARA[6 ] ) + \'X\' + STR ( ATTRIB PARA [7 ] )

详见http://www.dodoinfo.com/b/dispbbs.asp?boardid=66&Id=2284

//////////////////////////////////////////////////////////////////////////
// 函数:PdsReadDoubleArrAtt
//------------------------------------------------------------------------
// 功能:读取double数组类型的属性的值
//------------------------------------------------------------------------
// 输入:
// strAttType: 属性的类型
//------------------------------------------------------------------------
// 输出:
// dArrAttValue: 属性的值
//------------------------------------------------------------------------
// 返回:
// PDMSImport::ErraorStatus: 错误状态
//////////////////////////////////////////////////////////////////////////
PDMSImport::ErrorStatus PdsReadDoubleArrAtt(const CString& strAttType,
DoubleArray& dArrAttValue)
{
int es = 0;
int nNum;
int nLength = 100;
PDMS_NAME szAttType = {0};
float dAttValue[100] = {0};
strcpy( szAttType, (LPCTSTR)strAttType);

d3rra(szAttType, &nLength, dAttValue, &nNum, &es);
if ( es != 0 )
{
return (PDMSImport::ErrorStatus)es;
}
dArrAttValue.RemoveAll();
for(int i = 0; i< nNum; i++)
dArrAttValue.Add(dAttValue);
return PDMSImport::eOK;
}

//////////////////////////////////////////////////////////////////////////
// 函数:PdsReadPosAtt
//------------------------------------------------------------------------
// 功能:读取当前element相对于指定坐标系的位置
//------------------------------------------------------------------------
// 输入:
// strAttType: 指定的坐标系(包括 PDMS names, PDMS reference numbers,
// PDMS nouns and the text \'OWN/ER\')
//------------------------------------------------------------------------
// 输出:
// iAttValue: 属性的值(3维double型数组)
//------------------------------------------------------------------------
// 返回:
// PDMSImport::ErraorStatus: 错误状态
//////////////////////////////////////////////////////////////////////////
PDMSImport::ErrorStatus PdsReadPosAtt( const CString& strAttType,
DoubleArray& dArrAttValue )
{
int es = 0;
PDMS_NAME szAttType = {0};
float fArrAttValue[3] = {0};
strcpy( szAttType,(LPCTSTR)strAttType );

d3rprl( szAttType, fArrAttValue, &es );
if ( es != 0 )
{
return (PDMSImport::ErrorStatus)es;
}
dArrAttValue.RemoveAll();
for ( int i = 0; i < 3; i++ )
{
dArrAttValue.Add( fArrAttValue );
}
return PDMSImport::eOK;
}




回复

使用道具 举报

 楼主| 发表于 2008-10-31 12:20:00 | 显示全部楼层
======在 2008-10-31 10:07:11 您来信中写道:======

uesoft兄你好:

看了你的“PDMS DARS 接口函数d3rtex不能读取表达式汉字”文章,试了一下,可是pdms的 dars要什么license.dat,你能不能给我发个d3lib.dll的解密版本。多谢。

邮箱是

lzswater@sohu.com

======================================

谢谢关注此问题。我们已经在2008.06解决了这个问题。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-5 13:08:00 | 显示全部楼层
感兴趣的开发者可以到这里下载PDMS DARS接口动态库http://www.uesoft.com/forum.php?mod=viewthread&tid=4920&extra=page%3D1
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们

长沙优易软件开发有限公司(中文简称:优易软件,英文简称:UESOFT)是三维管道CAD/CAE一体化设计软件开发商,也是新一代三维工厂设计管理系统的开创者。公司开发的自主知识产权的管道应力分析软件AutoPSA居于中国大陆市场前2名。UESOFT于2000年10月23日经湖南省长沙市工商行政管理局核准登记设立。

联系我们

  • 地址: 中国湖南省长沙市高新区桐梓坡西路保利麓谷林语中心i区1栋718-725
  • 电话: 0731-88808590
  • Email: uesoft@163.com
© 2001-2021  Powered by Discuz! X3.4 永益科技
快速回复 返回顶部 返回列表