Autor
|
Thema: Ansichterzeugen (1328 mal gelesen)
|
l.pesch Mitglied
Beiträge: 312 Registriert: 22.01.2004
|
erstellt am: 22. Mrz. 2005 11:51 <-- editieren / zitieren --> Unities abgeben:
Hallo alle zusammen, mein Problem gehört eigentlich nicht hier rein (betrifft ein anderes 3d-konstruktionsprogramm)aber ich hoffe ihr könnt mir auch weiter helfen, kann einer von euch eigentlich dieses kleine C-Programm in vb.net übersetzen. void doit() { tag_t drawing,member_view,original_view; double middle[2] = { 320, 320 }; UF_DRAW_info_t drawing_info = { UF_DRAW_METRIC_SIZE, UF_DRAW_A1, 1.0, UF_PART_METRIC,UF_DRAW_THIRD_ANGLE_PROJECTION }; UF_DRAW_view_info_t view_info = { UF_DRAW_ACTIVE_VIEW, NULL_TAG, 1.0, FALSE, TRUE, FALSE,TRUE }; UF_VIEW_ask_tag_of_view_name("FRONT", &original_view); // Erzeugt ein neues Blatt UF_DRAW_create_drawing("SH1", &drawing_info, &drawing); // Fügt eine Ansicht hinzu UF_DRAW_import_view(drawing, original_view, middle, &view_info, &member_view); } Es gibt es seit kurzen die Funktion in Unigraphics das man auch vb-Programme da einbinden kann, deshalb kann ich die frage dort nicht stellen weil sich keiner damit noch auskennt. Danke in vorraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
93Aero Mitglied Ing
Beiträge: 106 Registriert: 02.12.2004
|
erstellt am: 22. Mrz. 2005 13:33 <-- editieren / zitieren --> Unities abgeben: Nur für l.pesch
Ich kenne mich mit UGs nicht so gut aus;-) Aber grundsätzlich ginge es nach dem Muster: Sub DoIt Dim drawing As tag_t, … Dim middle(2) As Double Middle(1) = … UF_DRAW_create_drawing "SH1", drawing_info, drawing End Sub Leider läßt sich nicht alles auf einen Schlag umsetzen. Ist UF_DRAW_view_info_t eine Structure? Dann kannst Du sie in VB nur memberweise füllen. Ist UF_DRAW_import_view eine Void-Funktion? Dann keine Klammer in VB... Aber ganz ehrlich: normal C++ ohne ATL/COM ist doch so schön zu programmieren, warum willst Du mit dem ganzen VB-Zeug kämpfen? Ist nur für Automatisierung gut... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
l.pesch Mitglied
Beiträge: 312 Registriert: 22.01.2004
|
erstellt am: 22. Mrz. 2005 13:45 <-- editieren / zitieren --> Unities abgeben:
hallo 93Aero, leider kenne ich mich in c++ überhaupt nicht aus und in vb wenigstens etwas, bräuchte schon eine genauere übersetzung? kennst du UG? kennst du vielleicht jemanden der ein programm hat wie man eine stückliste einfügt und exportiert? danke in vorraus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
93Aero Mitglied Ing
Beiträge: 106 Registriert: 02.12.2004
|
erstellt am: 23. Mrz. 2005 17:45 <-- editieren / zitieren --> Unities abgeben: Nur für l.pesch
Das Problematische dabei sind die benutzerdefinierten Typen, wie "UF_DRAW_info_t". Sie können in VB durchaus anders definiert werden und das ist nicht trivial (eine völlig andere Softwarearchitektur). Ja nach Situation findet man die passende Typdefinitionen aus Bibliotheken, exportiert welche oder definiert sie neu. Aber das ist ein Thema für Fortgeschrittene in Sachen Softwareentwicklung. Außerdem habe ich keinen Zugriff auf UG, so daß es mit dem Übersetzen leider kaum gehen wird... Tut mir Leid:-( Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
l.pesch Mitglied
Beiträge: 312 Registriert: 22.01.2004
|
erstellt am: 24. Mrz. 2005 10:43 <-- editieren / zitieren --> Unities abgeben:
|
93Aero Mitglied Ing
Beiträge: 106 Registriert: 02.12.2004
|
erstellt am: 29. Mrz. 2005 10:13 <-- editieren / zitieren --> Unities abgeben: Nur für l.pesch
|
l.pesch Mitglied
Beiträge: 312 Registriert: 22.01.2004
|
erstellt am: 02. Mai. 2005 08:11 <-- editieren / zitieren --> Unities abgeben:
Hallo 93Aero, hab das mal so übersetzt und Dim drawing_info As UF_DRAW_info_t Dim view_info As UF_DRAW_view_info_t sind Structure, kommt felermeldung. Arrayinitialisierung sind für die Array gültig. Der Typ "drawing_info" ist jedoch "NXOpen.UF.UFDraw". Sub doit() Dim drawing, member_view, original_view As tag_t Dim middle() As Double = {320, 320} Dim drawing_info As UF_DRAW_info_t = {UF_DRAW_METRIC_SIZE, UF_DRAW_A1, 1.0, UF_PART_METRIC, UF_DRAW_THIRD_ANGLE_PROJECTION} Dim view_info As UF_DRAW_view_info_t = {UF_DRAW_ACTIVE_VIEW, NULL_TAG, 1.0, False, True, False, True} UF_VIEW_ask_tag_of_view_name("FRONT", original_view) '// Erzeugt ein neues Blatt UF_DRAW_create_drawing("SH1", drawing_info, drawing) '// Fügt eine Ansicht hinzu UF_DRAW_import_view(drawing, original_view, middle, &view_info, member_view) End Sub
Hab versucht auch das Programm aufzuzeichnen mit macro, er ertellt aber nur ein blatt und keine ansicht, hier der code: Dim theSession As Session = Session.GetSession() Dim session_UndoMarkId1 As Session.UndoMarkId session_UndoMarkId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Insert Sheet") Dim drawings_DrawingSheet1 As Drawings.DrawingSheet drawings_DrawingSheet1 = theSession.Parts.Work.DrawingSheets.InsertSheet("SHT1", Drawings.DrawingSheet.Unit.Millimeters, 210.0, 297.0, 1.0, 1.0, Drawings.DrawingSheet.ProjectionAngleType.FirstAngle) Wenn ich dir die NXOpen Bibliothek zuschicke, könntest du mir diese Programm übersetzen? bekomme es leider überhaupt nicht hin.
Danke in vorraus l.pesch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
l.pesch Mitglied
Beiträge: 312 Registriert: 22.01.2004
|
erstellt am: 06. Mai. 2005 07:26 <-- editieren / zitieren --> Unities abgeben:
|
93Aero Mitglied Ing
Beiträge: 106 Registriert: 02.12.2004
|
erstellt am: 02. Jun. 2005 15:03 <-- editieren / zitieren --> Unities abgeben: Nur für l.pesch
Hallo L.Pesch, aus beruflichen Gründen war ich zeitlang nicht dabei... Was hilfreich sein kann, sind die Header-Dateien: *.h, *.tlh, solen irgendwo in Unigraphics-Verzeichnis dabei sein und in Deinem C-Programm (wahrscheinlich in afx.h included. Aber es ist schon aufwendig, weil ich keine Erfahrungen mit UGX habe:-( Vielleicht gibt es im entsprechenen Forum jemanden, der sich auskennt? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
l.pesch Mitglied
Beiträge: 312 Registriert: 22.01.2004
|
erstellt am: 02. Jun. 2005 15:15 <-- editieren / zitieren --> Unities abgeben:
Hallo Aero, also wenn du zeit oder interesse daran hast mir zu helfen oder einfach interesse hast den code mal auszuprobieren, melde dich einfach. l.peschechonow@aut-tech-saar.de Danke in voraus l.pesch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
l.pesch Mitglied
Beiträge: 312 Registriert: 22.01.2004
|
erstellt am: 02. Jun. 2005 15:17 <-- editieren / zitieren --> Unities abgeben:
|
l.pesch Mitglied
Beiträge: 312 Registriert: 22.01.2004
|
erstellt am: 07. Jun. 2005 12:40 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|