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

0

如果有人有同样的问题,我会发现找到区域和体积。仍然可以弄清楚如何执行 if 语句,因为我找不到为什么要询问对象是实体还是曲面。

但是,如果固体和表面都适用,那么显然只需为表面的体积给出 0。

这是代码:

(child uncached) area:          {
    Class,          ug_expression;
    Name,           "area";
    Value,          object:Surface_Area:;
};
(child uncached) Volume:        {
    Class,          ug_expression;
    Name,           "Volume";
    Value,          object:Volume:;
};

它如何帮助任何尝试创建自定义 NX 函数的人

于 2014-06-19T14:09:07.203 回答