Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  C# Late Binding (Zugriff ohne Bibliotheken), VBA ähnlich?

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
Autor Thema:  C# Late Binding (Zugriff ohne Bibliotheken), VBA ähnlich? (2660 mal gelesen)
student1992
Mitglied
Student


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

Beiträge: 98
Registriert: 03.05.2017

erstellt am: 19. Okt. 2017 08:17    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

Guten Morgen zusammen,

ich bin gerade dabei mich in C# einzuarbeiten und verstehe eine Sache nicht so richtig.

In dem Kochbuch CATIA V5 automatisieren von Jens Hansen steht ,dass die Befehle in der Programmierung mit C# identisch mit den befehlen in VBA sind. (S.325)

Kann mir da einer vielleicht weiterhelfen?

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 19. Okt. 2017 10:41    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 student1992 10 Unities + Antwort hilfreich

Hi 92,

... und im Satz davor steht:

'Man muss also die Syntax des Befehls kennen', d.h. Reihenfolge und Typ der Argumente.

Er geht da weiter auf das Fehlen von Intellisense ein.

Hope it helps,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

student1992
Mitglied
Student


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

Beiträge: 98
Registriert: 03.05.2017

erstellt am: 19. Okt. 2017 11:44    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

ja genau, aber wo sind die VBA befehle, die sehe ich in dem Beispiel R41 zum Beispiel nicht.

