Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Associativelinebuilder: Linie für weitere Nutzung extrahieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  Associativelinebuilder: Linie für weitere Nutzung extrahieren (1273 mal gelesen)
Teepo
Mitglied
Student


Sehen Sie sich das Profil von Teepo an!   Senden Sie eine Private Message an Teepo  Schreiben Sie einen Gästebucheintrag für Teepo

Beiträge: 26
Registriert: 07.07.2014

NX 10.0

erstellt am: 22. Mai. 2015 12:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Forum,

ich habe mittels der associativelinebuilder-Klasse assoziative Linien erstellt, ungefähr so: (C#)

                    AssociativeLine associativeLine1 = null;
                    var associativeLineBuilder = workPart.BaseFeatures.CreateAssociativeLineBuilder(associativeLine1);
                    associativeLineBuilder.StartPointOptions = NXOpen.Features.AssociativeLineBuilder.StartOption.Point;
                    associativeLineBuilder.EndPointOptions = NXOpen.Features.AssociativeLineBuilder.EndOption.Point;
                    associativeLineBuilder.StartPoint.Value = startPoint;
                    associativeLineBuilder.EndPoint.Value = endPoint;
                    associativeLineBuilder.Commit();
                    associativeLineBuilder.Destroy();

ich würde in einem nächsten Schritt gerne alle Linien, die in einer Ebene liegen, in die 3. Dimension extrudieren.
Dabei möchte ich auf die vom Journal verwendeten "Findobject" Methoden verzichten und die associativeLine direkt übergeben.

Ich müsste irgendwie dafür aber direkt auf die assoziative Linie zugreifen und die ist als null deklariert und den Builder kann ich nicht zur Übergabe nutzen?

Hat hier irgendjemand einen Vorschlag?

[Diese Nachricht wurde von Teepo am 22. Mai. 2015 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthias-p
Moderator
Konstruktion / Anwenderbetreuung


Sehen Sie sich das Profil von matthias-p an!   Senden Sie eine Private Message an matthias-p  Schreiben Sie einen Gästebucheintrag für matthias-p

Beiträge: 501
Registriert: 09.06.2006

Teamcenter 11.3 / NX 11
Windows 10

erstellt am: 22. Mai. 2015 12:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Teepo 10 Unities + Antwort hilfreich

Normalerweise hat die Funktion "associativeLineBuilder.Commit();" als Rückgabewert NXObject. Das ist die Linie, die von dem "Builder" erzeugt wird.

Zitat:

Returns the object being edited, or a new object if the builder is being used in creation mode. In certain cases this method may not return an object, please consult the particular class's documentation to see if this method has a different behavior.
Created in NX4.0.0

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Elektroniker für Betriebstechnik (m/w/d)

RUDOLF GROUP ist ein erfolgreiches und wachsendes, mittelständisches Chemieunternehmen mit internationaler Struktur. Die weltweit operierende Unternehmensgruppe mit über 1.700 Mitarbeitern in über 20 Auslandsgesellschaften und ca. 30 Vertretungen ist als innovativer und vertrauensvoller Partner für nachhaltige chemische Lösungen und kundenspezifischen Service in der Textil- und Bauindustrie bekannt....

Anzeige ansehenElektrotechnik, Elektronik
Teepo
Mitglied
Student


Sehen Sie sich das Profil von Teepo an!   Senden Sie eine Private Message an Teepo  Schreiben Sie einen Gästebucheintrag für Teepo

Beiträge: 26
Registriert: 07.07.2014

NX 10.0

erstellt am: 22. Mai. 2015 13:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo matthias,

wie kann ich mir denn das ausgeben lassen? Hab noch recht wenig Programmiererfahrung und manipulier eigentlich nur die Journals.
(editiert: der extrudebuilder fordert für die "curve rules" den Typ "Feature.AssociativeLine" oder "IBasecurve" etc., aber NXObject scheint nicht zulässig?)

Von einer anderen Webseite habe ich zumindest einen Ansatz in VB. Irgendwie schaffe ich es aber nicht das ganze in C# zu überführen.

Bsp.: VB:
hier wird nach dem Zuweisen der Start- und Endpunktoptionen nochmal eine neue associativeline deklariert:
Dim myLineFeature As Features.AssociativeLine
        myLineFeature = associativeLineBuilder1.Commit

        associativeLineBuilder1.Destroy()

(quelle: http://www.nxjournaling.com/content/creating-lines-part-2 )

wenn ich das ganze in C# mache kommt eine Fehlermeldung:

       NXOpen.Features.AssociativeLine linie1;
                    linie1 = associativeLineBuilder.Commit();
                    associativeLineBuilder.Destroy();

und zwar folgende Fehlermeldung:
Der Typ 'NXOpen.NXObject' kann nicht implizit in 'NXOpen.Features.AssociativeLine' konvertiert werden. Es ist bereits eine explizite Konvertierung vorhanden. (Möglicherweise fehlt eine Umwandlung.)

Warum ist das anscheinend in VB zulässig aber nicht in C#?

edit2:
problem gelöst
associativelinebuilder ist vom typ feature. über konvertierung zu typ associativeline funktioniert alles einwandfrei 

[Diese Nachricht wurde von Teepo am 22. Mai. 2015 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz