| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Feature groups erstellen (NX Open C++) (5190 mal gelesen)
|
MihailD Mitglied Softwareentwickler
Beiträge: 7 Registriert: 07.09.2011 NXOpen C++ für NX 6.0-8.0; VS2008-2010
|
erstellt am: 02. Nov. 2011 13:15 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich versuche gerade, die NX-Interface Feature Groups mit NX Open C++ zu automatisieren (also "Format->Group->Feature Group") und kann den richtigen Weg dazu nicht finden. Nämlich scheitere ich bereits beim Erstellen von einem solchen Objekt: NXOpen::Features::FeatureGroup enthält zwar die nötige Funktionen, ist aber eine "Blatt"-Klasse (also hat keine abgeleitete Klassen) mit einem "protected" Konstruktor. Deren "Freund" NXOpen::Features::_FeatureGroupBuilder ist nicht dokumentiert und hat anscheinend keine "public" Member. Wird hier tatsächlich erwartet, dass man selbst eine brauchbare Ableitung dieser Basisklassen schreibt, oder habe ich hier was offensichtlicheres verpasst? [Diese Nachricht wurde von MihailD am 02. Nov. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 02. Nov. 2011 18:52 <-- editieren / zitieren --> Unities abgeben: Nur für MihailD
So tu ich das: Code: Group nullGroup = null; GroupBuilder groupBuilder = session.WorkPart.CreateGatewayGroupBuilder(nullGroup); groupBuilder.ActivegroupOption = true; groupBuilder.ActionType = 0; groupBuilder.GroupName = "Motordaten";groupBuilder.ObjectsInGroup.Add(currentnote); groupBuilder.Commit(); groupBuilder.Destroy();
------------------ Gruß Matthias ------------------------------------ ICQ: 163190295 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MihailD Mitglied Softwareentwickler
Beiträge: 7 Registriert: 07.09.2011 NXOpen C++ für NX 6.0-8.0; VS2008-2010
|
erstellt am: 03. Nov. 2011 10:28 <-- editieren / zitieren --> Unities abgeben:
Hi und danke für die Antwort! Dieses Code erstellt aber eine "normale" Gruppe. Was ich suche, ist ein Weg "Feature Groups" zu erstellen. Also, "Format-Groups-Feature Groups" in NX Interface. Das Problem dabei ist - der entsprechende Builder - "FeatureGroupBuilder" - ist nicht zugänglich. Mit CreateGatewayGroupBuilder ist die FeatureGroup Klasse auch nicht kompatibel. Im Vergleich zu den regulären Gruppen, werden Feature Groups zusammen mit anderen Features im Baugruppen-Editor-Baum angezeigt und können "eingebettet" werden (d.h., die verschachtelte Features werden nur in den FGs angezeigt). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 03. Nov. 2011 10:50 <-- editieren / zitieren --> Unities abgeben: Nur für MihailD
|
MihailD Mitglied Softwareentwickler
Beiträge: 7 Registriert: 07.09.2011 NXOpen C++ für NX 6.0-8.0; VS2008-2010
|
erstellt am: 03. Nov. 2011 17:49 <-- editieren / zitieren --> Unities abgeben:
Hey, das hat geklappt, danke Michael! Habe wohl im Doku auf "feature groups" gesucht und dadurch das "feature set" verpasst... Das einzige Nachteil hier ist dass es eine NXOpen C Funktion ist, was bedeutet, dass ich das Code in der Zukunft in C++ umschreiben muss (also das Problem eh' verschoben). Weißt du noch, ob es mit der NXOpen::Features::FeatureGroup Klasse auch irgendwie machbar ist? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 04. Nov. 2011 09:44 <-- editieren / zitieren --> Unities abgeben: Nur für MihailD
Hallo Mihail, die Feature Group ist neu in der 7.5. Hab' daher noch keine Erfahrungen damit. In der Doku steht jedoch ausdrücklich, daß es sich um eine abstrakte Klasse handelt, die nicht instanziert werden kann. Würde es also mal mit einer abgeleiteten Klasse versuchen und dort einen eigenen Konstruktor verwenden. Gruß, Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Duales Studium Maschinenbau (B.Sc.) (m/w/d) | Die SAF-HOLLAND SE ist ein international führender Hersteller von fahrwerksbezogenen Baugruppen und Komponenten für Trailer, Lkw und Busse. Die Produktpalette umfasst unter anderem Achs- und Federungssysteme für Trailer, Sattelkupplungen für Lkw und Kupplungssysteme für Lkw, Anhänger und Sattelauflieger sowie Brems- und EBS-Systeme. Daneben entwickelt SAF-HOLLAND innovative Produkte zur Erhöhung der Effizienz, Sicherheit und Umweltfreundlichkeit von Nutzfahrzeugen.... | Anzeige ansehen | Maschinenbau |
|
MihailD Mitglied Softwareentwickler
Beiträge: 7 Registriert: 07.09.2011 NXOpen C++ für NX 6.0-8.0; VS2008-2010
|
erstellt am: 24. Nov. 2011 12:03 <-- editieren / zitieren --> Unities abgeben:
Hallo, hab letztendlich festgestellt, wie es ohne des alten C API geht - nämlich, gar nicht. Stand NX 8.0, ist ein Aufruf von UF_MODL_createSetOfFeatures (direkt oder über ein Wrapper) der einzige Weg, Feature Groups in allen API's zu erzeugen. Die Anbindung an die neue NXOpen::Features::FeatureGroup Klasse entsteht dann durch einen Cast: NXOpen::Features::FeatureGroup* featureGroup=NULL; tag_t featureGroupTag= NULL_TAG; UF_MODL_createSetOfFeatures(..., &featureGroupTag); featureGroup = dynamic_cast<NXOpen::Features::FeatureGroup*>(NXOpen::NXObjectManager::Get(featureGroupTag)); [Diese Nachricht wurde von MihailD am 24. Nov. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |