Module 3 — Parametric Surfaces Nâng cao & Vector Geometry
Thời lượng: ~6 giờ · Độ khó: Nâng cao
Mục tiêu: Nắm BRep analysis chi tiết, biến dạng geometry theo surface, làm việc với mesh trong GH và thành thạo vector/plane transforms phức tạp.
3A — Surfaces Nâng cao
BRep Analysis
Deconstruct Brep → Faces (surfaces) + Edges (curves) + Vertices (points)
Brep Edges → tất cả curves biên
Brep Wireframe → tất cả isocurves để hiển thị
Tính toán khối lượng/diện tích:
Area → diện tích bề mặt + centroid
Volume → thể tích (chỉ cho closed Brep) + centroid
Phân tích từng face:
Deconstruct Brep → Faces
Area (Faces) → diện tích từng mặt riêng biệt
Surface Morph — Biến dạng Geometry theo Surface
Surface Morph là kỹ thuật "bọc" geometry lên surface — thay vì Orient (giữ hình dạng, chỉ xoay/dịch chuyển), Surface Morph biến dạng geometry theo độ cong của surface.
Component: Surface Morph
Input:
- Surface (S) → surface mục tiêu
- Geometry (G) → geometry cần morph
- Reference Box (R) → bounding box của geometry gốc
Output: Geometry đã morph theo surface
Workflow:
1. Bounding Box của geometry gốc
2. Divide Surface → UV grid
3. Isotrim (từng ô UV)
4. Surface Morph (Geometry, Isotrim box, Reference box)
→ Mỗi ô UV chứa 1 bản copy đã biến dạng theo cong của surface
[Ảnh: Module hình học phẳng được Surface Morph lên dome — geometry biến dạng theo cong]
Mesh trong GH
Tạo Mesh từ đầu:
Construct Mesh → Vertices + Faces → Custom mesh
Mesh Plane → mesh lưới từ rectangle
Mesh Sphere → mesh cầu
Mesh Box → mesh hộp
Chuyển đổi:
Mesh Brep → NURBS/SubD → Mesh
Brep to Mesh → tương tự với nhiều option hơn
Xử lý Mesh:
Weld Mesh → hợp nhất vertices gần nhau (giảm seam)
Reduce Mesh → giảm số polygon (LOD)
Smooth Mesh → làm mượt (Laplacian smoothing)
Offset Mesh → tạo độ dày
Triangulation:
Mesh Triangulation → chia quad faces thành triangles
Kiểm tra Mesh:
Mesh Vertices → tọa độ tất cả vertices
Mesh Faces → connectivity của faces
Mesh Normals → hướng normal từng vertex/face
3B — Vector Geometry Nâng cao
Perpendicular Frame
Thay vì Curve Frame (sử dụng tangent), Perpendicular Frame tạo frame ổn định hơn dọc theo curve — không bị "xoắn":
Perp Frames → list of frames dọc curve, không xoắn
Input: Curve + N (số frames)
Output: Frames aligned perpendicular to curve
So sánh:
Curve Frame → có thể xoắn tại các chỗ cong mạnh
Perp Frame → ổn định hơn, tốt hơn cho architectural elements
Align Plane
Chỉnh hướng của plane giữ nguyên origin nhưng align với hướng reference:
Align Plane → giữ origin, align Z-axis với vector
Input: Plane + Vector (hướng mới)
Output: Plane đã align
Transform by Vector
Move với List of Vectors:
Move (Geometry, Vector List)
→ Mỗi geometry item được dời theo vector tương ứng
→ Nếu Tree matching: Longest List = đối tượng cuối cùng được dời nhiều lần theo các vector khác nhau
→ Nếu dùng Graft trên Geometry: mỗi copy đi theo vector riêng
Array theo hướng bất kỳ:
Unit Vector (direction) → Amplitude (spacing * index) → Move
= tạo mảng dọc theo hướng bất kỳ, không chỉ theo trục X/Y/Z
Transform by Plane — Orient One/Two Planes
Orient (1 plane):
Component: Orient
Input: Geometry + Source Plane (A) + Target Plane (B)
→ Mapping toàn bộ hệ tọa độ từ A sang B
→ Origin dịch chuyển + Trục xoay theo đúng transform giữa A và B
Orient 2 Planes (kiểm soát tốt hơn):
Component: Orient - 2 Pts (hoặc Orient với explicit axes)
→ Xác định mapping chính xác X,Y,Z axes
→ Dùng khi orient component cần "nhìn về" một hướng cụ thể
Ứng dụng: Panel nghiêng theo pháp tuyến surface
Divide Surface → Surface Frames (local planes)
Panel geometry (flat, tại XY Plane)
Orient (Panel, XY Plane, Surface Frame)
→ Panel dựng đứng theo pháp tuyến surface tại mỗi ô
Plane Fit từ Point Cloud
Plane Fit → tìm plane tốt nhất fit với tập hợp điểm
Input: List of points
Output: Best-fit plane
Ứng dụng:
- Tìm mặt phẳng của 1 nhóm cột
- Kiểm tra độ nghiêng mặt sàn từ điểm đo đạc
- Reconstruct working plane từ scanned data
Bài tập Module 3
Đề bài: Tạo hệ panel bi-directional fin trên double-curved facade.
Input: NURBS surface dạng double-curved (twist hoặc saddle)
Workflow:
1. Divide Surface → Surface Frames
2. Tạo Fin geometry (rectangle mỏng đứng) tại XY Plane
3. Orient Fin theo Surface Frame → Fins đứng theo pháp tuyến cục bộ
4. Thêm 2 loại Fin xen kẽ (Weave): horizontal và vertical
5. Dùng Perp Frames cho các fin dọc edge curve (không bị xoắn)
6. Mesh 1 số panel: Convert to Mesh → Mesh Triangulation
→ So sánh NURBS panel vs. Triangulated mesh panel về trọng lượng file
[Ảnh: Double-curved surface với bi-directional fins — horizontal fins xen kẽ vertical fins]
Liên kết kiến thức
Nền tảng cần nắm
Mở rộng từ
Chủ đề liên quan