|
CATIA V5 Programmierung : Makro geometrische Set
Beemer328 am 30.01.2009 um 08:24 Uhr (0)
Hallo,ich möchte in einem CATPart automatisch durch ein Makro geometrische Sets erstellen lassen. Ich kenne mich mit der Makroprogrammierung nicht gut aus und kann das nur über die Makroaufzeichnung. Dadurch habe ich es geschafft, dass ein Set erstellt wird aber es bekommt dann nicht den Namen, den ich bei der Aufzeichnung eingegeben habe. Was füge ich in das Makro ein, damit das neue Set einen Namen bekommt. Bisher sieht es so aus:Language="VBSCRIPT"Sub CATMain()Dim partDocument1 As DocumentSet partDocume ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro geometrische Set
Jens Hansen am 30.01.2009 um 08:38 Uhr (0)
Hallo,den namen kannst du nachträglich vergeben.Dim hybridBody1 As HybridBodySet hybridBody1 = hybridBodies1.Add()hybridBody1.Name = "Ich_bin_Willi"SGJens Hansen------------------Inoffizielle CATIA-HilfeseitePrivate SeiteXingKochbuch - CATIA V5 automatisieren
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro geometrische Set
denyo_1 am 30.01.2009 um 08:38 Uhr (0)
Hallo Julia,du hast schon alles richtig gemacht dir fehlt nur noch die Methode das geometrische Set (hybridBody1-Objekt) umzubenennen. Das geht in deinem Fall mit hybridBody1.Name = "TEST"Hier mal dein Code ein wenig übersichtlicher umgeschrieben:Code:Sub CATMain()Dim oDoc As DocumentDim oPart As PartDim ohyBodies As hybridBodiesDim ohyBody As HybridBodySet oDoc = CATIA.ActiveDocumentSet oPart = oDoc.PartSet ohyBodies = oPart.hybridBodiesSet ohyBody = ohyBodies.Add()ohyBody.Name = "Test" Hier wird das Set ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro geometrische Set
Beemer328 am 30.01.2009 um 08:41 Uhr (0)
Ich nochmal. Habe in meinem Lieblingsforum (dieses hier) folgendes gefunden. Jetzt möchte ich nur noch die Sets an eine bestimmte Stelle z.B. unterhalb eines vorhandenen Sets erstellt haben. Kann man das da noch einbauen?sub CATMain() dim ar() set mypart = CATIA.ActiveDocument.Part pflichtnamen="Becks:Jever:Flens:Budwiser:Erdinger" set hybs = mypart.HybridBodies a = split(pflichtnamen,":") for j = 0 to UBound(a) if hybs.Count 0 then found = 0 for i = 1 to hybs.Count if a(j) = hybs.Item(i).Name the ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro geometrische Set
Jens Hansen am 30.01.2009 um 08:44 Uhr (0)
Hallo,du musst hybridBodies1.Add() in dem jeweiligen GS ausführen, wo das neue GS hinein soll.Set hybridBodies1 = part1.HybridBodiesSet hybridBody1 = hybridBodies1.Add()Set hybridBody1_1 = hybridBody1.Hybridbodies.Add()SGJens Hansen------------------Inoffizielle CATIA-HilfeseitePrivate SeiteXingKochbuch - CATIA V5 automatisieren
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro geometrische Set
Jens Hansen am 30.01.2009 um 08:45 Uhr (0)
Zitat:Original erstellt von denyo_1: Da hatte jemand flinkere Finger YES !!!!!! Ausnahmsweise mal ------------------Inoffizielle CATIA-HilfeseitePrivate SeiteXingKochbuch - CATIA V5 automatisieren
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro geometrische Set
Jens Hansen am 30.01.2009 um 09:14 Uhr (0)
Sollen die GS denn der Reihe nach geschaltelt werden? Wie genau soll die Struktur denn aussehen?SGJens Hansen------------------Inoffizielle CATIA-HilfeseitePrivate SeiteXingKochbuch - CATIA V5 automatisieren
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro geometrische Set
Jens Hansen am 30.01.2009 um 09:30 Uhr (0)
Naja... es muss schon definiert sein, wann ein GS unterhalb eines anderen GS erzeugt werden soll und wann nicht. Generell ist es so, dass zu erst das "Vater"-Set angesprochen werden muss:bei neues GS mit: Set hb1 = part1.HybridBodies.Addbei bestehenden mit: Set hb1 = part1.HybridBodies.Item("Name_des GS_oder index")wobei das letztere sich auf die oberste Ebene bezieht. Tiefer verschaltet sieht es dann so aus: Set hb1 = part1.HybridBodies.Item(2).Hybridbodies.Item(1).Hybridbodies.Item("Name")Hier wären w ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro geometrische Set
denyo_1 am 30.01.2009 um 09:32 Uhr (0)
Hi,hier habe ich mal ein kleines Beispiel. Ist kein geo-Set im Part vorhanden, wird ein eingefügt. Ist aber eins vorhanden, muss das Anwender das geo-Set auswählen unter dem er das neue einfügen will.Code:Sub CATMain() Dim oDoc As Document Dim oPart As Part Dim ohyBodies As hybridBodies Dim ohyBody As HybridBody Dim oType(0) Dim Auswahl Dim oSel As Selection Set oDoc = CATIA.ActiveDocument Set oSel = oDoc.Selection Set oPart = oDoc.Part Set ohyBodies = oPart.hybridBodies If ohyBodies.Count = ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Late Binding mit Visual Basic 2008 Express Edition
INLU am 31.01.2009 um 18:07 Uhr (0)
Hallo Jens,Ja, kann ich. In Deinem Buch beschreibst du, dass man beim Late Binding in C# keine Verschachtelung von V5-Anweisungen gemacht werden können z.b. Part1.Bodies.Count . Kann es sein, dass das nicht für VB Express 2008 gilt ? Ich möchte über ein Macro Veröffentlichte Körper von einem Part in das andere Kopieren. Da ich aber eine Checklistbox für das auswählen der einzelnen Körper verwenden möchte, hab ich mich für VB Express 2008 entschieden. Im VBA-Editor von V5 ist das Element ja so ohne weiteres ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Late Binding mit Visual Basic 2008 Express Edition
Jens Hansen am 31.01.2009 um 22:15 Uhr (0)
Hallo Lars,es wundert mich, dass der Debugger unter C# das mitmacht. Was hast du denn für Einstellungen in deinem C#-Projekt vorgenommen?Normalerweise gibt der Debugger einen Fehler aus wenn eine Eigenschaft definiert wird, die nicht über IntelliSense verfügbar ist.SGJens Hansen------------------Inoffizielle CATIA-HilfeseitePrivate SeiteXingKochbuch - CATIA V5 automatisieren
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Late Binding mit Visual Basic 2008 Express Edition
INLU am 01.02.2009 um 13:03 Uhr (0)
Hallo Jens.Ich hoffe Du meinst die Einstellungen in meinem Visual Basic Express Projekt (Ich mach es ja nicht in C#).Ich habe keine besondere Einstellung vorgenommen, also auch keinen Com-Verweis auf die Catia Bibliotheken. Allerdings habe ich für ein anderes Projekt die Com-Verweise für Mecmod und GSMInterface gesetzt. Komischerweise tauchen diese auch auf, wenn ich VBE frisch starte und mir über Projekte-Verweis Hinzufügen-Aktuell die Bibliotheken anschau. Heißt das, dass der Com Verweis doch existiert? ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : catvba-Makro mit catvba-Makros starten
denyo_1 am 01.02.2009 um 18:15 Uhr (0)
Hallo Martin,das funktioniert genauso wie mit einem CATScript nur muss ein anderer Werte beim Aufruf der Funktion eingetragen werden.Versuchs mal mit folgendem Code:Code: Dim myScript Dim Params() myScript = CATIA.SystemService.ExecuteScript("C:", catScriptLibraryTypeVBAProject, "TEST.catvba", "CATMain", params)catScriptLibraryTypeVBAProject das ist eine Enum und die bestimmt welcher Typ aufgerufen wird (also CATScript, CATScript aus Datei oder CATVba Projekt). Um das rauszufinden kannst entwerder den O ...
|
In das Form CATIA V5 Programmierung wechseln |