| |
| 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++) (5209 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 |
| Auftrags- und Vertriebssachbearbeiter (m/w/d) Inland / Export | LEICHT ist die führende Premiummarke im nationalen und internationalen Küchenfachhandel. Mit unseren Küchen verwirklichen wir einzigartige Wohnräume. Als Unternehmen stehen wir für Innovationskraft, Individualität und hohe Qualität. Ein sicherer Arbeitsplatz, familiäres Umfeld und einzigartige Entwicklungsmöglichkeiten zeichnen das Arbeiten bei LEICHT aus. Werden auch Sie ein Teil der LEICHT Familie.... | Anzeige ansehen | Innendienst, Sachbearbeitung |
|
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 |