|
CATIA V5 Programmierung : Problem mit Makro zur Umbenennung
RSchulz am 24.04.2013 um 12:38 Uhr (0)
Hallo und Herzlich willkommen im Forum,ich gehe nicht davon aus, dass das Part selbst das Problem ist, sondern die geladenen Dokumente.Das Makro ist eigentlich "nicht" sauber bzw. zu Ende programmiert. Wenn du auf CATIA.Documents gehst, musst du noch eine Abfrage der Dokumententypen reinbringen. Es gibt nämlich durchaus Dateien die geladen sind, die garkein CATIA-Dokument darstellen, sondern eine Umgebung, Konfiguration oder ähnliches. Genau das passiert AFAIK nämlich auch bei Type3. Diese haben aber garni ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Problem mit Makro zur Umbenennung
bgrittmann am 24.04.2013 um 12:35 Uhr (0)
ServusIch welchem Format liegt das Teil (aus Type3) vor? (Dateiendung)ggf kann könnte man einfach über Abfrage eine den Typ des Dokuments bestimmen: (ungetestet)Code:FOR EACH oDoc IN CATIA.Documents if TypeName(oDoc) = ("PartDocument" or "ProductDocument") then tmp = SPLIT(oDoc.FullName, FileSeparator) tmpString = tmp(UBOUND(tmp)) tmp = SPLIT(tmpString,".") FileName = tmp(0) oDoc.Product.PartNumber = FileName end ifNEXTgrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Problem mit Makro zur Umbenennung
PukyRider am 24.04.2013 um 14:31 Uhr (0)
Danke für die schnellen Antworten.@bgrittmannZitat:ServusIch welchem Format liegt das Teil (aus Type3) vor? (Dateiendung)ggf kann könnte man einfach über Abfrage eine den Typ des Dokuments bestimmen: (ungetestet)Code:--------------------------------------------------------------------------------FOR EACH oDoc IN CATIA.Documents if TypeName(oDoc) = ("PartDocument" or "ProductDocument") then tmp = SPLIT(oDoc.FullName, FileSeparator) tmpString = tmp(UBOUND(tmp)) tmp = SPLIT(tmpString,".") FileName = tmp(0 ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Koordinatenpunkte auslesen
bgrittmann am 26.04.2013 um 12:18 Uhr (0)
ServuszB Punkte im GSD auf Kurve erzeugen ("Wiederholen der Punkt und Ebenenerzeugung") - Makro hier im Forum zum Export der Koordinaten suchen - Makro startenGrußBerndPS: Bitte Catia Release in der Systeminfo ergänzen.------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Koordinatenpunkte auslesen
moppesle am 26.04.2013 um 12:55 Uhr (0)
Hallo Raecher691Zitat:Wollen diese Form mittels einer 3D CNC Fräsmaschine aus einem Block herraus fräsen lassen..Du kannst dir aus der Skizze einen Block machen.Der CAM-Abteilung reicht das völlig aus um ein NC-Programm zu erstellen.------------------Gruß UweAuch Catia ist nur ein Mensch!
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : StartCommand + Objekt übergeben
ThomasJay am 26.04.2013 um 16:55 Uhr (0)
Hallo,ich kann mit Code:CATIA.Application.StartCommand ("Disassemble")die Disassemble-Funktion starten, aber wie kann ich der Funktion dann ein Element zuweisen das ich verarbeiten möchte?
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro programmieren um definierte Löcher zu finden
lamdiabolo am 29.04.2013 um 08:35 Uhr (0)
Danke es funktioniert! Dieses Forum ist wirklich super. Ich habe Professoren gefragt die Catia unterrichten, aber nicht einmal die hatten eine Ahnung wie ich das mit Makros lösen könnte.Vielen Dank.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro programmieren um definierte Löcher zu finden
bgrittmann am 29.04.2013 um 08:54 Uhr (0)
ServusEs geht sogar noch einfacher: nur mit der Suche kann man schon die entsprechenden Bohrungen (mit dem passenden Durchmesser) selektieren:Code:Sub CATMain()Dim partDocument1 As PartDocumentSet partDocument1 = CATIA.ActiveDocumentDim selection1 As SelectionSet selection1 = partDocument1.Selectionselection1.Search "CATPrtSearch.Hole.Diameter=4,3mm,all"selection1.VisProperties.SetRealColor 255, 0, 0, 0End SubJetzt noch eine Inputbox für den Durchmesser einbauen, und fertig.GrußBernd------------------Warum ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 30.04.2013 um 16:55 Uhr (0)
Hallo Henry,bei deinem Dictionary verstehe ich leider auch nicht genau wie ich ihn umbauen muss, damit er mir meine Durchmesser behält und diese abgleicht bzw. bei mehrfachvorkommen, den Zähler erhöht und nachher eine Tabelle ausgibt.Ich beschäftige mich leider erst seit kurzem mit der Makroprogrammierung bei Catia und bin daher noch nicht der aller geübteste,im Umgang mit VBA bzw.VBS Script.Danke aber trotzdem für dein BemühenGrußJan
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 30.04.2013 um 09:33 Uhr (0)
Guten Tag,ich hoffe ihr könnt mir nochmal behilflich sein.Ich probiere im Moment ein Makro zu programmieren, welches in Catia ein Bauteil durchgehen und alle Löcher finden, den Durchmesser bemessen und alle gleichen Löcher mit der Gesamtanzahl in einer Tabelle ausgeben soll.Es soll nachher ungefähr folgend aussehen:3 x 50mm5 x 20mm4 x 10mmEs wäre natürlich schön wenn die Durchmesser der Größe nach geordnet wären, aber wenns leichter ist reicht es mir erst auch mal, wenn man überhaupt die Anzahl mit den daz ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 30.04.2013 um 11:27 Uhr (0)
Habe das mal ausprobiert, muss aber ehrlich sein und zugeben, das ich den Dictionary Befehl nicht ganz verstehe.Bislang mein Code:Sub CATMain()----Dokument nach Löchern durchsuchenset selection1 = catia.activedocument.selectionselection1.Search ".hole,all"----Dictionary erstellen---- Durchmesser der Löcher herausfindenFor i = 1 To selection1.CountSet hole1 = selection1.Item2(i).ValueSet laenge = hole1.DiameterDim ausgabe As Integerausgabe = laenge.Value----Prüfen ob Durchmesser schon im Dictionaryt=0if aus ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
imation1999 am 01.05.2013 um 09:32 Uhr (0)
Ich würde es so machen:Code:Sub CATMain()Set selection1 = CATIA.ActiveDocument.SelectionDim length1 As LengthDim hole1Dim dDim ItDim KeDim C Counter = 1selection1.Search ".hole,all"Set d = CreateObject("Scripting.Dictionary")For i = 1 To selection1.Count Set hole1 = selection1.Item2(i).Value Set length1 = hole1.Diameter If d.Exists(length1.Value) Then C = C + 1 d.Item(length1.Value) = C Else C = 1 d.Add length1.Value, C End If NextIt = d.ItemsKe = d.KeysFor i = 0 To ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Objekt finden, vergleichen und in Tabelle darstellen.
lamdiabolo am 30.04.2013 um 11:27 Uhr (0)
Habe das mal ausprobiert, muss aber ehrlich sein und zugeben, das ich den Dictionary Befehl nicht ganz verstehe.Bislang mein Code:Sub CATMain()----Dokument nach Löchern durchsuchenset selection1 = catia.activedocument.selectionselection1.Search ".hole,all"----Dictionary erstellen---- Durchmesser der Löcher herausfindenFor i = 1 To selection1.CountSet hole1 = selection1.Item2(i).ValueSet laenge = hole1.DiameterDim ausgabe As Integerausgabe = laenge.Value----Prüfen ob Durchmesser schon im Dictionaryt=0if aus ...
|
In das Form CATIA V5 Programmierung wechseln |