Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  VB.Net Light erstellen

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:  VB.Net Light erstellen (1288 mal gelesen)
met
Mitglied
CAD-Admin / Konstrukteur


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

Beiträge: 137
Registriert: 23.07.2004

erstellt am: 05. Jul. 2011 13: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

Hallo,

wie kann ich mit Journal - VB.Net - neue Lichter erstellen?

Ich möchte in einer Scene per Journal mehrere Lichter aus verschiedenen Richtungen erzeugen, intensität, schatten, usw. einstellen und dann Bilder rendern.

Danke, und Gruß
met

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: 05. Jul. 2011 15:11    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 met 10 Unities + Antwort hilfreich

Hallo met,

über WorkPart.Views.CreateLightBuilder ist das machbar.

Gruß, Michael

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

met
Mitglied
CAD-Admin / Konstrukteur


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

Beiträge: 137
Registriert: 23.07.2004

erstellt am: 05. Jul. 2011 15:54    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,

hast du das schon mal gemacht? Hast du evtl. ein Beispiel?
Irgenwie klappt das bei mir nicht 

Gruß met

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: 06. Jul. 2011 09:36    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 met 10 Unities + Antwort hilfreich

Hallo met,

wo ist das Problem, bzw. was klappt nicht ?

Gruß, Michael

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

met
Mitglied
CAD-Admin / Konstrukteur


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

Beiträge: 137
Registriert: 23.07.2004

erstellt am: 06. Jul. 2011 10:37    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,

der CreateLightBuilder benötigt ein nxopen.light.
Wie kann ich das erstellen?

Code:
        Dim theSession As Session = Session.GetSession()
        Dim workPart As Part = theSession.Parts.Work
        Dim displayPart As Part = theSession.Parts.Display

        Dim LB As Display.LightBuilder = Nothing
        Dim L As Light = Nothing

        LB = displayPart.Views.CreateLightBuilder(L)
        LB.LightType = LightType.Distant
        LB.LightShadowType = Display.LightBuilder.ShadowType.SoftEdged
        LB.SourcePosition.SetCoordinates(New Point3d(100, 100, 100))
        LB.Commit()


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: 06. Jul. 2011 12:46    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 met 10 Unities + Antwort hilfreich

Hallo met,

Du brauchst vorab kein Light erstellen, das macht ja der Builder.

Wenn ein Builder mit Argument erstellt wird, heißt das, es soll ein existierendes Objekt geändert werden. Wenn Du ein neues Objekt anlegen willst, gibst Du dem Builder als Argument "Nothing" mit. Dann die Eigenschaften wie z.B. Source- und TargetPosition angeben und bestätigen.

Gruß, Michael

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

met
Mitglied
CAD-Admin / Konstrukteur


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

Beiträge: 137
Registriert: 23.07.2004

erstellt am: 06. Jul. 2011 13:02    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

Danke!

Da hab ich mal wieder den Wald vor lauter Bäumen nicht gesehen... 

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

met
Mitglied
CAD-Admin / Konstrukteur


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

Beiträge: 137
Registriert: 23.07.2004

Solidworks 2017
TCE 9.1.3
NX 5
3ds max 2017/2019
CorelDraw 12

erstellt am: 06. Jul. 2011 13:40    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,

geht leider noch immer nicht...

Code:
        Dim LB As Display.LightBuilder = Nothing
        Dim L As Light = Nothing
        For X As Integer = -10000 To 20000 Step 1000
            LB = displayPart.Views.CreateLightBuilder(Nothing)
            LB.LightType = LightType.Point
            LB.SourcePosition.SetCoordinates(New Point3d(X, 0, 10000))
            L = LB.Commit()
            L.SetName("L" & X.ToString)
            L.Intensity = 0.2
        Next X

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: 06. Jul. 2011 14:50    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 met 10 Unities + Antwort hilfreich

Hallo met,

zwei Dinge fallen mir hier noch auf:

Die Methode Commit soll laut API ein NXobject zurückgeben, Du weist ohne Typumwandlung den Wert einem Light zu. Weiterhin gibt commit m.W. überhaupt nichts zurück. Kannst Du mal prüfen, nach L = LB.Commit() mit

Code:
if L is nothing ...

Am Ende der Schleife fehlt ein LB.destroy.

Daneben würde ich die Anzahl der Lights bei jedem Durchlauf prüfen, z.B. mit

Code:
displayPart.Lights.toarray.length

Gruß, Michael

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

met
Mitglied
CAD-Admin / Konstrukteur


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

Beiträge: 137
Registriert: 23.07.2004

erstellt am: 06. Jul. 2011 16:38    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

es funktioniert...

Code:
        Dim theSession As Session = Session.GetSession()
        Dim workPart As Part = theSession.Parts.Work
        Dim displayPart As Part = theSession.Parts.Display

        theSession.ListingWindow.Open()
        theSession.ListingWindow.WriteLine(displayPart.Lights.ToArray.Length)


        Dim LB As Display.LightBuilder = Nothing
        Dim numLicht As Integer = 0
        For X As Integer = -10000 To 20000 Step 10000
            Dim L As Light = Nothing
            For Each tmpL As Light In displayPart.Lights
                If tmpL.Name = "L " & Format(numLicht, "0000") Then
                    L = tmpL
                End If
            Next tmpL
            If L Is Nothing Then
                theSession.ListingWindow.WriteLine("L " & Format(numLicht, "0000") & " - nicht vorhanden")
                LB = displayPart.Views.CreateLightBuilder(Nothing)
                LB.Commit()
                theSession.ListingWindow.WriteLine(displayPart.Lights.ToArray.Length)
                L = displayPart.Lights.ToArray(displayPart.Lights.ToArray.Length - 1)
                L.SetName("L " & Format(numLicht, "0000"))
            Else
                theSession.ListingWindow.WriteLine("L " & Format(numLicht, "0000") & " - vorhanden")
            End If
            LB = displayPart.Views.CreateLightBuilder(L)
            LB.LightType = LightType.Point
            LB.LightShadowType = Display.LightBuilder.ShadowType.SoftEdged
            LB.Intensity = 0.2
            LB.SourcePosition = displayPart.Points.CreatePoint(New Point3d(X, 0, 10000))
            LB.Commit()
            numLicht += 1
        Next X


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



Konstrukteur (m/w/d)

SAV ? power. people. passion. Unsere Leidenschaft gehört seit 1984 perfekt durchdachten Spannlösungen für Branchen wie Maschinenbau, Automobil­industrie, Erneuerbare Energien, Medizintechnik, Luft- und Raumfahrt, Stahlbau sowie Werkzeug- und Formenbau.

Teilen Sie diese Begeisterung mit uns und unterstützen Sie unser ca. 80-köpfiges Team als Konstrukteur (m/w/d) im Bereich Spanntechnik dabei, Technik für die Zukunft zu entwickeln....

Anzeige ansehenKonstruktion, Visualisierung
met
Mitglied
CAD-Admin / Konstrukteur


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

Beiträge: 137
Registriert: 23.07.2004

Solidworks 2017
TCE 9.1.3
NX 5
3ds max 2017/2019
CorelDraw 12

erstellt am: 07. Jul. 2011 10:54    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,

Lichter erstellen klppt jetzt wunderbar.

Hat jemand noch ne Ahnung, wie man z.B. die Lichtfarbe ändern kann?

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