Bei Early Bindung hingehen sind die VBA Befehle zu erkennen, wie beispielsweise (product1 = activedocpart.Product

Wo ich eigentlich hinaus möchte ist, dass ich gerne mein VBA Makro sicher schützen möchte (nicht nur mit einem Passwort). Denn wenn ich das Makro in C# umprogrammiere möchte ich gerne eine Anwendung (.exe) die unabhängig von Catia startbar ist und der Quellcode nicht zusehen ist.

Deswegen möchte ich gerne die Late Bindung variante erlernen, kennt sich da wer damit gut aus, wie ist da die Vorgehensweise am besten? Mehr Literatur zum Thema Programmieren in CATIA V5 gibt es ja nicht, oder Irre ich mich?

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

C.Samer
Mitglied
CAD Administrator


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

Beiträge: 72
Registriert: 03.05.2017

erstellt am: 19. Okt. 2017 12: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 Nur für student1992 10 Unities + Antwort hilfreich

Ich hab was du erreichen möchtest selbst noch nicht gemacht, aber doofe Frage:
Kannst du das VBScript nicht einfach z.B. mit Visual Basic als Ressource in die .exe einbinden und von der .exe starten lassen?

Liebe Grüße aus Wien,
Christoph

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 19. Okt. 2017 12:30    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 student1992 10 Unities + Antwort hilfreich

Hi 92,

Du willst das Makro als ausfühbares Programm haben? Als '.exe'?
Das bekommst schon mit VB6 oder VB.Net, siehe zB hier:
http://catia2.cad.de/index.php/de/downloads/skripts-applikationen/449-drawnet-ein-fahrzeugnetzgenerator

Das der Quell-Code nicht erkennbar ist, ist eine der Eigenschaften von kompilierten Programmen.
Weshalb Du da unbedingt 'Late Binding' brauchst, musst mir noch erklären.

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

student1992
Mitglied
Student


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

Beiträge: 98
Registriert: 03.05.2017

erstellt am: 19. Okt. 2017 12:53    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 Joe,

vielen Dank erstmals für die schnellen antworten! 


Beim Late Binding ist der Zugriff in CATIA schnell, nicht über Umwege (wie über die COM-Schnittstelle - Early Binding)

Ich habe ein langes Makros geschrieben, mit vielen verschiedenen Funktionen (6 verschiedene Userforms sind z. B. vorhanden) und jede Menge Quellcode.

Ich habe das ganze in Catia-VBA programmiert, möchte es aber auch unseren Kunden als ausführbare Datei übergeben, damit Sie das auch nutzen können ohne den Quellcode zusehen.

Also kann ich das Makro in VB6 oder VB.NET umprogrammieren?


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

student1992
Mitglied
Student


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

Beiträge: 98
Registriert: 03.05.2017

erstellt am: 19. Okt. 2017 12:56    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 Christoph,

mit Visual Basic als Ressource einbinden habe ich noch nicht versucht, dann müsste der Quellcode geschützt werden, richtig?

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 19. Okt. 2017 13:59    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 student1992 10 Unities + Antwort hilfreich

Zitat:

Also kann ich das Makro in VB6 oder VB.NET umprogrammieren?


Hast Du denn VB6 bzw. VB.Net?
Falls nicht: VB6 wurde offiziell durch VB.Net abgelöst, vor ca. 15 Jahren.
Dem entsprechend kannst VB6 allenfalls gebraucht kaufen.
VB.Net gibt's als Express-Version umsonst.
Der Haken? VB6 ist direkt verwandt mit VBA6.5; der Aufwand beim anpassen eher gering.
Die UserFormen müssen als Form neu angelegt werden. Die Logik beim Makro-Start ist anders.

Bei VB.Net(hab ich noch nicht verwendet) musst auch den Code umbauen.

Deswegen kannst genauso gut C# verwenden.

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

student1992
Mitglied
Student


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

Beiträge: 98
Registriert: 03.05.2017

erstellt am: 19. Okt. 2017 14:59    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

Mit VB6 und VB.NET kenne ich mich noch nicht  gut aus, muss erstmals nachfragen ob wir das haben 

Zitat:
Deswegen kannst genauso gut C# verwenden

also mit visual studio express 2010 ?

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 19. Okt. 2017 15: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 Nur für student1992 10 Unities + Antwort hilfreich

Ich weiss nicht auswendig, was VS Express 2010 beinhaltet.

Grundsätzlich:
  Jeder Compiler
    der stand-alone .exe erzeugt
    und in der Lage ist, die Catia-Bibliotheken einzubinden.

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 20. Okt. 2017 08: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 student1992 10 Unities + Antwort hilfreich

Moin,

aktuell ist Visual Studio 2017 Community (das ist die kostenfreie Version die für solche Fälle völlig ausreichen sollte). 2010 oder 2015 sollten aber auch gehen.

Hier der Link zum Download: https://www.visualstudio.com/de/downloads/

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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

student1992
Mitglied
Student


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

Beiträge: 98
Registriert: 03.05.2017

erstellt am: 22. Okt. 2017 22: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

vielen Dank für die Antworten.

Ich habe mich für Visual Basic 2010 Express entschieden. (Da ich das schon installiert hatte.

Nun habe ich versucht ein einfaches Makro zu erstellen. Bekomme aber die Verknüpfung mit Catia über die COM schnittstelle nicht so richtig hin. Kann mir deiner einer weiterhelfen.

Code:
Imports System.Runtime.InteropServices
Imports ProductStructureTypeLib
Imports INFITF
Imports MECMOD
Imports HybridShapeTypeLib


Public Class Form1


    Dim CATIA As INFITF.Application
CATIA = GetObject("CATIA.Application")


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim partDocument1 As PartDocument
        partDocument1 = CATIA.ActiveDocument

        Dim part1 As Part
        part1 = partDocument1.Part

        Dim hybridShapeFactory1 As HybridShapeFactory
        hybridShapeFactory1 = part1.HybridShapeFactory

        Dim hybridShapePointCoord1 As HybridShapePointCoord
        hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(10.0#, 10.0#, 0.0#)

        Dim hybridBodies1 As HybridBodies
        hybridBodies1 = part1.HybridBodies

        Dim hybridBody1 As HybridBody
        hybridBody1 = hybridBodies1.Item("Geometrical Set.1")

        hybridBody1.AppendHybridShape(hybridShapePointCoord1)

        part1.InWorkObject = hybridShapePointCoord1

        part1.Update()

        Dim hybridShapePointCoord2 As HybridShapePointCoord
        hybridShapePointCoord2 = hybridShapeFactory1.AddNewPointCoord(10.0#, 10.0#, 10.0#)

        hybridBody1.AppendHybridShape(hybridShapePointCoord2)

        part1.InWorkObject = hybridShapePointCoord2

        part1.Update()

        Dim reference1 As Reference
        reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord2)

        Dim reference2 As Reference
        reference2 = part1.CreateReferenceFromObject(hybridShapePointCoord1)

        Dim hybridShapeLinePtPt1 As HybridShapeLinePtPt
        hybridShapeLinePtPt1 = hybridShapeFactory1.AddNewLinePtPt(reference1, reference2)

        hybridBody1.AppendHybridShape(hybridShapeLinePtPt1)

        part1.InWorkObject = hybridShapeLinePtPt1

        part1.Update()

        Dim originElements1 As OriginElements
        originElements1 = part1.OriginElements

        Dim hybridShapePlaneExplicit1 As HybridShapePlaneExplicit
        hybridShapePlaneExplicit1 = originElements1.PlaneZX

        Dim reference3 As Reference
        reference3 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)

        Dim hybridShapeDirection1 As HybridShapeDirection
        hybridShapeDirection1 = hybridShapeFactory1.AddNewDirection(reference3)

        Dim reference4 As Reference
        reference4 = part1.CreateReferenceFromObject(hybridShapeLinePtPt1)

        Dim hybridShapeExtrude1 As HybridShapeExtrude
        hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference4, 20.0#, 0.0#, hybridShapeDirection1)

        hybridBody1.AppendHybridShape(hybridShapeExtrude1)

        part1.InWorkObject = hybridShapeExtrude1

        part1.Update()


    End Sub
End Class


In der Fehlerliste ist eine Meldung die ich nicht lösen kann.
Da steht Deklaration fehlgeschlagen (bezogen auf das CATIA welches ich dick markiert habe)

Was ist daran falsch, habe die Deklarartion von Catia aus dem Forum 

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 22. Okt. 2017 23:26    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 student1992 10 Unities + Antwort hilfreich

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