找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 17125|回复: 7
打印 上一主题 下一主题

[求助] 草绘过程中与3D元素相交

[复制链接]
跳转到指定楼层
1
发表于 2012-11-21 10:58:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我在草绘中想把一个草绘平面和一个球面相交,采用了IntersectGeometry函数:

public virtual CATISpecObject_var IntersectGeometry(const CATBaseUnknown_var& iGeom,
CATListValCATI2DWFGeometry_var& oGeoms,
const int iPhantom=0,
CATBaseUnknown* iNearGeom=NULL,
const double* iSel2DPt=NULL,
const int iDatum=0,
const int iCanonic=1) = 0

但是我有点不明白CATListValCATI2DWFGeometry是个什么类型,而且程序报错找不到该头文件:
.cpp(86) : fatal error C1083: 无法打开包括文件:“CATListValCATI2DWFGeometry.h”: No such file or directory

我想请教一下,#include CATListValCATI2DWFGeometry.h 是包含在哪个LINK_MODULES中???

而且iGeom一定要是 External geometric element么???

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2012-11-21 11:03:21 | 只看该作者
#include "CATLISTV_CATI2DWFGeometry.h"
3
发表于 2012-11-21 11:05:46 | 只看该作者
CATListValCATI2DWFGeometry是一个列表,存放CATI2DWFGeometry类型的元素,CATI2DWFGeometry是草图中2D元素的类型,在这个方法中,应该是你求交后交点的列表~~
4
发表于 2012-11-21 11:14:05 | 只看该作者
linlily0925 发表于 2012-11-21 11:03
#include "CATLISTV_CATI2DWFGeometry.h"

        CATISpecObject_var spIntersectLine = NULL_var;
        CATListValCATI2DWFGeometry_var wfList = NULL;
        wfList.Append(spLine1);
        wfList.Append(spLine2);
        wfList.Append(spLine3);
        wfList.Append(spLine4);
spIntersectLine = spWF2DFactOnSketch->IntersectGeometry(UnknownSphere, wfList,0,NULL,NULL,0,1);

它报错error C2664: “CATListValCATI2DWFGeometry_var::Append”: 不能将参数 1 从“CATISpecObject_var”转换为“const CATI2DWFGeometry_var &”
求指教啊?
5
发表于 2012-11-21 11:18:46 | 只看该作者
wfList是个输出列表,是你的草图和UnknownSphere求交后交点或者交线的列表~~而且草图中只有发布的元素可以直接转换到CATISpecObject接口上,你的wfList列表是CATI2DWFGeometry类型,而spLine1是CATISpecObject类型,所以会报错~~
6
发表于 2012-11-21 11:29:04 | 只看该作者
linlily0925 发表于 2012-11-21 11:18
wfList是个输出列表,是你的草图和UnknownSphere求交后交点或者交线的列表~~而且草图中只有发布的元素可以直 ...

我感觉没入门啊。。。
CATIGSMSphere_var gsmSphere=NULL_var;
CATBaseUnknown_var UnknownSphere = gsmSphere;

CATI2DWFFactory_var spWF2DFactOnSketch(spSketch);
然后我生成了一个spSketch。

        CATISpecObject_var spIntersectLine = NULL_var;
        CATListValCATI2DWFGeometry_var wfList = NULL;

        spIntersectLine = spWF2DFactOnSketch->IntersectGeometry(UnknownSphere, wfList,0,NULL,NULL,0,1);

//显示
        spIntersectLine->Update();
        CATIGSMProceduralView_var pvspIntersectLine = spIntersectLine;
        pvspIntersectLine->InsertInProceduralView();

麻烦帮忙看看这有什么问题?先谢谢了。
7
发表于 2012-11-21 13:39:37 | 只看该作者
leihaizhe 发表于 2012-11-21 11:29
我感觉没入门啊。。。
CATIGSMSphere_var gsmSphere=NULL_var;
CATBaseUnknown_var UnknownSphere = gs ...

如果接口不为空,应该木有问题~~~程序中判断一下吧,找一下问题出在哪里~~
8
发表于 2012-11-22 09:56:22 | 只看该作者
求交 问题解决方案:
//草图与面求交
        CATBaseUnknown* UnknownSphere = gsmface;//gemface为空间曲面
       CATISpecObject_var spIntersectLine = NULL_var;
        CATListValCATI2DWFGeometry_var wfList ;
        spIntersectLine = spWF2DFactOnSketch->IntersectGeometry(UnknownSphere, wfList,0,NULL,NULL,0,1);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-27 15:03 , Processed in 0.033473 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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