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 (1386 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



Konstrukteur (m/w/d) Rohrleitungen Anlagenbau
Technologien auf das nächste Level zu heben, sich Herausforderungen zu stellen und an den Innovationen von morgen zu arbeiten - dafür benötigen wir bei FERCHAU Expert:innen wie Sie: als ambitionierte Kolleg:innen, die wie wir Technologien auf die nächste Stufe bringen möchten. Wir realisieren spannende Projekte für namhafte Kunden im Anlagenbau und übernehmen Verantwortung für komplexe Entwicklungsprojekte....
Anzeige ansehenKonstruktion, Visualisierung
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)2024 CAD.de | Impressum | Datenschutz