我是知识融合的新手,我正在尝试创建一个.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语句。
创建它非常困难,网上几乎没有任何信息,我也找不到关于函数等的文档,到目前为止一切都是试错。
非常感谢在这方面的一些帮助和指导谢谢
发布于 2014-06-19 22:09:07
如果有人有同样的问题,我会找出区域和体积。我仍然可以弄清楚如何做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函数的人
https://stackoverflow.com/questions/24294403
复制相似问题