- 积分
- 5391
- 明经币
- 个
- 注册时间
- 2011-5-13
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
1明经币
本帖最后由 yanshengjiang 于 2021-12-12 21:54 编辑
本人会点autolisp, 但对其他语言一窍不通
现在南方cass-3d里面得到一段二次开发的源码,不知道该怎么在cad里面应用。
这段源码是可以编译成arx文件,然后执行Get3DHeightFromPt命令吗?那么这个程序能不能做成一个功能函数呢,比方说我lisp里面可以调用这个函数,在我getpoint的地方添加一个高程点
如果是,请帮我编译成cad2016 64位版本可以用的,谢谢。
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);
}
}
|
|