Hallo zusammen,
als Anfänger im Programmieren, wollte ich zunächst einmal folgendes Problem lösen: Benutzer soll Punkt selektieren, dieser soll dann als Referenz für eine Ebene dienen.
Nun habe ich folgendes programmiert:
Sub CATMain()
'3D-Werkzeugkasten deklarieren-----------------------------
Dim MeinPart as Part
set MeinPart=CATIA.ActiveDocument.Part
Dim Wzk3D as HybridshapeFactory
Set Wzk3D=MeinPart.HybridShapeFactory
'Geöffneten Körper deklarien------------------------------
dim Hbody as hybridbody
set Hbody=MeinPart.Hybridbodies.item ("Ebenen")
'Auswahl festlegen----------------------------------------
dim was(1)
was(0)="Point"
was(1) ="HybridShapeIntersection"
'Selektion definieren und leeren--------------------------
dim usersel as selection
set usersel=catia.activedocument.selection
usersel.clear
'Selektion vornehmen lassen-------------------------------
dim Auswahlpunkt as catbstr
Auswahlpunkt = usersel.SelectElement (Was, "Punkt wählen.", false)
if Status="normal" then
msgbox(usersel.item(1).value.name)
else
msgbox("Abbruch") 'Hier steckt ein Fehler
end if
'Selektion freigeben--------------------------------------
usersel.endselectelement
'Referenz erzeugen----- Hier steckt ein Fehler
dim RefP as Reference
set RefP=MeinPart.Createreferencefromobject (Auswahlpunkt)
'Punkt dem geöffneten Körper zuweisen---------------------
Hbody.appendhybridshape Punkt
'Ebene vordefinieren--------------------------------------
Dim ebene1
set ebene1=Hbody.HybridShapes.Item("Ebene.1")
dim RefE as Reference
set RefE = MeinPart.CreateReferenceFromObject(ebene1)
dim eben2 as hybridshapeplaneoffsetpt
set ebene2=Wzk3D.addnewplaneoffsetpt (RefE, RefP)
'Ebene dem geöffneten Körper zuweisen---------------------
Hbody.appendhybridshape Ebene2
usersel.clear
MeinPart.Update
End Sub
Nun treten folgende Probleme auf:
-ich bekomme ein Ausgabefenster mit "Abbruch", obwohl ich beim selektieren einen Punkt gewählt habe
-unter 'Referenz erzeugen (Zeile 37 folgende Fehlermeldung:
Source: Laufzeitfehler in MS VBS
Descrition: Typen unverträglich: 'MeinPart.Createreferencefromobject'
Line: 37
Column: 0
Klingt für mich, als könnte mein selektierter Punkt nicht als Referenz ausgegeben werden.
Ich weiß, der Code ist etwas unübersichtlich, aber vielleicht kann mir jmd zu diesen Problemen helfen.
Ausgeführt wurde das Programm als CATScript unter V5.14 Sp5 Build 14
Vielen Dank im Voraus!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP