Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Extrude in Schleife

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:  Extrude in Schleife (1067 mal gelesen)
Sal
Mitglied
Diplomant

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

Beiträge: 3
Registriert: 17.08.2012

Windows7 64Bit
NX7.5
Microsoft Visual Basic 2010 Express

erstellt am: 14. Sep. 2012 12:45    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


Fehler_Extrude.jpg

 
Hallo alle zusamen

Ich Arbeite Seit kurzem an eine Automatisierungsaufgabe mit NX7.5/Journal/VB.
Bis Jetzt Habe ich Ein Journal das mir per For-Schleife Drei Punkte erzeugt und Daraus Dreiecke Macht. Die sache ist, ich möchte bei Jedem Durchlauf Den Erzeugten Dreieck Extrudieren. Das Programm Extrudiert nur den Ersten Dreieck, und bei dem zweiten durchgang bekomme ich die Fehlermeldung "Selected objects will result in a self intersecting section".
ich habe die Vermutung bei der zeile
" section1.AddToSection(rules1, line1, nullNXObject, nullNXObject, helpPoint1, Section.Mode.Create, False)"
dass ab dem zweiten durchlauf der schleife, Werden die Neuen Linien(1,2,3) in Section1 hinzugefügt, und gleich mit den alten Linien vom vorherigen durchlauf mit Extrudiert.
Hat jemanden einen vorschlag wie ich es hinkrige bei jeden durchlauf nur die Aktuellen Linen zu extrudieren? Wäre für eure Hilfe sehr Dankbar
Ein Bild Gibt's dazu auch.
Hiermal Meine Schleife:

        Dim i As Integer
        For i = 1 To (NXInputBox.GetInputString("Anzahl Wiederholungen : ", "Anzahl", "3"))

            '### verschiebung in X Richtung
            WcsPt6(0) = Wcspt1(0) + (3 * (i - 1))
            WcsPt6(1) = Wcspt1(1)
            WcsPt6(2) = Wcspt1(2)

            '### transformation in Absoluten koordinaten System Wcspt2 ->>>>  Wcspt3
            theUfSession.Csys.MapPoint(UFConstants.UF_CSYS_ROOT_WCS_COORDS, Wcspt6, UFConstants.UF_CSYS_ROOT_COORDS, WcsPt7)
            Dim startPoint As Point3d = New Point3d(WcsPt7(0), WcsPt7(1), WcsPt7(2))

            '### verschiebung in X Richtung
            WcsPt2(0) = Wcspt1(0) + (3 * i)
            WcsPt2(1) = Wcspt1(1)
            WcsPt2(2) = Wcspt1(2)

            '### transformation in Absoluten koordinaten System Wcspt2 ->>>>  Wcspt3
            theUfSession.Csys.MapPoint(UFConstants.UF_CSYS_ROOT_WCS_COORDS, Wcspt2, UFConstants.UF_CSYS_ROOT_COORDS, WcsPt3)
            Dim endPoint1 As Point3d = New Point3d(WcsPt3(0), WcsPt3(1), WcsPt3(2))

            '### verschiebung in X und Y Richtung
            WcsPt4(0) = Wcspt1(0) + (3 * (i - 1))
            WcsPt4(1) = Wcspt1(1) + 3
            WcsPt4(2) = Wcspt1(2)

            '### transformation in Absoluten koordinaten System Wcspt4 ->>>>  Wcspt5
            theUfSession.Csys.MapPoint(UFConstants.UF_CSYS_ROOT_WCS_COORDS, Wcspt4, UFConstants.UF_CSYS_ROOT_COORDS, WcsPt5)
            Dim endPoint2 As Point3d = New Point3d(WcsPt5(0), WcsPt5(1), WcsPt5(2))

            Line1 = WP.Curves.CreateLine(startPoint, endPoint1)
            line2 = WP.Curves.CreateLine(startPoint, endPoint2)
            line3 = WP.Curves.CreateLine(endPoint1, endPoint2)

            curves1(0) = line1
            curves1(1) = line2
            curves1(2) = line3

            Dim curveDumbRule1 As CurveDumbRule
            curveDumbRule1 = WP.ScRuleFactory.CreateRuleCurveDumb(curves1)

            Dim rules1(0) As SelectionIntentRule
            rules1(0) = curveDumbRule1

            Dim nullNXObject As NXObject = Nothing

            'Section1 fügt jedesmal neue Linien hinzu
            Dim helpPoint1 As Point3d = New Point3d(0, 0, 0)
            section1.AddToSection(rules1, line1, nullNXObject, nullNXObject, helpPoint1, Section.Mode.Create, False)

            Dim feature1 As Features.Feature
            feature1 = extrudeBuilder1.CommitFeature()


            Array.Clear(curves1, 0, 2)
            curveDumbRule1.Dispose()
         
        Next i

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

mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


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

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 17. Sep. 2012 12:27    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 Sal 10 Unities + Antwort hilfreich

Hallo Sal.

hast Du schon mal versucht, den Inhalt von section1 zu entfernen, bevor neue Linien dazu kommen ? Falls es keine Methode (.reset, .clear etc..) dazu gibt, könnte es helfen, die Section in jedem Durchlauf neu zu machen.

Gruß, Michael

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



(Fach-)Projektleiter Sekundärtechnik (m/w/d)

E.DIS Netz GmbH | Unbefristet | Vollzeit

Als einer der größten regionalen Netzbetreiber in Deutschland gestalten wir bei E.DIS die Zukunft der Energie. Rund 1.700 Mitarbeiter geben Tag für Tag ihr Bestes und sichern den zuverlässigen Betrieb der Strom- und Gasnetze in großen Teilen von Brandenburg und Mecklenburg-Vorpommern. Wir sind Netzgestalter, arbeiten an intelligenten Energielösungen und setzen dabei auf innovative Technologien....

Anzeige ansehenProjektmanagement
Sal
Mitglied
Diplomant

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

Beiträge: 3
Registriert: 17.08.2012

Windows7 64Bit
NX7.5
Microsoft Visual Basic 2010 Express

erstellt am: 17. Sep. 2012 17:47    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 Michael
Danke für deine Antwort. Mit der Section bei jedem Durchlauf neu zumachen hat geklappt 
Gruß Salah

[Diese Nachricht wurde von Sal am 17. Sep. 2012 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