老李

共赢股海,寂寞投机

2009年06月27日

翻译 OpenCasCade 技术概览-----概述

产品概述


OCC是基于OO概念的C++类库,用于精密设备等设计应用程序。
典型的应用是CAD(2D/3D)应用程序的开发,制造业,仿真,或者
一些其他的图形工具。OCC让你能够很快的开发这些程序。


OCC提供以下模块:
提供2D/3D几何模型库,用以创建任意模型:
创建基本图元包含:棱柱,圆柱,棱锥,圆环等 
实现了布尔运算(交并差) 
对实体进行倒角,圆角等操作
用偏移,壳,镂空等方式创建实体 
计算属性,例如:surface, volume, center of gravity, curvature
计算几何 projection, interpolation, approximation
模型的显示,和视图操作等这些可视化模块:
3D 旋转 
缩放 
阴影 
一个应用程序框架设计:
让没有几何信息的应用程序联合几何信息 
参数化模型 
阅读全文>

发表于 @ 2009年06月27日 13:01:00|评论(loading...)|举报|收藏

2009年06月26日

翻译 OpenCasCade 教程-瓶子 (4)


5. 组合部件
前面几何已经完成了瓶子。现在将用 TopoDS_Compound 和 BRep_Builder 类来将 myBody 和 myThreading 组合起来:

TopoDS_Compound aRes;
BRep_Builder aBuilder;
aBuilder.MakeCompound (aRes);
aBuilder.Add (aRes, myBody);
aBuilder.Add (aRes, myThreading);

祝贺你,你的瓶子完成了。预览一下效果吧:




我们希望这个教程让你对强大的OCC有一定的了解。
下面是教程例子中的函数MakeBottle,这些代码可以在 src/MakeBottle.cxx中找到。


这个例子到这就结束了。最后的图显示出例子的最终结果,但教程并没有讲解如何渲染,因为渲染本来不是occ的份内之事。
中间阅读全文>

发表于 @ 2009年06月26日 13:43:00|评论(loading...)|举报|收藏

2009年06月25日

翻译 OpenCasCade 教程-瓶子 (3)


4. 创建螺纹

4.1. 创建表面
到目前为止,你已经学习了如何创建3D曲线的边界。
接下来要学习创建2D的边界和表面。
这里要看如何从圆柱表面的2D曲线来生成螺旋。这个原理要比先前的东西更复杂一些,但在OCC中也是相当简单的。
第一步先用下面这2个参数创建圆柱表面:
• 一个坐标系
• 一个半径

用坐标系neckAx2 来创建2个圆柱半径如下(下图):



Handle(Geom_CylindricalSurface) aCyl1 = new Geom_CylindricalSurface(neckAx2 , myNeckRadius * 0.99);
Handle(Geom_CylindricalSurface) aCyl2 = new Geom_CylindricalSurface(neckAx2 , myNeckRadius * 1.05);



4.2.阅读全文>

发表于 @ 2009年06月25日 14:40:00|评论(loading...)|举报|收藏

2009年06月19日

翻译 OpenCasCade 教程-瓶子 (2)

3. 瓶子主体3.1. 柱体轮廓生成瓶子主体,需要创建一个实心的柱体。最简单的方法是用先前创建的底面轮廓沿着一个方向推移:OCC的功能很合适这样的操作。OCC可以根据一个形状和一个方向生成实体:形状生成Vertex 顶点Edge  边Edge 边Face  表面Wire 网格Shell  壳Face 表面Solid  体Shell 壳Compound of Solids 组合体当前的轮廓是一个wire,根据上面的表,应该通过wire获得face,再通过face生成solid。用BRepBuilderAPI_MakeFace 类创建face。如前面所说,face是一个由闭合wire组成的表面轮廓的一部分。通常,BRepBuilderAPI_MakeFace类可以将一个或多个wire生成face。如果wire在一阅读全文>

发表于 @ 2009年06月19日 10:35:00|评论(loading...)|举报|收藏

2009年06月18日

翻译 OpenCasCade 教程-瓶子 (1)


目录

1. 项目概览.........................................................................................4
1.1. 先决条件.................................................................................4
1.2. 项目.........................................................................................4
1.3. 项目说明.................................................................................4
2. 技术描述........................................................................阅读全文>

发表于 @ 2009年06月18日 11:48:00|评论(loading...)|举报|收藏

2009年06月17日

原创 occ 入门 - 实验工具:Draw Test Harness


      occ 提供了一个实验工具叫Draw Test Harness,安装occ后,在开始菜单中可以找到。也可以直接通过目录访问D:\OpenCASCADE6.3.0\ros\win32\bin\DRAWEXE.exe。

      运行这个程序后,出现命令行窗口,命令行出现以下提示:
Draw[1]>

输入 pload ALL

