CATIA CAA 创建投影视图
CATIA CAA 创建投影视图
百科全书里的视图示例是剖切视图,实际上常用的更多时候是投影视图,可向任意平面进行投影,下面是6视图函数示例
/**************************************************
函数功能:根据主视图面创建指定类型投影视图
函数说明:oView 创建的投影视图iPartDoc 要投影的part文档iPlane 投影的正视图数学平面iGenGeomSecond 标注的第二选择元素iSheet 要添加view的sheetiViewType 投影六视图中的哪一个iScale 缩放比率
**************************************************/
HRESULT AnnotationToolKit::CreateProjectionViewByMainViewPlane(CATIView_var &oView,CATDocument* iPartDoc,CATMathPlane iFrontViewPlane,CATISheet_var iSheet,CATDrwViewType iViewType,double iScale)
{oView = NULL_var;HRESULT result = E_FAIL;if(NULL == iPartDoc || NULL_var == iSheet ) return result;CATMathVector vFrontPlaneNormal;CATMathVector vFrontPlaneFirstDirection;CATMathVector vFrontPlaneSecondDirection;iFrontViewPlane.GetNormal(vFrontPlaneNormal);iFrontViewPlane.GetDirections(vFrontPlaneFirstDirection,vFrontPlaneSecondDirection);CATMathPlane vMathPlane;switch(iViewType){case FrontView:vMathPlane = iFrontViewPlane;break;case RearView:vMathPlane = CATMathPlane(CATMathPoint(0,0,0),-vFrontPlaneFirstDirection,vFrontPlaneSecondDirection);break;case LeftView:vMathPlane = CATMathPlane(CATMathPoint(0,0,0),vFrontPlaneNormal,vFrontPlaneSecondDirection);break;case RightView:vMathPlane = CATMathPlane(CATMathPoint(0,0,0),-vFrontPlaneNormal,vFrontPlaneSecondDirection);break;case TopView:vMathPlane = CATMathPlane(CATMathPoint(0,0,0),vFrontPlaneFirstDirection,-vFrontPlaneNormal);break;case BottomView:vMathPlane = CATMathPlane(CATMathPoint(0,0,0),vFrontPlaneFirstDirection,vFrontPlaneNormal);break;default:return result;break;}CATISpecObject_var spSpecOnSheet = iSheet;CATIDrwFactory_var spDrwFact = spSpecOnSheet->GetFeatContainer();CATIDftViewMakeUp *pNewViewMU = NULL;if (NULL_var != spDrwFact && SUCCEEDED(spDrwFact->CreateViewWithMakeUp(IID_CATIDftViewMakeUp,(void **)&pNewViewMU))){if (NULL != pNewViewMU){CATIView *pNewView = NULL; if (SUCCEEDED(pNewViewMU->GetView(&pNewView))){if(NULL != pNewView){pNewView->SetViewType(iViewType);pNewViewMU->SetScale(iScale);iSheet->AddView(pNewViewMU);iSheet->SetCurrentView(pNewView);CATISpecObject_var spSpecObj= ZUFAPI::GetPartFromDocument(iPartDoc);CATILinkableObject_var spLink = spSpecObj;pNewView->SetDoc(spLink);CATIGenerSpec_var spGenerSpec = pNewView->GetGenerSpec();spGenerSpec->SetProjPlane(vMathPlane);CATISpecObject_var spSpecOnGener = spGenerSpec;spSpecOnGener->Update();oView = pNewView;pNewView->Release();pNewView = NULL;result = S_OK;}}pNewViewMU->Release();pNewViewMU = NULL;}}return result;
}
创建视图后可通过CATIDftGenGeom::GetGeometryOfOrigin()函数取得投影源拓扑对象,方便进行进一步的处理
CATIA CAA 创建投影视图相关推荐
- #开发catia_CATIA工程制图二次开发之15:从平面创建剖面视图
从平面创建剖面视图 如何创建与平面关联的切割剖面视图 摘要 本文讨论 CAADrwCreateSectionFromPlane用例.此用例说明如何创建由与平面关联的切割剖面定义的生成剖面视图.因此,如 ...
- 创建物化视图commit_oracle 中物化视图讲解
oracle 中物化视图讲解 oracle中的物化视图首先需要创建物化视图日志,oracle根据用户创建的物化视图日志来创建物化视图日志表,物化视图日志表名称为mlog$_基表名,如果表名超过20位, ...
- oracle雾化试图_Oracle创建物化视图
Oracle创建物化视图 通过Oracle物化视图章节,我们已经了解到Oracle物化视图的作用和创建原理,本节通过实例详细讲解Oracle是如何创建物化视图的. 创建物化视图语法: 语法:creat ...
- linux创建mysql视图_MySQL视图基本操作
1.准备工作 在MySQL数据库中创建两张表balance(余额表)和customer(客户表)并插入数据. create table customer( id int(10) primary key ...
- [译]创建物化视图的先决条件
原文Oracle® Database SQL Reference 10g Release 2(10.2) B14200-02 P924-925 创建物化视图的权限应当直接赋予而非通过角色 在你自己的s ...
- Oracle 11g 通过创建物化视图实现不同数据库间的表数据同步
Oracle 11g 物化视图语法如下: create materialized view [view_name] refresh [fast|complete|force] [ on [commit ...
- 创建mysql视图语法正确的是_MySQL创建视图的语法格式
视图,具有简化查询语句.安全性和保证逻辑数据独立性等作用 创建视图的语法格式 视图中,包含SELECT查询的结果,因此,视图的创建基于SELECT语句,和已经存在的数据表,视图可以建立在一张表上,也可 ...
- 创建数据库_详解Oracle数据库物化视图及创建物化视图索引
概述 物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图S ...
- 【clickhouse】创建物化视图数据来源是两张表该怎么写创建语句呢?
1.概述 创建物化视图数据来源是两张表该怎么写创建语句呢 CREATE [MATERIALIZED] VIEW [IF NOT EXISTS] [db.]table_name [TO[db.]name ...
最新文章
- UNIX中后台进程与守护进程
- javascript最快入门
- 推荐一个golang的json库
- arm-linux-gcc静态编译和动态编译的区别
- JAVA蓝桥杯:字母图形
- idea项目乱码问题
- python花式输出_关于python字符串format的一些花式用法
- SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法...
- sublime怎么配置python环境_在Sublime Editor中配置Python环境的详细教程
- Excel中的常用快捷键
- 字符串格式参数的日期比较函数
- POJ 3267 The Cow Lexicon(动态规划)
- SylixOS移植Redis库总结
- nginx-1.13.7 按照centos8 报错记录
- 企业微信集成外部APP
- 现代电子计算机数学理论基础,知到食品营养学(暨南大学)2020网课答案
- unity 模型销毁_Unity中销毁游戏对象的方式
- 「罗马人的故事 II 汉尼拔战记」读后感
- SQL--Transact-SQL
- FFT专题:IFFT后信号如何重建
热门文章
- MATLAB | R2023a更新了哪些好玩的东西
- 【推荐】测试建模:启发式测试策略模型
- 2007-08书签存档
- 一名Web3D开发工程师的Three.js知识总结与学习步骤
- 苹果最新系统ios7_手机资讯:你绝对不知道的iOS7隐藏功能
- 企业做搜索引擎关键词排名优化要多少钱?
- .java文件_Java文件操作
- Linux终极shell-zsh的完美配置方案!——oh-my-zsh
- #DeepLearningBook#算法概览之八:Representation Learning
- win10 安装 ubuntu18.04双系统(以及英伟达驱动安装和各种设置)