天天看點

Dynamo For Revit(幾何求解): 求一個表面的邊緣往裡的方向如何得到一個表面上每一條邊往裡的那一個方向?思路局限節點圖

如何得到一個表面上每一條邊往裡的那一個方向?

對于一個複雜的表面,我怎麼可以找到它哪一邊是往裡面的?對于這個問題,有多種的解決方法。

為什麼要關注這個問題?因為在很多時候,當我們要做一些幾何操作的時候,如果是和表面的某條邊相關的話,我們需要知道從這條邊出發往哪個方向開始我們的操作。

Dynamo For Revit(幾何求解): 求一個表面的邊緣往裡的方向如何得到一個表面上每一條邊往裡的那一個方向?思路局限節點圖

思路

  1. 每條邊對于目前平面都有一個法線方向,找到這些法線;
  2. 通過線上的一點和這些法線方向,做一條直線;
  3. 判斷這條直線和平面相交的結果是一條線還是一個點;
  4. 如果是點,法線方向旋轉180度,如果是線,則保持不變。

局限

注意,下面的節點圖隻是示意圖,可以解決一般的幾何圖形求解。在實際中,有很多局限,比如曲線,比如表面有的地方很窄。對于極端的例子,它是不能很好處理的。

節點圖

所有節點

Dynamo For Revit(幾何求解): 求一個表面的邊緣往裡的方向如何得到一個表面上每一條邊往裡的那一個方向?思路局限節點圖

節點圖做成自定義節點

自定義節點

Dynamo For Revit(幾何求解): 求一個表面的邊緣往裡的方向如何得到一個表面上每一條邊往裡的那一個方向?思路局限節點圖

使用自定義節點

Dynamo For Revit(幾何求解): 求一個表面的邊緣往裡的方向如何得到一個表面上每一條邊往裡的那一個方向?思路局限節點圖

繼續閱讀