2015-10-13 59 views
1

我正在創建一個圖形用戶界面,它將沿預先製作的軟管管道創建樣條線。這樣做的目的是模擬液壓動力機械鑽機中的移動軟管。此腳本旨在使創建線條更有效,而不必在3個默認視口內手動放置它們。如何在maxscript中調用一組選定頂點的位置?

我在問什麼是我可以在選擇一組頂點之後調用視圖窗口內顯示的值。這裏是我的意思的例子:

Example

我的目標是把所有選擇的頂點的平均值,並放置在一個列表中,我將繼續沿的長度選擇這些頂點軟管。最終,我將獲得頂點值的完整列表,並且我將創建一個與這些位置值相匹配的樣條線,從而允許我在貝塞爾工具創建後對其進行變形。我只是想知道如何將紅圈內的值調用到maxscript中的值並在我的GUI中使用它。如果我沒有說清楚,請評論。感謝您的任何和所有建議!

回答

2

如果您的網格處於摺疊狀態,編輯網格或可編輯多邊形,您可以使用此方法:

fn averageSelVertPosition obj = 
(
    verts = obj.selectedVerts 
    p = Point3 0 0 0 
    for v in verts do 
    (
     p += v.pos 
    ) 
    p = p/verts.count 
    return p 
) 

它將返回指定節點的選定頂點的平均位置的點3的值。

如果您使用的是edit_poly修飾符,則可能需要使用polyops。你可以在這裏留言:http://docs.autodesk.com/3DSMAX/16/ENU/MAXScript-Help/index.html?url=files/GUID-B40F84EA-5F19-45B6-AA7C-0ADC77708BBE.htm,topicNumber=d30e394721

該方法將是相同的。

  1. 檢索所有頂點
  2. 他們的平均通過的位置:

    2.A:一起加入他們的位置(點3)和

    2.B:由頂點的數目來。

-

讓我知道如果你需要任何進一步的幫助。

+0

他是對的。你取每個頂點的位置,將它們全部加在一起,然後除以所選頂點的數量。這將導致平均位置。 或者您可以計算所選頂點邊界框的中心點。我經常使用這種方法。 – JokerMartini

相關問題