Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Fehlermeldung beim Messen

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:  Fehlermeldung beim Messen (1442 mal gelesen)
dhk
Mitglied



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

Beiträge: 32
Registriert: 06.11.2010

erstellt am: 28. Jan. 2013 11:57    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

Hi, ich hab ein kleines Problem mit einem Makro von mir.
Erstmal vorweg ich bin noch relativ am Anfang was die Makroprogramierung angeht, deshalb ist vielleicht noch nicht alles optimal.

Ich habe jetzt ein Makro geschrieben welches in einem ersten Schritt den Radius von einem Rohr bestimmen soll. Die Unterscheidung mit der If-Else-Anweisung ist mMn. notwendig um auch "dumme" Geometrien vermessen zu können, da greift leider nicht die .Radius Funktion.

Nun tritt bei der Zeile "Messen=MyMeasure..." im Unterprogramm der Fehler auf: "Source: Laufzeitfehler in Microsoft VBScript; Description: Typen unverträglich"

Das kuriose ist nur das ich genau das gleiche Unterprogramm schonmal in einem anderen Makro genutzt habe und dort funktioniert alles problemlos. Habe es 1 zu 1 übernommen.
Ich hoffe ihr könnt mir bei der Sache helfen, ich probiere jetzt schon seit Dezember rum und komme nicht weiter. Maximal das ich andere Fehlermeldungen erzeuge 
Vielen Dank schonmal.


hier noch der Quelltext:

Attribute VB_Name = "xxx"
Dim version, macroname
Sub CATMain()

version = "1.0"
macroname = "xxx"

'#################################################

Set partDocument1 = CATIA.ActiveDocument

'#################################################
'Körper auswählen--------------------------------------------------
'#################################################

Dim MyType(0)
MyType(0) = "Body"

Dim sel As Selection
Set sel = CATIA.ActiveDocument.Selection
sel.Clear

Dim G As String
G = sel.SelectElement2(MyType, "Body auswählen [ESC=Abbrechen]", False)
If (G = "Normal") Then
Set body1 = sel.Item(1).Value
Else
    Exit Sub
End If

Set part1 = body1.Parent.Parent

'#################################################
'Deklaration--------------------------------------------------------
'#################################################

Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridBodies1 = part1.HybridBodies
Set hybridBody1 = hybridBodies1.Add()
Set bodies1 = part1.Bodies

'#################################################
'Aussenfläche einlesen-----------------------------------------------
'#################################################

part1.InWorkObject = body1

Dim Was(0)
Was(0) = "Face"

Dim selection1 As Selection
Set selection1 = CATIA.ActiveDocument.Selection
selection1.Clear

Dim E As String
E = selection1.SelectElement2(Was, "Außenfläche auswählen [ESC=Abbrechen]", True)
If (E = "Normal") Then

Dim Aussenflaeche
    Aussenflaeche = selection1.Selection.Item(1).Value.Name
    Aussenflaeche = Replace(Aussenflaeche, "Selection_", "")
    Dim i2
    i2 = InStrRev(Aussenflaeche, "));")
    Aussenflaeche = Left(Aussenflaeche, i2)
    Aussenflaeche = Aussenflaeche + ");WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)"

    Set reference1 = part1.CreateReferenceFromBRepName(Aussenflaeche, body1)
Else
    Exit Sub
End If


'#################################################
'Extract von Außenfläche erzeugen----------------------------------
'#################################################

Set hybridShapeExtract1 = hybridShapeFactory1.AddNewExtract(reference1)
hybridShapeExtract1.PropagationType = 3
hybridShapeExtract1.ComplementaryExtract = False
hybridShapeExtract1.IsFederated = False
hybridBody1.AppendHybridShape hybridShapeExtract1
part1.InWorkObject = hybridShapeExtract1


'#################################################
'Achse von Außenfläche erzeugen----------------------------------
'#################################################

Set hybridShapeAxisLine1 = hybridShapeFactory1.AddNewAxisLine(reference1)
hybridShapeAxisLine1.AxisLineType = 1
hybridBody1.AppendHybridShape hybridShapeAxisLine1
part1.InWorkObject = hybridShapeAxisLine1


'#################################################
'Messen des Durchmessers-----------------------------------------
'#################################################

Dim dm As Double
dm = Abs(Messen(reference1, Achse))
If dm = 0 Then
Set MySPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
Set MyMeasure1 = MySPAWorkbench.GetMeasurable(reference1)
dm = MyMeasure1.Radius
End If


...


End Sub

Function Messen (MyFirst As Object, MySecond As Object) As Double

Dim MySPAWorkbench As SPAWorkbench
Dim MyMeasure As Measurable

Set MySPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
Set MyMeasure = MySPAWorkbench.GetMeasurable(MyFirst)
Messen = MyMeasure.GetMinimumDistance(MySecond)

End Function

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: 28. Jan. 2013 12:09    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 dhk 10 Unities + Antwort hilfreich

Ich sehe den Aufruf von Messen() leider nicht, daher kann ich keine Aussage treffen.

Ich würde vermuten, Du hast keine Referenzen übergeben, da Object zulässig ist.

Kann aber auch sein, dass Measurable ohne Referenzen arbeitet, in dem Fall würde ich mir beide Objekte einmal im Überwachungsfenster angucken.

------------------
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

Xing

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

dhk
Mitglied



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

Beiträge: 32
Registriert: 06.11.2010

erstellt am: 28. Jan. 2013 12:19    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

Der Messen() Aufruf erfolgt im letzten Abschnitt unter 'Messen des Durchmessers---------- 2. Zeile
Ich habe das ganze auch schon mit Referenzen versucht was aber auch keinen Erfolg brachte.

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: 28. Jan. 2013 16: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 Nur für dhk 10 Unities + Antwort hilfreich

Keine Ahnung warum die Suche das nicht gefunden hat...

Jedenfalls bleibe ich dabei: Überprüf Deine Objekte im Überwachungsfenster.

Ich sehe z.B. die Deklaration von Achse nicht und würde daber behaupten, dass keine Referenz darin ist.

------------------
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

Xing

[Diese Nachricht wurde von HoBLila am 28. Jan. 2013 editiert.]

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