0

Knowledge Fusion は初めてです。サーフェスまたはソリッドから式に値を追加する .dfa スクリプトを作成しようとしています。これにより、Excel にエクスポートできます。

これが私がこれまでに持っているものです:

DefClass: centers (%nx_application %ui_comp);

(Boolean) %on_solid?:           false;                          
(String Parameter) %ask_name:   "Centers";          
(string) %icon_name:            "section_inertia";              
(Integer) %edit_dialog:         ug_invokeClassDialog(self:);    
(List Uncached)                 %onObjectHighlight:             centers:;
(Boolean) %atTimeStamp?:        false;

(child) UI_Select:  {
        class,      %ui_comp_selection;
        Many,       False;
        Label,      "Select surface or solid to analyse";
        Tooltip,    "Select the Surface or Solid to analyse";
        FilterTriple,   {{ 70, 0, 35 },{ 70, 0, 36 }};   
}; 

(Instance) objet: ug_adoptObject(nth(1,UI_Select:SelectedObjects:));

この部分は、中心を見つけて式に追加します。

(child uncached) x:         {
        Class,      ug_expression;
        Name,       "x";    
        Value,      localX(objet:centroid:);
};
(child uncached) y:         {
        Class,      ug_expression;
        Name,       "y";    
        Value,      localY(objet:centroid:);
};
(child uncached) z:         {
        Class,      ug_expression;
        Name,       "z";    
        Value,      localZ(objet:centroid:);
};

選択したオブジェクトがサーフェスの場合、またはボリュームがソリッド ボディの場合、表面積を追加しようとしています。

これは私が試したものです:

(child uncached) area:          {
        Class,      ug_expression;
        Name,       "area"; 
        Value,      area(objet:surface_area:);
};

これは機能しませんでした。アプリケーションがクラッシュし、クラスが surface_area ではないというメッセージが表示されます。

また、言語で if ステートメントを作成する方法もわかりません。

これを作成するのは非常に困難でした。オンラインにはほとんど情報がなく、関数などに関するドキュメントを見つけることができませんでした。これまでのところ、すべて試行錯誤でした。

これに関するいくつかの助けとガイダンスを非常に感謝します どうもありがとう

4

1 に答える 1