|
CATIA V5 Programmierung : Fehlermeldung beim Aufrufen eines Makros (.catvba)
Tim2007 am 10.04.2013 um 11:08 Uhr (0)
Hi Community,was kann man machen, wenn kein Cnext/Catia lokal installiert wurde, sondern dies über Server läuft?Catia läuft, aber bei VBA kommt nur Fehlermeldungen.Meine Admins sagen immer, dass das nur mit einer loklaen Catiainstallation gelst werden kann. Und das wollen sie nicht machen.Ideen?Danke.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Reference aus Hauptfunktion in Funktion übergeben
Fmueller am 10.04.2013 um 14:02 Uhr (0)
Hallo,ich habe aktuell das problem, dass ich eine so erzeugte Referenzebene (ReferenceZX):Set partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.PartSet hybridShapeFactory1 = part1.HybridShapeFactorySet originElements1 = part1.OriginElementsSet hybridShapePlaneExplicit1 = originElements1.PlaneZXDim referenceZX As referenceSet referenceZX = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)in eine Function übergeben möchte, damit ich in dieser eine weitere Ebene auf Basis dieser Referenz ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Geometrical Set erzeugen
bgrittmann am 10.04.2013 um 22:43 Uhr (0)
ServusBitte Systeminfo ausfüllen.Im Groben geht es so:Code:Sub CATMain()Dim partDocument1 As partDocumentSet partDocument1 = CATIA.ActiveDocumentDim part1 As partSet part1 = partDocument1.partDim osel As ObjectSet osel = partDocument1.SelectionDim hybridBody1 As hybridBodySet hybridBody1 = osel.Item2(1).ValueDim hybridBodies2 As hybridBodiesSet hybridBodies2 = hybridBody1.hybridBodiesDim hybridBody2 As hybridBodySet hybridBody2 = hybridBodies2.Add()hybridBody2.Name = "Work"part1.UpdateEnd SubAllerdings feh ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Fehlermeldung beim Aufrufen eines Makros (.catvba)
bgrittmann am 10.04.2013 um 13:51 Uhr (0)
ServusWelche Fehlermeldungen kommen?kannst du auf dem entsprechenden Rechner den VBA-Editor öffnen?ggf hilft es alle Referenzen zu den CATIA-Bibiliotheken löschen, und alle CATIA-Objekte als "Object" zu deklarieren.GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Name vom GeoSet übernehmen
kostja1978 am 11.04.2013 um 22:59 Uhr (0)
Hallo zusammen,Hier übernimmt die Geometrie Name vom GeoSet, in dem die liegt.Makro funktioniert nur mit "lebendige Geometrie" und "Result with Link";die tote Geo und GeoSets nehmen die Name vom zweite Stufe von oben:und zwar:GeoSet"XXX" -GeoSet"001" -Result oder GeoSet mit Name"XXX"( möchte aber "001" haben)Hat jemand Idee?___________________________________________________________________________Sub CATMain()Dim PartDoc As PartDocumentDim Selected_Obj As ObjectDim oSel As AnyObjectDim Name_ ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Change Part Body
DasDon am 15.04.2013 um 16:32 Uhr (0)
moin moin,es müssen mehrere CATParts als result abgespeichert werden. dazu kopiere ich den PartBody und füge ihn ein als Result Without Link. dann soll das neue Body als neues PartBody definiert werden. hierzu benutze ich den command "Change Part Body". Es funktioniert auch super, ausser das ich einen Hinweis bekomme das ich einen neuen PartBody bekomme (ist ja auch gewollt).diesen hinweis ist das was mich stört. ich kann keinen richtig batchlauf von mehreren parts machen, wenn ich jedesmal bestätigen muss ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Punkte in Geoset abrufen und Aktion ausführen
Kay Petri am 17.04.2013 um 06:47 Uhr (0)
Ja. So habe ich es auch gedacht. Er tut es aber leider nicht. Hier mal der Code bis jetzt.Code:Dim oDoc As DocumentDim Auswahl As StringDim SelType(0)Dim oPart As PartDim myBody As ObjectDim mySelektionChecker As Boolean mySelektionChecker = FalseSelType(0) = "HybridBody"Set oDoc = CATIA.ActiveDocument Set oSel = oDoc.Selection oSel.Clear Set oPart = oDoc.Part Set myBody = oPart.InWorkObject myType = TypeName(myBody)Auswahl = oSel.SelectElement2(SelType, "Bitte selektieren Sie ein geo ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Repeat Points on Curve
imation1999 am 18.04.2013 um 11:11 Uhr (0)
so z.B:Code:Language="VBSCRIPT"Sub CATMain()Dim partDocument1 As DocumentSet partDocument1 = CATIA.ActiveDocumentDim part1 As PartSet part1 = partDocument1.PartDim hybridBodies1 As HybridBodiesSet hybridBodies1 = part1.HybridBodiesDim hybridBody1 As HybridBodySet hybridBody1 = hybridBodies1.Item("Geometrical Set.1")Dim hybridShapes1 As HybridShapesSet hybridShapes1 = hybridBody1.HybridShapesDim hybridShapeLinePtDir1 As HybridShapeSet hybridShapeLinePtDir1 = hybridShapes1.Item("Line.1")Dim reference1 As Ref ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro programmieren um definierte Löcher zu finden
lamdiabolo am 17.04.2013 um 12:04 Uhr (0)
Guten Tag alle zusammen,ich probiere im Moment ein Makro zu programmieren, mit welchem ich in Catia V5R21 in einer Baugruppe alle Löcher finden kann,welche einen bestimmten Durchmesser haben. Ich habe mir bereits das "Kochbuch" von Herrn Hansen zugelegt und dieses durchgearbeitet, habe aber leider trotzdem keine Idee wie ich die Programmierung durchführen soll, damit ich nicht alle Löcher auswähle, sondern nur die mit einem bestimmten Durchmesser, in welche dann automatisch Normstifte eingefügt werden soll ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro programmieren um definierte Löcher zu finden
lamdiabolo am 18.04.2013 um 11:59 Uhr (0)
Habe erst einmal ausprobiert die einzelnen Löcher mit ihren Durchmessern einzeln zu finden.Das klappt jetzt.Leider erkennt die unterste If- Funktion den Wahrheitsgehalt nicht, sie gibt immer die Else- Anweisung an.Sub CATMain()set selection1 =catia.activedocument.selectionselection1.search ".hole,all"dim laenge as lengthdim hole1 as integerdim durchmesser as integerdurchmesser = inputbox ("Bitte geben sie den gesuchten Durchmesser an!", "Eingabe gesuchter Durchmesser", durchmesser)for i = 1 to selection1.c ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro programmieren um definierte Löcher zu finden
imation1999 am 18.04.2013 um 12:55 Uhr (0)
Hier muß man also zu einem Trick greifen.Zuerst speichert man die einzelnen Elemente der Selection in ein Array:Code:Dim SelElemente() As ObjectReDim SelElemente(Selection1.Count) For i = 1 To Selection1.Count Set SelElemente(i) = Selection1.Item(i)Next iDann löscht man die Selection und weist der Selection einzeln die gespeicherten Objecte zu:Code:For i = 1 To UBound(SelElemente) Selection1.Clear Selection1.Add SelElemente(i).Value ... .. .Next iSo kommst Du in Bohrung rein:Code:Sub CATMain()Dim partDocum ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro programmieren um definierte Löcher zu finden
lamdiabolo am 17.04.2013 um 15:28 Uhr (0)
Habe jetzt mal probiert einzelne Durchmesser aus einem Bauteil einzufärben. Hat leider nicht so ganz funktioniert. Wird immer ein Laufzeitfehler ausgegeben.Damit ihr euch das mal genauer anschauen könnt, im folgenden mein Code:Sub CATMain()set document1 = catia.activedocumentset selection1 = document1.selectiondim durchmesser as integerdurchmesser= inputbox("Bitte geben sie den gesuchten Durchmesser ein!","Eingabe gesuchter Durchmesser", Durchmesser)selection1.search ".hole,all"dim laenge as lengthset laen ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro programmieren um definierte Löcher zu finden
lamdiabolo am 18.04.2013 um 08:59 Uhr (0)
Danke Berndhat aber leider auch so nicht funktioniert.Hatte noch was neues ausprobiert, da mir Catia immer gesagt hat : "Objekt erforderlich: hole1. Ich wollte erst ALLE Löcher finden, welche danach nach ihrem Durchmesser durchgefragt werdenl. Hat aber leider auch nicht funktioniert, da dann der Fehler: "Das Objekt unterstützt diese Eigenschaft oder Methode nicht:hole1.diameter"Mein "neuer" Code ist:Sub CATMain()set document1 = catia.activedocumentset selection1 = document1.selectiondim durchmesser as inte ...
|
In das Form CATIA V5 Programmierung wechseln |