我是新的知识融合,我试图创建一个。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语句。
创建这个是非常困难的,网上几乎没有信息,我找不到关于函数等的文档,到目前为止,一切都是反复试验。
将非常感谢在这方面的帮助和指导Thank so much
如果有人有同样的问题,我想找到面积和体积。我还是能弄清楚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函数