创建第一个几何对象:
在命令行窗口输入 axo 创建一个轴测图。
输入 box b -10 -10 -10 20 20 20 创建一个名称为b尺寸为20的立方体 , 平行于xyz坐标轴,中心在原点. 这个时候立方体将以线框的方式出现在axo创建的视图中。
输入 fit ,这样立方体将填满整个视图。
输入 pcylinder c 2 30 来创建一个名字为c,半径为2高度为30的圆柱。
操作视图:
输入 clear 擦除视图。
输入 donly c 只显示圆柱 c 。
输入 donly阅读全文>

发表于 @ 2009年06月17日 13:45:00|评论(loading...)|举报|收藏

原创 OpenCasCade 6.3目录结构

OpenCasCade 简介当你安装完成后,你可以找到下面这些目录,这里简单介绍一下目录结构:目录树描述 data - 这里面包含各种不同格式的模型文件。都是occ支持的格式。doc –occ的文档。ros/adm - occ团队工具,可以用来重新生成occ。ros/adm/win32 - 包含Visual C++ 6.0., 7.1. 和 8.0.的工程文件, 用来生成occ的win32版本。ros/adm/win64 - 包含 Visual C++ 8.0.工程,用来生成win平台64位版本。ros/drv - 此文件夹包含WOK生成的源码文件。ros/inc - 包含所有的occ头文件。ros/src - 此文件夹包含occ源码,根据开发模块组织存放。ros/win32 - 此文件夹包含了occ的可执行程序(dll)和lib,有debug,release。Sa阅读全文>

发表于 @ 2009年06月17日 10:54:00|评论(loading...)|举报|收藏

原创 OpenCasCade 简介


Open CASCADE是一套开放原始码的CAD/CAM/CAE几何模型核心,源自于法国的Matra Datavision公司,这一套函式库系统原来是著名的CADCAM软体EUCLID的开发平台,但是在1998年, Matra Datavision改变了经营策略,从以销售软体为主改变为提供CAD/CAM/CAE软体服务为主的获利模式,并且在1999年公布Open CASCADE的程式原始码,任何人都可以在该公司的网站上下载并且使用这些程式码,而Matra Datavision则以此函式库为基础位客户建立客制化的数值模拟软体,国内CADCAM产业所需的套装软体常常动辄数百万甚至上千万,如此高昂的软体 费用对于中小企业来说确实是非常沉重的负担,而且套装软体中的功能有些其实根本用不到,但是软体使用者却必须花钱购买这些用不到的功能,如果能够针对中小 企业的需求建构一个精简化的CAD/CAM软体,并且在生产需求改变的时候才增加新的功能,将可以有效节省软体成本,而Open CASCADE的成功经验或许可以提供产业界甚至学术界一些新的思考方向   
Open CASCADE是一阅读全文>

发表于 @ 2009年06月17日 10:38:00|评论(loading...)|举报|收藏

2009年06月04日

转载 C++之父Bjarne谈C++的未来发展

富有活力的语言需要不断改变和成长,C++也不例外。在本文中,Bjarne Stroustrup提出了自己对C++的设计和演化的看法。为了让编译器、工具和类库实现者跟上节奏,让用户吸收标准C++所支持的编程技术,在早有预计的、沉寂了几年之后,委员会再次考虑语言扩展问 题了。”扩展工作组”已经建立了,它代替了”演化工作组”。名称的改变(这是Tom Plum的建议)反映了更重要的是语言特性和标准类库工具的集成。我 仍然是该工作组的主席。我希望这可以确保C++版本的连贯性和最终结果的一致性。相似的,委员会成员资格也显示了大量人员和组织的连续参与。幸运的是,也 出现了很多新的面孔,为委员会带来了新的影响和新的专家意见。我们打算对语言本身的改变保持谨慎和保守,重点强调兼容性。主要的目的是把主要的努力引导到标准类库的扩展上来。在标准类库方面,我们的目标是大胆进取,利用一切机会。对于标准类库,我希望根据类库技术报告的要素来建立它,使它成为一个用于系统编程的更广泛的平台。例如,我希望看到用于某些领域的类库,例如 目录/文件夹操作、线程和套接字。我还希望委员阅读全文>

发表于 @ 2009年06月04日 08:53:00|评论(loading...)|举报|收藏

原创 C/C++头文件一览


C
#include     //设定插入点
#include      //字符处理
#include      //定义错误码
#include      //浮点数处理
#include         //对应各种运算符的宏
#include     //定义各种数据类型最值的常量
#include     //定义本地化C函数
#include      //定义数学函数
#include         //异常处理支持
#include         //信号机制支持
#include         //不定参数列表支持
#include         //常用常量
#include 阅读全文>

发表于 @ 2009年06月04日 08:49:00|评论(loading...)|举报|收藏

用户操作
[即时聊天] [发私信] [加为好友]
老李
订阅我的博客
XML聚合  FeedSky
老李的公告
文章分类
收藏
    朋友
    藩的博客
    韩小明(RSS)
    存档
    Csdn Blog version 3.1a
    Copyright © 老李