- 积分
- 5391
- 明经币
- 个
- 注册时间
- 2011-5-13
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2021-12-14 14:43:51
|
显示全部楼层
哦 这样啊。有个问题不知道你有没有兴趣帮忙解决一下
cass3d给了段二次开发的源码例子,好像是c++的 ,不知道能不能编译成功能函数让lsp调用,如果很麻烦那这段代码能不能添砖加瓦,让他选择我给的没有高程的坐标文件 ,在模型里面把高程返回出来。
之所以需要这样的程序是因为cass3d自带的,只能entsel这样单选多段线提取线上高程,很少麻烦。
这是他们给的源码
void Get3DHeightFromPt()
{根据坐标点获取z值
ads_point pt = { 0 };
int err = ads_getpoint(NULL, _T("
根据坐标获取高程:"), pt);
if (err != RTNORM)
{
return;
}
resbuf *list = NULL;
resbuf *result = NULL;
list = acutBuildList(RTSTR, _T("cass3D_getHeight"), RTPOINT, pt, RTNONE);
if (list != NULL)
{
err = acedInvoke(list, &result);
ads_relrb(list);
if (err != RTNORM)
{//三维窗口未打开或者获取高程失败
return;
}
}
double z = 0.0;//根据xy计算出来的模型上的高程
if (result != NULL)
{
if (RTREAL == result->restype)
{
z = result->resval.rreal;
}
ads_relrb(result);
}
} |
|