|
CATIA V5 Programmierung : Typename Fehler
AlexE78 am 29.08.2005 um 13:34 Uhr (0)
Hallo allerseits,ich schreibe derzeit an einem Macro (CATIA V5 R14, catvbs), daß den Strukturbaum eines CATParts extrahieren und als xml ausgeben soll. Dabei tritt folgendes Problem auf:Das Ergebnis von "Typename(oShape)" von Punkten ergibt immer"HybridShapePointTangent", egal, mit welcher Funktion der Punkt erzeugt wurde.Die für Tangent-Punkte definierten Funktionen laufen aber nur, wenns wirklich ein Tangent-Punkt ist (oPoint.Curve bzw. oPoint.Direction).Funktionen für andere Punkt-Typen (z.B. oPoint.X b ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Change Body per Macro
AlexE78 am 19.09.2005 um 09:39 Uhr (0)
Hallo allerseits,ich kann Euch eine halbe Lösung anbieten... halb deswegen, weil sie nur mit Windows läuft. dazu muß ich noch anmerken, daß das ganze kein CATIA-Makro ist - ich mach das ganze mit einem stinknormalen VBScript (*.vbs), in dem ich auf CATIA.Application zugreife (mit vba sicherlich auch in dieser weise machbar). außerdem brauch man dazu noch ein WShell-Objekt. und das ist auch der grund, warum das ganze auf Windoof beschränkt ist... so gehts los:dim WShell, CATIAset WShell = CreateObject("WScr ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Pfad der geöffneten Datei übergeben
AlexE78 am 21.09.2005 um 10:21 Uhr (0)
Guten Morgen,Der Pfad eines geöffneten CATIA-Dokuments kann ganz allgemein mit sDocPath = oDoc.Pathabgefragt werden. Egal ob Part, Product oder Drawing...An das (geöffnete) Document-Object kommt man mit set oDoc = CATIA.ActiveDocumentoder set oDoc = CATIA.Documents.Item(sDocName | iDocIndex)mfg alex
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameter von Bemaßung ändern
AlexE78 am 04.10.2005 um 15:20 Uhr (0)
Hallo allerseits,also das Ansprechen des Objektes mit "SelectedElement.Value" sollte eigentlich funktionieren. Vielleicht bringt es ja was, wenn man erstmal testet, was für ein Objekt man da wirklich rausbekommt. Also in diesem Fall sowas wie MsgBox MyDim.Name & ": " & typename(MyDim)Habe nämlich schon mit Punkt-Objekten erlebt, daß CATIA die Typen manchmal durcheinander bringt. Und es schadet vielleicht auch nichts, das ganze mal als .catvbs zu probieren, da man hier variablen keine feste Objektklasse z ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA.StartCommand synchron?
AlexE78 am 05.10.2005 um 15:48 Uhr (0)
Hallo allerseits,ist jemandem von euch eine Möglichkeit bekannt, wie man einen CATIA.StartCommand("CommandX")-Befehl (CommandX ist in meinem Fall eine CAA-Funktion) innerhalb eines .catvbs- oder .catscript-Makros synchron ablaufen läßt? D.h., daß das Script erst dann weiterläuft, wenn StartCommand beendet ist oder zumindest eine gewisse Zeit wartet.Das ganze muß auf Unix und XP laufen, daher kann ichs nicht mit einem out-process-macro realisieren.Mit externen Sleep-Prozessen (z.b. CATIA.SystemService.Execu ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA.StartCommand synchron?
AlexE78 am 12.10.2005 um 08:40 Uhr (0)
Danke für den Rat, aber das meinte ich nicht damit.Es geht nicht um ein synchron ausgeführtes externes Programm, sondern um einen synchronen, INTERNEN CATIA-Befehl. Und der startet mit "CATIA.StartCommand" leider nur asynchron.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA.StartCommand synchron?
AlexE78 am 13.10.2005 um 09:02 Uhr (0)
Guten Morgen allerseits,das mit dem Zugriff eines externen Programms auf CATIA hab ich schon getestet und funktioniert auch prima... aber halt nur unter XP. Wenn allerdings da jemand ne Idee hat, wie man das unter UNIX anstellt, laß ich mich gerne eines besseren belehren.und was die abfrage des ergebnisses angeht, bin ich eher skeptisch. soweit ich CATIA verstehe, ist CATIA.StartCommand "CommandX" gleichzusetzen mit einem Mausklick auf das entsprechende Icon bzw. der Eingabe von "c:CommandX" ... und solang ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Product überspringen????
AlexE78 am 19.10.2005 um 09:25 Uhr (0)
Guten Morgen,ich mach sowas ähnliches mit rekursiven Funktionen. und dabei ist es natürlich kein problem, irgendwelche bedingungen einzufügen, die die rekursion abbrechen.z.B: alle Produkt-Namen im StrukturBaum ausgebendim sPSTNamessub ReadProdName(oProduct) Hier deine Abbruchbedingung if (instr(oProduct.Name, "Samson") 0) then exit sub sPSTNames = sPSTNames & ", " & oProduct.Name for each oSubProduct in oProduct.Products ReadProdName oSubProduct nextend subsub CATMain sPSTNames = "" ReadPro ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Automatisierte Screenshots
AlexE78 am 25.01.2006 um 09:29 Uhr (0)
Guten Morgen,Habe mich auch mit einem solchen Tool beschäftigt und kann Euch schon mal ein paar Tipps geben.Kompass ausschalten: (englisch) CATIA.StartCommand "CompassDisplayOff"Hintergrundfarbe setzen: (rot, grün, blau ;jeweils 0 - 1) CATIA.ActiveWindow.ActiveViewer.PutBackgroundColor array(1, 1, 1)Blickrichtung festlegen:Zwei Vektoren (x,y,z), einer in Blickrichtung, der andere bestimmt, wo oben sein soll. Der zweie Vektor muß nicht unbedingt senkrecht auf dem ersten stehen.Beispiel für Isometrie-Ansic ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Automatisierte Screenshots
AlexE78 am 25.01.2006 um 09:29 Uhr (1)
Guten Morgen,Habe mich auch mit einem solchen Tool beschäftigt und kann Euch schon mal ein paar Tipps geben.Kompass ausschalten: (englisch) CATIA.StartCommand "CompassDisplayOff"Hintergrundfarbe setzen: (rot, grün, blau ;jeweils 0 - 1) CATIA.ActiveWindow.ActiveViewer.PutBackgroundColor array(1, 1, 1)Blickrichtung festlegen:Zwei Vektoren (x,y,z), einer in Blickrichtung, der andere bestimmt, wo oben sein soll. Der zweie Vektor muß nicht unbedingt senkrecht auf dem ersten stehen.Beispiel für Isometrie-Ansic ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part in Struktur ansprechen
AlexE78 am 01.02.2006 um 12:44 Uhr (0)
Hallo allerseits,das Problem dürfte darin bestehen, daß CATIA.Documents.Item alle geöffneten Dokumente berücksichtigt und dabei das aktive *.CATProduct als erstes Element (Item(1)) zurückgibt, welches natürlich keine .Part-Eigenschaft hat.Also solltest du empfehlen, ob du auch ein *.CATPart erhälsts, am besten mit right(oMyDocument.Fullname, 8) = ".CATPart" und andernfalls den entsprechenden Schleifendurchlauf überspringen.mfgAlex
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part in Struktur ansprechen
AlexE78 am 01.02.2006 um 17:18 Uhr (0)
Ich nochmal...Man sollte halt alles nochmal durchlesen, bevor man auf speichern klickt Ich meinte: "ich würde dir empfehlen, zu überprüfen, ob das entsprechende Dokument auch ein Part ist...."Das kann man relativ einfach über die Dateiendung feststellen, d.h. man schneidet vom Dateinamen (oMyDocument.Fullname) die letzten 8 Zeichen ab und vergleich mit ".CATPart".In einer Schleife könnte das etwa so aussehen:for i = 1 to CATIA.Documents.Count set oMyDocument = CATIA.Documents.Item(i) if (right(oMyDocume ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Komponenten Laden oder Entladen
AlexE78 am 14.02.2006 um 09:15 Uhr (0)
Guten Morgen,Laden und Entfernen von Shapes (d.h. ohne Erzeugen/Löschen eines Knotens im PST) geht mitoProduct.AddMasterShapeRepresentation/RemoveMasterShapeRepresentation(alternativ dazu oProduct.AddShapeRepresentation bzw. RemoveShapeRepresentation)Diese Funktionen sind in der CATIA-V5 Automation dokumentiert(V5Automation.chm im /bin-Verzeichnis), sollten aber nur für *model und *cgr angewendet werden, da Parts, die auf diese Weise eingefügt werden, nicht in den DesignMode umgeschaltet werden können.Für ...
|
In das Form CATIA V5 Programmierung wechseln |