| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Bauteilpositionen grafisch speichern (1323 mal gelesen)
|
Master Yoda Mitglied Student
Beiträge: 4 Registriert: 01.02.2013 NX 7.5
|
erstellt am: 01. Feb. 2013 10:02 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! Ich habe mich die letzten Tage etwas in die NX-Programmierung eingearbeitet und dabei war mir dieses Forum oftmals eine große Hilfe. Mich beschäftigt aktuell folgende Aufgabe: Mittels eines Programms soll ein Teleskop verschiedene im Voraus angegebene Positionen anfahren. Von jeder Postition soll dabei das "vield of View", also das Blickfeld grafisch in der Baugruppe gesichert werden. Also manuell wird dabei einfach ein Strahl modelliert und von diesem wird in jeder Position eine Kopie erstellt. Am Ende soll dann aus den einzelnen Strahlen erkennbar sein, wohin das Teleskop im Verlauf der Schleife "schaut". Ich habe versucht das Ganze mit einem Journal zu erreichen. Ich habe NX nun auch soweit, dass es mittels einer recht primitiven Schleifenfunktion die gewünschten Positionen anfährt. Schwierigkeiten macht mir aber noch die Sache mit dem "Einfrieren" bzw. der Kopie des Strahls an jeder Position. Ich habe immer die Record-Funktion benutzt um an den Quelltext der Kopiefunktion zu gelangen. Dabei ist mir aber aufgefallen, dass im Journal beim Kopieren immer eine Transformation stattfindet, mit fest definierter Transformationsmatrix. In einer Schleife kann ich diesen Code daher nicht ohne weiteres verwenden. Mir bliebe noch die Möglichkeit die Transformationsmatrix manuell und allgemein zu berechnen, aber das ist natürlich aufwändig und vor allem hinsichtlich der Wiederverwendbarkeit des Journals für ähnliche Probleme nicht wirklich sinnvoll. Grundlegend suche ich also eine Möglichkeit Bauteilkopien an den jeweils abgefahrenen Positionen einer Schleife zu erzeugen. Es wäre wirklich nett, wenn mir jemand helfen könnte! Ich habe mal meine Schleife im aktuellen Zustand angehängt. Die beiden expressions stellen die jeweiligen Gerätpositionen dar. Wie gesagt, sie ist recht primitiv, ich bin blutiger Anfänger auf dem Programmiergebiet. Do Dim markId3 As Session.UndoMarkId markId3 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Edit Expression") workPart.Expressions.EditWithUnits(expression1, unit1, AZ(i)) workPart.Expressions.EditWithUnits(expression2, unit1, EL(i)) Dim nErrs1 As Integer nErrs1 = theSession.UpdateManager.DoUpdate(markId3) i = i + 1 Loop Until i =(39) Einen schönen Tag jedem Leser! [Diese Nachricht wurde von Master Yoda am 01. Feb. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 02. Feb. 2013 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für Master Yoda
Hallo Master Yoda, ganz schlau werd' ich aus Deinem Vortrag nicht. Ein Bild würde hier mehr sagen als 1000 Worte ... um z.B. zu klären, was ein "Strahl" ist ? Die Achse des Teleskops ? Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Master Yoda Mitglied Student
Beiträge: 4 Registriert: 01.02.2013 NX 7.5
|
erstellt am: 04. Feb. 2013 09:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, Vielen Dank schon einmal für deine Antwort! Du hast Recht, ich habe mich mit dem "Strahl" etwas kryptisch ausgedrückt. Ich hatte einfach das Gesichtsfeld des Teleskops, also den Öffnungsqueschnitt des Tubus, bzw. dessen Verlängerung gemeint. Ich habe einmal eine kleine Prinzipskizze angefertigt. Was ich vorher als Strahl bezeichet habe ist einfach die Summe aller eintreffenden Lichtstrahlen. Im CAD-Modell habe ich dieses Lichtstrahlbündel als Kreiszylinder mit konstantem Querschnitt, der dem Querschnitt der Teleskopöffnung entspricht, vereinfacht. Ich hoffe ich konnte es jetzt etwas genauer beschreiben! Liebe Grüße! [Diese Nachricht wurde von Master Yoda am 04. Feb. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 04. Feb. 2013 12:34 <-- editieren / zitieren --> Unities abgeben: Nur für Master Yoda
|
Master Yoda Mitglied Student
Beiträge: 4 Registriert: 01.02.2013 NX 7.5
|
erstellt am: 04. Feb. 2013 13:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Micheal, Das habe ich versucht. Erst über die normale Kopieren-Funktion und dann auch mit dem WAVE-Geometrielinker. Mir ist es nur nicht gelungen die Funktion in meiner Schleife zu automatisieren ohne immer von Hand den Bezugskörper, also den "Strahl" anwählen zu müssen. Ich habe, da ich mich wie gesagt ganz neu mit der Materie beschäftige jeweils versucht den Kopiercode aufzuzeichnen und anschließend in meiner Schleife zu verwenden. Da im Kopiercode aber jeweils eine Transformationsmatrix zu finden war, kam ich auf diesem Weg nicht wirklich auf einen grünen Zweig. Ich habe einmal meinen gesamten bisherigen Code angehängt. Die Komponente die ich Kopieren will, ist die Komponente "Lichtstrahl". Ich wusste nur nicht, wie ich den Kopierbefehl am einfachsten in die Schleife implementieren kann und meine Komponente "Lichtstrahl" auswähle, da mein aufgezeichneter Code leider nicht Allgemeingültig war, sondern immmer definierte Transformationen enthielt. Mir ist es zwar teilweise schon gelungen die erste Stellung kopieren zu lassen, aber spätestens bei den nachfolgenden Stellungen hat es dann leider nicht mehr funktioniert bzw. mein Programm hat die Referenz verloren... Bin wie gesagt ein ziemlich unbeschriebenes Blatt, wenn es irgendein Beispiel gäbe für ein ähnliches Problem, würde mir das schon helfen. Hab bisher leider nichts gefunden, was mir geholfen hat. Vielen Dank schon einmal für deine Mühe! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 05. Feb. 2013 08:13 <-- editieren / zitieren --> Unities abgeben: Nur für Master Yoda
|
| Zerspanungsmechaniker / stv. Meister (m/w/d) | Die Bohle Gruppe ist einer der weltweit führenden Entwickler, Hersteller und Anbieter von Glasbeschlägen, Werkzeugen und Verbrauchsmaterialien für die Glasbearbeitung und -veredelung. Bohle bietet hochwertige Produktlösungen für Kunden aus den Bereichen Industrie, Handel und Handwerk. Das 1923 gegründete Familienunternehmen ist heute mit rund 400 Mitarbeitern an 15 Standorten im In- und Ausland vertreten.... | Anzeige ansehen | Systemadministration, Netzwerkadministration |
|
Master Yoda Mitglied Student
Beiträge: 4 Registriert: 01.02.2013 NX 7.5
|
erstellt am: 05. Feb. 2013 11:51 <-- editieren / zitieren --> Unities abgeben:
|