Скрипт NX9/UG Knowledge Fusion для добавления значений в выражения
Я новичок в 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.
Я также не знаю, как сделать заявление на языке.
Это было очень сложно создать, информации в Интернете почти нет, и я не смог найти документацию по функциям и т. Д., Все, что было методом проб и ошибок.
был бы очень признателен за некоторую помощь и руководство по этому большое спасибо
1 ответ
Я узнаю, чтобы найти области и объемы, если у кого-то есть такая же проблема. Тем не менее можно выяснить, как сделать оператор 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