SlideShare a Scribd company logo
OpenCascade: (7.1.0)
Modeling Data
王聖川
2017/9/11
Geometry Utilities
• 由內插補間 (interpolation)與趨近 (approximation)兩種不
同方式產生幾何形狀 shapes.
• 由演算法建立幾何形狀.
• 一般曲線/曲面轉換為B-spline曲線/曲面.
• 計算曲線/曲面上某點的座標.
• 提供幾何之間的極端量測工具(最大/最小距離等).
Interpolation and Approximation
• PEquation class (GProp package): 分析一群點集合, 判斷
coincident, collinear, coplanar.
• GeomAPI/Geom2dAPI packages: 指定一組點集合, 透過
interpolation/approximation找出一條通過所有點的曲線/
曲面.
• _Interpolate class: interpolation, 內插補間.
• _PointsToBSpline (_PointsToBSplineSurface) class: approximation,
趨近.
Low-Level Approximation
• AppDef package: 處理多組點限制 (MultiPointConstraint
class), 計算出每一組對應的趨近曲線 (Bezier/B-spline).
• AppParCurves package: 處理多組參數幾何限制
(ConstraintCouple class), 計算出每組對應的趨近曲線
(Bezier/B-spline).
Direct Construction
• gce, GC, GCE2d packages: 提供簡化版本的建立幾何形狀
物件 (lines, curves, circles)之演算法.
• Geometric entities: line, circle, hyperbola, parabola,
plane, cylinder, cone, …
• gp_* class都有對應的 gce_* class.
• Geometric entities by handle: arc of
circle/ellipse/parabola/hyperbola, trimmed cylinder ...
• GC, GCE2d packages提供建立對應的 Geom/Geom2d entities物件
之演算法.
• GC_*/GCE2d_* classes都有對應的 Geom_*/Geom2d_* classes.
B-Spline Conversion
• B-spline formulation: 可表示一般基本幾何
(fundamental/2D/3D geometry types).
• 可將B-spline分割成數段B-splines, 提供更高維度的連續性
(degree continuity).
• 3 packages for conversion:
• Convert package: 將目標轉換為單一B-spline曲線/曲面. 目標含
bounded curve/surface (line, circle, cylinder, cone, … in gp
package).
• Geom2dConvert/GeomConvert package: 由 Geom2d/Geom
curves/surfaces物件轉換為 B-splines; 將 B-spline轉換為同等的一
組相連 Bezier curves/surfaces; 將 B-spline分割成數段 arcs; grid
of Bezier surfaces to one B-spline surface.
Curve Points and Extrema
• Points on curve (GCPnt package):
• Points equally spaced (_UniformAbscissa class).
• Point from a given distance from another point (_AbscissaPoint
class).
• _UniformDeflection class: calculates points at maximum
constant deflection between the curve and the polygon (results
from computed points). (?
• Extrema: 計算兩對象之間的極端量測 (minimum and
maximum)結果.
• Point – curve.
• Point – surface.
• Curve – curve.
• Curve – surface.
• Surface – surface.
Geometry
• Geom/Geom2d packages, 定義空間中的幾何物體, 座標位
置, transformation.
• Point, Cartesian point, vector, direction, curve, line, conic,
elementary surface, bounded curve/surface, …
• Curves/surfaces are parameterized. 可計算參數 (u, v)對應
的point, derivative.
• 建立 Bezier/B-spline curve/surface; trimmed curve/surface;
offset curve/surface; swept surface.
• 透過 gp package實現:
• 實作 elementary algebraic calculus and analytic geometry.
• Transformation applied to Geom/Geom2d objects.
• 描述 Geom/Geom2d object的elementary data structure.
Shape Properties
• Local properties: BRepLProp package.
• Local properties: point, derivative (~3rd degree), tangent, normal,
curvature.
• Degree of continuity (at junction point of concatenated
edges/curves).
• Geom2dLProp/GeomLProp packages provide local properties for
curves/surfaces.
• Global properties: BRepGProp package.
• Global properties of a composite geometric system: mass, mass
center, inertia, moment, gyration, …
• Lines from edges; surfaces from faces; volumes from solids.
• GProp_PGProps package: global properties for a set of points.
• Analyzed edge/face BRepAdapter curve/surface.
• Algorithms’interfaces to operate on analyzed targets.
• GeomAdapter/Geom2dAdapter packages for interfaces on curve
(or curve lying on surface), surface.
Topology
• Topology以參數空間的方式來描述幾何物件
(location/restriction).
• Abstract data structure for basic entity – shape (形狀). 形
狀可由以下元素組成:
• Vertex, edge, wire, face, shell, solid, compound solid.
• Face可由一組三角面集合來趨近其代表的 surface.
• Packages描述資料結構: TopAbs (notion enumerations),
TopLoc (coordinate system), TopoDS (data structure).
• Packages提供操作工具: TopTools, TopExp (to
explore/manipulate), BRepTools (to
explore/manipulate/read/write BRep data structure).
Shape Location
• TopLoc package.
• TopLoc_Datum3D class: (a change of) elementary reference
coordinate (right-handed transformation).
• TopLoc_Location class: composited reference coordinate.
• Coordinate = transformation (in gp_trsf package).
Naming Shape and Sub-shape
• TopAbs package provide enumerations for concepts of
topology.
• 3 notions: TopAbs_ShapeEnum (type), TopAbs_Orientation,
TopAbs_State.
• TopAbs_ShapeEnum: COMPOUND, COMPSOLID, SOLID,
SHELL, FACE, WIRE, EDGE, VERTEX, SHAPE.
• Graph of objects with adjacency relationships.
Topological Orientation
• TopAbs_Orientation, Notion of direction for a boundary
shape limiting a geometric domain.
• Curve limited by vertex; surface limited by edge; space limited
by face.
• Define 2 local regions: external and internal/default (區別外部與
內部).
Orientation Description
FORWARD The interior is the default region.
REVERSED The interior is the region complementary to the default.
INTERNAL The interior includes both regions. The boundary lies inside the material. A surface inside a solid.
EXTERNAL The interior includes neither region. The boundary lies outside the material. An edge in a wire-frame.
Topological State
• TopAbs_State, 描述 vertex(點)的所在位置區域.
Position Description
IN The point is interior.
OUT The point is exterior.
ON The point is on the boundary(within tolerance).
UNKNOWN The state of the point is indeterminate.
Manipulate Shape
• TopoDS package透過參數空間描述形狀: vertex (via
localization), face and edge (via restriction).
• Edges form wire; faces form shell; solids form composite solid …
• TopoDS_TShape class: root shape description (manipulated by
reference).
• TopoDS_Shape class: describe reference to a shape (*_TShape),
orientation and local reference coordinate (manipulated by value).
Shared Sub-Shape
• Data structure contains 2 versions of a solid.
Exploration TopoDS_Shape
• TopoDS_Shape derived Classes: *_Vertex, *_Edge, *_Face,
*_Shell, *_Solid, …
• No implicit cast.
• TopoExp package: explores TopoDS_Shape data
structure (TopoExp_Explorer class).
• TopTools package: 實體化對應的 TCollection物件來完成
探索 shape功能 (array, sequence, map, …).
• TopTools_*MapOfShape class: 透過 map儲存shape, 避免重複的
shared shapes.
Storage
• BRepTools package can read/write a shape to/from a
stream/file (ASCII format).
• BinTools package can read/write a shape to/from a
stream/file (binary format).

More Related Content

PDF
Curve and surface interpolation and approximation
PPSX
Beam profile
PPSX
DOC
EURON Poster - Robotics Group
PDF
10.1.1.33.4990
PDF
[Paper Presentation] Local Barycentric Coordinates
PPTX
OpenCascade Technology Overview: OCAF
PDF
CG OpenGL 3D object representations-course 8
Curve and surface interpolation and approximation
Beam profile
EURON Poster - Robotics Group
10.1.1.33.4990
[Paper Presentation] Local Barycentric Coordinates
OpenCascade Technology Overview: OCAF
CG OpenGL 3D object representations-course 8

Similar to OpenCascade Technology Overview: Modeling Data (7)

PPTX
OpenCascade Technology Overview: Visualization
PDF
Statistical computing 01
PPTX
OpenCascade Technology Overview: Foundation Classes
PDF
Geometry Processingで学ぶSparse Matrix
PDF
Mesh Processing Course : Introduction
PDF
Mesh Generation and Topological Data Analysis
PDF
Isomizer – Reconstruction of static 3D objects using 2D views
OpenCascade Technology Overview: Visualization
Statistical computing 01
OpenCascade Technology Overview: Foundation Classes
Geometry Processingで学ぶSparse Matrix
Mesh Processing Course : Introduction
Mesh Generation and Topological Data Analysis
Isomizer – Reconstruction of static 3D objects using 2D views
Ad

More from River Wang (19)

PPTX
FairyGUISDK_UIPackage_Analysis.pptx
PPTX
20220529_UniTask_Intro.pptx
PPTX
zenject extenject-intro
PPTX
Unity optimize mobile game performance
PPTX
DoozyUI_基礎介紹教學
PPTX
Gamedev: Multi-threaded animate model
PDF
桌面應用工具軟體開發方案評估 (Based on Unity engine)
PPTX
OGRE v2.1 manual - Technical Overview
PPTX
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
PPTX
OGRE v1.10 manual - The Core Objects
DOCX
[breakdown] Shadow of the Colossus. (Chinese translation中譯)
DOCX
2017 graphics-01: 電腦圖學繪圖流程
PPTX
2017 unity5.5 manual_navigation
PPTX
2017 unity5.5 manual_physics
PPTX
2017 unity5.5 manual_animation
DOCX
Shader forge設定說明文件
DOCX
矩陣 轉換
DOCX
矩陣 基本說明
PPTX
2017 unity5 manual_intro
FairyGUISDK_UIPackage_Analysis.pptx
20220529_UniTask_Intro.pptx
zenject extenject-intro
Unity optimize mobile game performance
DoozyUI_基礎介紹教學
Gamedev: Multi-threaded animate model
桌面應用工具軟體開發方案評估 (Based on Unity engine)
OGRE v2.1 manual - Technical Overview
OGRE v2.1 manual - Changes: Objects, Scene & Nodes
OGRE v1.10 manual - The Core Objects
[breakdown] Shadow of the Colossus. (Chinese translation中譯)
2017 graphics-01: 電腦圖學繪圖流程
2017 unity5.5 manual_navigation
2017 unity5.5 manual_physics
2017 unity5.5 manual_animation
Shader forge設定說明文件
矩陣 轉換
矩陣 基本說明
2017 unity5 manual_intro
Ad

Recently uploaded (20)

PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPT
Introduction Database Management System for Course Database
PPTX
ai tools demonstartion for schools and inter college
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Digital Strategies for Manufacturing Companies
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
top salesforce developer skills in 2025.pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
CHAPTER 2 - PM Management and IT Context
Design an Analysis of Algorithms I-SECS-1021-03
Reimagine Home Health with the Power of Agentic AI​
Upgrade and Innovation Strategies for SAP ERP Customers
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Computer Software and OS of computer science of grade 11.pptx
Introduction Database Management System for Course Database
ai tools demonstartion for schools and inter college
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Digital Strategies for Manufacturing Companies
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Wondershare Filmora 15 Crack With Activation Key [2025
top salesforce developer skills in 2025.pdf

OpenCascade Technology Overview: Modeling Data

  • 2. Geometry Utilities • 由內插補間 (interpolation)與趨近 (approximation)兩種不 同方式產生幾何形狀 shapes. • 由演算法建立幾何形狀. • 一般曲線/曲面轉換為B-spline曲線/曲面. • 計算曲線/曲面上某點的座標. • 提供幾何之間的極端量測工具(最大/最小距離等).
  • 3. Interpolation and Approximation • PEquation class (GProp package): 分析一群點集合, 判斷 coincident, collinear, coplanar. • GeomAPI/Geom2dAPI packages: 指定一組點集合, 透過 interpolation/approximation找出一條通過所有點的曲線/ 曲面. • _Interpolate class: interpolation, 內插補間. • _PointsToBSpline (_PointsToBSplineSurface) class: approximation, 趨近.
  • 4. Low-Level Approximation • AppDef package: 處理多組點限制 (MultiPointConstraint class), 計算出每一組對應的趨近曲線 (Bezier/B-spline). • AppParCurves package: 處理多組參數幾何限制 (ConstraintCouple class), 計算出每組對應的趨近曲線 (Bezier/B-spline).
  • 5. Direct Construction • gce, GC, GCE2d packages: 提供簡化版本的建立幾何形狀 物件 (lines, curves, circles)之演算法. • Geometric entities: line, circle, hyperbola, parabola, plane, cylinder, cone, … • gp_* class都有對應的 gce_* class. • Geometric entities by handle: arc of circle/ellipse/parabola/hyperbola, trimmed cylinder ... • GC, GCE2d packages提供建立對應的 Geom/Geom2d entities物件 之演算法. • GC_*/GCE2d_* classes都有對應的 Geom_*/Geom2d_* classes.
  • 6. B-Spline Conversion • B-spline formulation: 可表示一般基本幾何 (fundamental/2D/3D geometry types). • 可將B-spline分割成數段B-splines, 提供更高維度的連續性 (degree continuity). • 3 packages for conversion: • Convert package: 將目標轉換為單一B-spline曲線/曲面. 目標含 bounded curve/surface (line, circle, cylinder, cone, … in gp package). • Geom2dConvert/GeomConvert package: 由 Geom2d/Geom curves/surfaces物件轉換為 B-splines; 將 B-spline轉換為同等的一 組相連 Bezier curves/surfaces; 將 B-spline分割成數段 arcs; grid of Bezier surfaces to one B-spline surface.
  • 7. Curve Points and Extrema • Points on curve (GCPnt package): • Points equally spaced (_UniformAbscissa class). • Point from a given distance from another point (_AbscissaPoint class). • _UniformDeflection class: calculates points at maximum constant deflection between the curve and the polygon (results from computed points). (? • Extrema: 計算兩對象之間的極端量測 (minimum and maximum)結果. • Point – curve. • Point – surface. • Curve – curve. • Curve – surface. • Surface – surface.
  • 8. Geometry • Geom/Geom2d packages, 定義空間中的幾何物體, 座標位 置, transformation. • Point, Cartesian point, vector, direction, curve, line, conic, elementary surface, bounded curve/surface, … • Curves/surfaces are parameterized. 可計算參數 (u, v)對應 的point, derivative. • 建立 Bezier/B-spline curve/surface; trimmed curve/surface; offset curve/surface; swept surface. • 透過 gp package實現: • 實作 elementary algebraic calculus and analytic geometry. • Transformation applied to Geom/Geom2d objects. • 描述 Geom/Geom2d object的elementary data structure.
  • 9. Shape Properties • Local properties: BRepLProp package. • Local properties: point, derivative (~3rd degree), tangent, normal, curvature. • Degree of continuity (at junction point of concatenated edges/curves). • Geom2dLProp/GeomLProp packages provide local properties for curves/surfaces. • Global properties: BRepGProp package. • Global properties of a composite geometric system: mass, mass center, inertia, moment, gyration, … • Lines from edges; surfaces from faces; volumes from solids. • GProp_PGProps package: global properties for a set of points. • Analyzed edge/face BRepAdapter curve/surface. • Algorithms’interfaces to operate on analyzed targets. • GeomAdapter/Geom2dAdapter packages for interfaces on curve (or curve lying on surface), surface.
  • 10. Topology • Topology以參數空間的方式來描述幾何物件 (location/restriction). • Abstract data structure for basic entity – shape (形狀). 形 狀可由以下元素組成: • Vertex, edge, wire, face, shell, solid, compound solid. • Face可由一組三角面集合來趨近其代表的 surface. • Packages描述資料結構: TopAbs (notion enumerations), TopLoc (coordinate system), TopoDS (data structure). • Packages提供操作工具: TopTools, TopExp (to explore/manipulate), BRepTools (to explore/manipulate/read/write BRep data structure).
  • 11. Shape Location • TopLoc package. • TopLoc_Datum3D class: (a change of) elementary reference coordinate (right-handed transformation). • TopLoc_Location class: composited reference coordinate. • Coordinate = transformation (in gp_trsf package).
  • 12. Naming Shape and Sub-shape • TopAbs package provide enumerations for concepts of topology. • 3 notions: TopAbs_ShapeEnum (type), TopAbs_Orientation, TopAbs_State. • TopAbs_ShapeEnum: COMPOUND, COMPSOLID, SOLID, SHELL, FACE, WIRE, EDGE, VERTEX, SHAPE. • Graph of objects with adjacency relationships.
  • 13. Topological Orientation • TopAbs_Orientation, Notion of direction for a boundary shape limiting a geometric domain. • Curve limited by vertex; surface limited by edge; space limited by face. • Define 2 local regions: external and internal/default (區別外部與 內部). Orientation Description FORWARD The interior is the default region. REVERSED The interior is the region complementary to the default. INTERNAL The interior includes both regions. The boundary lies inside the material. A surface inside a solid. EXTERNAL The interior includes neither region. The boundary lies outside the material. An edge in a wire-frame.
  • 14. Topological State • TopAbs_State, 描述 vertex(點)的所在位置區域. Position Description IN The point is interior. OUT The point is exterior. ON The point is on the boundary(within tolerance). UNKNOWN The state of the point is indeterminate.
  • 15. Manipulate Shape • TopoDS package透過參數空間描述形狀: vertex (via localization), face and edge (via restriction). • Edges form wire; faces form shell; solids form composite solid … • TopoDS_TShape class: root shape description (manipulated by reference). • TopoDS_Shape class: describe reference to a shape (*_TShape), orientation and local reference coordinate (manipulated by value).
  • 16. Shared Sub-Shape • Data structure contains 2 versions of a solid.
  • 17. Exploration TopoDS_Shape • TopoDS_Shape derived Classes: *_Vertex, *_Edge, *_Face, *_Shell, *_Solid, … • No implicit cast. • TopoExp package: explores TopoDS_Shape data structure (TopoExp_Explorer class). • TopTools package: 實體化對應的 TCollection物件來完成 探索 shape功能 (array, sequence, map, …). • TopTools_*MapOfShape class: 透過 map儲存shape, 避免重複的 shared shapes.
  • 18. Storage • BRepTools package can read/write a shape to/from a stream/file (ASCII format). • BinTools package can read/write a shape to/from a stream/file (binary format).