Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  VBA: nothing an CATIA-Funktionen übergeben

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:  VBA: nothing an CATIA-Funktionen übergeben (1373 mal gelesen)
martinINPRO
Mitglied
Dipl.-Ing.


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

Beiträge: 21
Registriert: 24.06.2008

erstellt am: 08. Jul. 2008 08: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!

In einigen Funktionen kann man als Parameter "nothing" übergeben. Im CATScript ist das kein Problem. Wie kann man das jedoch in VBA realisieren. Hier bekomme ich in der Regel einen Typkonflikt. Kennt einer hier die Lösung?


Gruß, Martin

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

martinINPRO
Mitglied
Dipl.-Ing.


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

Beiträge: 21
Registriert: 24.06.2008

erstellt am: 08. Jul. 2008 08:55    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

Ich habe bereits schon folgendes getestet; hier die Results:

hsfLoft.AddSectionToLoft(ref_sketch0, 1, nothing)  : Typkonflikt
hsfLoft.AddSectionToLoft(ref_sketch0, 1, "nothing") : Typkonflikt
hsfLoft.AddSectionToLoft(ref_sketch0, 1, "")        : Typkonflikt
hsfLoft.AddSectionToLoft(ref_sketch0, 1, 0)        : Typkonflikt
hsfLoft.AddSectionToLoft(ref_sketch0, 1, )          : Parameter nicht optional


Gruß, Martin

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

FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 08. Jul. 2008 10: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 Nur für martinINPRO 10 Unities + Antwort hilfreich

hab leider kein VBA zum ausprobieren da, aber ich wuerde mal "empty" oder "null" probieren

------------------
no milk today...

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

martinINPRO
Mitglied
Dipl.-Ing.


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

Beiträge: 21
Registriert: 24.06.2008

erstellt am: 08. Jul. 2008 10: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

"empty" oder "null" wird vom VBA-Interpreter nicht akzeptiert. Ich kann somit diese Variante nicht ausprobieren!

Trotzdem: Vielen Danke! Ich bin auf jeden Ratschlag angewiesen!

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 08. Jul. 2008 15: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 Nur für martinINPRO 10 Unities + Antwort hilfreich

Soweit ich weiß muss im VB das übergebene OBjekt, vor allem wnen es referenziert wird vom gleichen Typ sein. Sprich du brauchst ein objekt, dass dem entsprechendne Typ entspricht, aber Nothing ist.

Das CATScript ist in der Lage selbst einen Typecast zu machen, weshalb es dort oft keien Konflikte gibt.

Also Dim dir ein Objekt, des entsprechendne zu übergebenden Typs und übergib das. Ich dneke das wird reichen.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

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

denyo_1
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 08. Jul. 2008 16: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 martinINPRO 10 Unities + Antwort hilfreich

Hallo Henry,

das war zuerst auch meine Vermutung es funktioniert aber trotzdem nicht. Ich hab meinen Punkt gedimt, und es funktioniert werden wenn ich den Punkt auf Nothing setze noch auf "" noch auf 0. Entweder erwartet er eine Funktion oder Variable oder die Typen stimmen nicht überein.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 09. Jul. 2008 09:06    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 martinINPRO 10 Unities + Antwort hilfreich

Hallo,
versuch mal eine Reference mit dem Wert NULL zu erstellen und diese dann zu übergeben:

Set Part1 = CATIA.ActiveDocument.Part
Set ref0 = Part1.CreateReferenceFromName("")
hsfLoft.AddSectionToLoft(ref_sketch0, 1, ref0)

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Private Seite
Xing

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

martinINPRO
Mitglied
Dipl.-Ing.


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

Beiträge: 21
Registriert: 24.06.2008

erstellt am: 21. Jul. 2008 12: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

Ich habe nun eine Umgehungslösung gefunden; diese ist zwar nicht so schön, aber funktioniert!

Dim ref_pt = part.CreateReferenceFromGeometry(pt)
hsfLoft.AddSectionToLoft(ref_sketch, 1, ref_pt)
hsfLoft.RemoveSectionPoint(ref_sketch)


Ich tue so, also ob ich eine Referenz habe. Diese wird angemeldet und auch übergeben. Anschliessend wird diese mit .RemoveSectionPoint() wieder gelöscht.

Eleganter wäre es natürlich hier ohne dem Löschen auszukommen!


Gruß, Martin

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