- 博客(10)
- 问答 (1)
- 收藏
- 关注
原创 CATIA CAA 二次开发去除面内开孔
测试模型:代码说明:以下代码在拓扑级去除Face的内部loop,更改后的Body通过oispBody参数输出。主要使用CATSmartBodyDuplicator拓扑操作实现HRESULT CAAStarterCmd::RemoveHoleOnFace(CATBody_var &ispBody,CATBody_var &oispBody){ CATLISTP(CATCell)olistFace; ispBody->GetAllCells(olistFace,2); CATF
2021-12-26 21:54:46
1401
原创 CATIA CAA二次开发实现获取几何曲线所对应的具体类型
测试模型:模型中在面上开了三个标准圆孔,一个椭圆孔代码:如果你需要获取具体几何对象的信息,将指针强制类型转换以下就可以。没错,这里我又偷懒了!!!HRESULT CAAStarterCmd::GetGeometryObjectType(CATBody_var &ispBody){ //检验输入Body是否为null if(!ispBody) return S_FALSE; //get all CATLoop,因为Loop是用来限制Face的, //那么你所获取的几何曲线的直接基类应
2021-12-23 18:47:53
2069
原创 Persistent Model与 Session Model的关系(随笔二)
Persistent Model=Reference/Instance model 改模型被永久保存数据库中Session Model=Occurence Model 该模型是瞬时模型,不会被存储在数据库内,每次从数据库中读取Reference/Instance model和将其加载到会话中时都会重新创建有了Reference/Instance model为什么还需要Occurrence Model ?如果Reference/Instance模型能够表示一个装配体并能高效的将该装配体存储到数据库中,
2021-12-08 17:09:43
245
原创 样条曲线转换为NUBRS曲线
//采用代理交互式获取样条CATPathElement*pPath=_pPathElementAgent->GetValue(); int index=pPath->GetSize()-1; CATBaseUnknown *pElement=(*pPath)[index]; CATIGeometricalElement_var spGeoEle=NULL_var; if(SUCCEEDED(pElement->QueryInterface(IID_CATIGeom
2021-10-27 11:49:03
322
原创 批量获取曲面上的点
CATFrmEditor*pEditor= _pPathAgent->GetEditor(); CATISO *pISO=pEditor->GetISO(); CATDocument*pDoc=pEditor->GetDocument(); CATIContainer*pContainer=NULL; if (pEditor!=NULL&&pDoc!=NULL) { CATIContainerOfDocument*pConOfDoc=NULL; if (S
2021-07-02 11:17:42
610
原创 CATIA二次开发——将样条转换为NUPBS(非均匀多项式样条)
CATFrmEditor*pEdiotr=_pPathAgent->GetEditor(); CATDocument*pDoc=NULL; if (pEdiotr!=NULL) { pDoc=pEdiotr->GetDocument(); } CATIContainerOfDocument*pConOfDoc=NULL; HRESULT rc=pDoc->QueryInterface(IID_CATIContainerOfDocument,(void**)&pCo.
2021-06-18 10:56:02
661
原创 CATIA CAA二次开发高亮显示特征
备注:pEditor为CATFrmEditor指针;opSpec为特征接口CATISpecObject指针; CATHSO*pHSO=pEdiotr->GetHSO(); pHSO->Empty(); CATPathElement PathElement=pEdiotr->GetUIActiveObject(); CATIBuildPath*pBuild=NULL; CATPathElement*pElement=NULL;
2021-06-17 17:09:30
1068
原创 CATIA二次开发提取带孔面并更改其颜色
测试前模型与结构树示意图测试后模型型示意图if (pEditor!=NULL) { CATDocument*pDoc=pEditor->GetDocument(); if (pDoc!=NULL) { CATInit*piInt=NULL; HRESULT hr=pDoc->QueryInterface(IID_CATInit,(void**)&piInt); if (SUCCEEDED(hr)&&piInt!=NULL) {.
2021-06-16 21:26:02
2107
4
原创 matalb实现计算节点区间内所有不为零的B样条基函数
B样条基函数的递推定义:根据B样条的递推定义有,在任意给定的节点区间内[ui,ui+1)内,最多由p+1个基函数不为零,它们分别为Ni-p,p …Ni,p计算节点区间内所有不为零的基函数分为两步:1、计算节点区间下标2、计算不为零基函数%% 计算节点区间下标function index=FindSpan(n,p,u,U)%n 为节点区间i的最大值,n=基函数个数=控制点个数%p 为曲线的次数%U 为节点矢量if u==U(n+1)index=n;return;endlow=p;
2021-06-15 16:47:31
346
1
空空如也
编译libcurl库时仅生成libcurl_a_debug一个静态库文件
2024-04-29
动态链接库dll创建问题
2021-06-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人