|
CATIA V5 Programmierung : Wie ruft man ein CATScript oder VBScript aus VBA heraus auf?
DanielFr. am 12.10.2009 um 09:47 Uhr (0)
Hallo ,so funktioniert es:Code:Function CATMain(FP_exp)Set partDocument1 = CATIA.ActiveDocumentSet part1 = partDocument1.PartSet hybridBodies1 = part1.HybridBodiesSet hybridBody1 = hybridBodies1.Item("FiberSIM Flat Patterns")Set sketches1 = hybridBody1.HybridSketchesSet sketch1 = sketches1.Item(FP_exp)part1.InWorkObject = sketch1Dim factory2D1 As Factory2DSet factory2D1 = sketch1.OpenEdition()Dim geometricElements1 As GeometricElementsSet geometricElements1 = sketch1.GeometricElementsDim point2D1 As Object ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Component Activation State ohne Wirkung?
DanielFr. am 21.04.2010 um 16:49 Uhr (0)
Hi,IMHO gibt es hierzu keine Lösung. Die Frage ist warum brauchst du es. Solange nur die Node oder der terminal Node deaktiviert ist kannst du doch ohne Probleme in dem Teil arbeiten. Du kannst alle Methoden und Klassen nutzen. Anders ist es natürlich wenn die Komponente / Part deaktiviert wurde (das kannst du aber abfragen).Eine Lösung wäre noch in einer Schleife alle Bauteile zu durchlaufen und mit der Methode "ActivateDefaultShape" zu aktivieren------------------MFG DanielSysteminformation | Inoffiziell ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Andere Eigenschaften definieren
DanielFr. am 21.04.2010 um 17:40 Uhr (0)
Hallo ,und hier kommt die Lösung Code:Option ExplicitSub CATMain() ***Deklarationen Dim intProdDocObj As ProductDocument Dim intProdObj As Product Dim intSelObj As Selection Dim i As Integer Dim intUserParasObj As Parameters Dim intParaToAddObj As Parameter ***Objekte instanzieren On Error GoTo WrongDoc Set intProdDocObj = CATIA.ActiveDocument Set intSelObj = intProdDocObj.Selection intSelObj.Clear ***Bauteile suchen intSelObj.Search "CATAsmSearch.Part,all" If intSelObj.Count = 0 The ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : designtable öffnen
DanielFr. am 21.04.2010 um 18:06 Uhr (0)
Hallo ,dazu kannst du nur einen StartComand-Befehle verwenden. Dieser ist aber Abhängig von der Umgebungssprache die du auch nicht so ganz einfach über CATvba auslesen kannst ------------------MFG DanielSysteminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Andere Eigenschaften definieren
DanielFr. am 22.04.2010 um 08:50 Uhr (0)
Hallo ,das liegt an deiner *.CATvbs. *.CATvbs deklariert die Datentypen selbständig. D.h. in CATvbs werden keine "DIM" Anweisungen verwendet. Du hast jetzt folgende Möglichkeiten:1. Du kopierst den Code in ein neues *.CATScript2. Du kopierst den Code in ein neues *.CATbva Modul3. Du löschst alle "DIM" Anweisungen aus dem obigen Code (oder kommentierst sie mit einem Hochkomma aus)------------------MFG DanielSysteminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3 ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part update
DanielFr. am 23.04.2010 um 09:39 Uhr (0)
Hallo Norbert,es ist doch völlig unerheblich wo du im Produkt bist. Das ActiveDocument ist IMMER das Root-Produkt. Du kannst auch alle Parts auslesen und dann mit einer If..Then..Else nach dem entsprechenden Dateinamen suchen wenn du das Item nicht weißt.------------------MFG DanielSysteminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Cgr-Files in Product einfügen
DanielFr. am 23.04.2010 um 09:53 Uhr (0)
Hallo ,also der Fehler ist ohne Codeschnipsel für niemanden nachzuvollziehen. Das folgende Script funktioniert. Vielleicht vergleichst du mal und findest den Fehler Code:Sub CATMain() ***DEKLARATIONEN Dim intRootProdDocObj As Object ProductDocument Dim intIGESList(0) Dim intProdObj As Object As Product ***DATEINAMEN ÜBERGEBEN intIGESList(0) = "C:Documents and SettingsAdministratorDesktopIGES TEST.igs" ***INSTANZIERUNHG Set intRootProdDocObj = CATIA.Documents.Add("Product") intRootProdDocObj.P ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Part update
DanielFr. am 23.04.2010 um 11:48 Uhr (0)
Hallo ,das sind keine Werte sondern Eigenschaften. Am besten du machst dir mal ein neues CATvba Projekt auf, fügst eine Modul ein und kopierst den Code hier rein. Im Anschluss blendest du im Editor über View - Toolbars die Symbolleiste "Debug" ein. Jetzt markierst du das Objekt "intRootProdObj" und fügst es über das Kontextmenü zur Watchlist hinzu (RMT - Add Watch - OK). Falls das Watch-Fenster nicht eingeblendet ist, kannst du das über das über View (Menüleiste) nachholen.Hast du das alles gemacht dann kl ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Cgr-Files in Product einfügen
DanielFr. am 23.04.2010 um 14:11 Uhr (0)
Hallo ,ich gebe Bernd recht. Die Methode will ein eindimensionales Array. Ich verstehe hier so und so deinen Ansatz mit dem zweidimensionalen Array nicht ganz. Anbei mal meine Beispiel. Das Teil speichert aus jeder Konfiguration einer DesignTable ein *.cgr, erstellen danach ein neues Produkt und fügt diesem alle erstellten *.cgr hinzu. ------------------MFG DanielSysteminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Selektionen eines Parts im Product
DanielFr. am 10.09.2009 um 17:39 Uhr (0)
Hallo,"selectElement2" funktioniert nur im aktiven Dokument. Ist dies ein Produkt kannst du nur Features des Produktes selektieren. In deinem Fall selektiert er richtigerweise die komplette Instanz. Versuch mal das "SelectElement4". Hiermit ist es möglich auch in anderen Dokumenten (also in der Partinstanz) zu selektieren.Hier mal der Auszug aus der *.chm Datei:Func SelectElement4( CATSafeArrayVariant iFilterType, CATBSTR iActiveDocumentMessage, CATBSTR iNonActiveDocumentMessage, boolean iTooltip, CATI ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Selektionen eines Parts im Product
DanielFr. am 26.04.2010 um 10:18 Uhr (0)
Hallo,wie Bernd schon sage, die SelectElement4 Methode ist für eine externe Selektion (also Fensterwechsel) gedacht. Bei dir funktioniert das mit der SelectElement2 Methode. Hier mal ein Beispiel. Bei der Selektion ist es dabei völlig unerheblich welches Bauteil oder welche Baugruppe dabei aktiv ist. Die Hauptsache ist das das zu selektierende Feature im selben Fenster existiert.Code:Option ExplicitSub CATMain() Dim intRootDocObj As ProductDocument Dim intSelObj As Object Selection Dim intSelFilter(0) ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : PowerCopy in Produktumgebung ausführen
DanielFr. am 26.04.2010 um 13:13 Uhr (0)
Hallo Bernod ,mit dem Codeschnipsel kann man leider nichts anfangen da man gerade dein beschriebenes Problem nicht "sieht". Ich denke es liegt daran das in der Funktion "OK_Button_Click" dein Objekt "IntPointObj" keinen Wert (also Nothing) ist. Du hast wieder im Prozedurkopf hierzu eine Übergabe definiert noch kann man erkennen ob das Objekt eventuell global (Public, Private) deklariert wurde.Ich habe dir mal ganz kurz was zusammen geschrieben. Die Instantiierung des PC funktioniert im Beispiel so wie das ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parametrisches Offset
DanielFr. am 26.04.2010 um 15:25 Uhr (0)
Hallo Hannes ,hierbei ist die Vorgehensweise im Script genauso wie die Vorgehensweise per Hand. D.h. du benötigst einen Parameter (Lenght) und die Ebene. Die Ebene selber hat einen internen Parameter mit dem Namen "Offset" (Lenght). Diesen internen Parameter verknüpfst du mit einer "=" Formel mit dem von dir erstellten Parameter. Hier mal das ganze in einem Script als Beispiel. Die Ebene sowie den Parameter kann man natürlich im Script auch interaktiv vom Anwender selektieren lassen (dann ist man nicht an ...
|
In das Form CATIA V5 Programmierung wechseln |