|
CATIA V5 Programmierung : Rekursiv
tomtom1972 am 14.03.2007 um 07:42 Uhr (0)
Moin okl,führen wir unsere Diskussion weiter. Ich sehe das ein bischen anders. Ich will mich ja nicht zu weit aus dem Fenster lehnen, aber ich denke du interpretierst den Artikel auf Wiki nicht ganz richtig (das Beispiel dort ist auch unglücklich). Oder eben ich.Holen wir mal etwas weiter aus:Es gibt zwei Bereiche im RAM, die ein Script mit Arbeitsspeicher bedient: der Stack und der Heap. Wird z.B. eine Integer-Variable deklariert (Dim iTest As Integer, iTest = 1000), schreibt sich der 32-Bit-Wert der sel ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Rekursiv
tomtom1972 am 13.03.2007 um 09:05 Uhr (0)
Hallo,wieso soll CATScript dafür nicht gemacht sein?Und wieso ist ein rekursiv aufgebautes Script speicherintensiver? Das halte ich alles für absoluten Unfug. Endlosschleifen sind das Resultat falscher Programmierung und nicht das Ergebnis rekursiver Vorgänge.Rekursiv heißt ja nicht, das eine Schleife beliebig oft aufgerufen wird.Bsp sei folgende Struktur:Product Product Part Product Part Partund folgendes Script:Sub CATMain() Set oRoot = Catia.ActiveDocument Set oProducts = oRoot.Produc ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Nur sichtbare Flächen
tomtom1972 am 13.12.2006 um 10:22 Uhr (0)
Moin,das ganze geht so:-cgr erzeugen. Der cgr ist eine Hüllkurve, enthält also nur die aussenliegenden Flächen. Jene, welche du behalten möchtest.-Jetzt willst du aber die "echten" Flächen behalten, nicht den cgr. Daher dient der cgr nur zum Abgleich (da er die Info enthält, was eine aussenliegende Fläche ist)-Der Abgleich läuft über einen Clash (eine Kollisionsuntersuchung) zwischen dem cgr und allen restlichen Modellen.-Der Clash erzeugt (wenn er vom Typ catConflictTypeClash ist) Conflicts (also Konflikt ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Allgemein : Dynamic link name
tomtom1972 am 09.10.2007 um 15:42 Uhr (0)
Hallo Catrin,das ist so nicht ganz richtig. Natürlich kann man Daten auf Windows/Unix-Ebene verschieben, ohne das CATIA das stört. Es kommt nur darauf an, das der User weiß, was er tut.Zum o.g. Beispiel: DL Names sind dazu da, um von den absoluten Pfadnamen unabhängig zu werden. Im DLName.CATSetting wird die Info hinterlegt, welcher DL-Name auf welchen absoluten Pfad verweisst. Das ganze kann man mit Hilfe einer globalen (Projekt-)Variable genauso gestalten wie das Arbeiten bei der (Folder-basierten) Einst ...
|
| In das Form CATIA V5 Allgemein wechseln |
|
CATIA V5 Programmierung : VB Fenster Programmierung
tomtom1972 am 03.05.2006 um 06:59 Uhr (0)
Hallo zusammen,einer der Haupt-Unterschiede zwischen VBA (Visual Basic For Applications) und z.B. VB6.0 (oder VB.Net) ist, das ein VBA Script ein Catia-Prozess ist und ein VB Script ein eigenständiger Prozess, d.h. er wird im Task seperat aufgelistet. Ein einfaches Bsp, das die Dassault/IBM-Leute immer in ihren APARs zur Erklärung des Unterschiedes eines Inside/Outside V5 Prozesses anführen ist folgendes (in englisch):Running a Script inside the V5 process and running a VB macro outside the V5 process ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Datei vorhanden???
tomtom1972 am 28.10.2005 um 08:33 Uhr (0)
Hallo,wenn man unter Windows ein Excel-file öffnet, welches schon ein anderer User geöffnet hat, so wird das Excel-file automatisch schreibgeschütz geöffnet. Dann kann man den Schreibschutz einfach über die Property ReadOnly des ActiveWorkbooks abfragen, also so:--------------Excel aufNamExcel = Catia.FileSelectionBox("Select Excel","*.xls", CatFileSelectionModeOpen)If NamExcel = "" Then End ---------in VB End / im CATSCript Exit SubEnd IfSet objXL = CreateObject("Excel.Application")objXL.Visible = T ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Fileselection Box mit Vorauswahl
tomtom1972 am 18.06.2009 um 07:53 Uhr (0)
Hallo Daniel,ein kleiner Einwand an dieser Stelle:es gibt ein paar Methoden, die mit nur mit .CATScript richtig laufen und unter VB(6 oder .NET) entweder gleich einen Error erzeugen oder nicht so arbeiten wie eigentlich gedacht. Das zeigt mir zumindest meine Erfahrung und die jeweilige Antwort von IBM/Dassault auf die betreffenden APARs/PMRS, z.B. den hier: http://ww3.cad.de/foren/ubb/Forum137/HTML/001402.shtml (aktueller Stand diesbezogen: unter R19 immer noch so)Des weiteren verhält sich CATIA unterschie ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro auf einen Symolleiste verknüpfen!
tomtom1972 am 08.08.2005 um 11:12 Uhr (0)
Hallo,das sind ja vier Fragen auf einmal.1.) Unter ToolsCustomizeToolbar einen neuen Werkzeugkasten erstellen. Anschliessend unter ... ...CustomizeCommandsAll Commands das Script anwählen und unter ShowProperties ein Icon zuweisen und dieses in die Toolbar ziehen. Fertig.2.) Das Ziel der CNext.exe unter EigenschaftenVerknüpfungen abändern: -macro "C:Pfad_des_Makros est.CATScript" anhängen. Vorsicht: Ein CATScript, VBScript und auch ein VBA ist Teil des V5 Prozesses, d.h. das Script blockiert Catia – erst w ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro soll OK-Taste ausführen
tomtom1972 am 11.10.2006 um 11:50 Uhr (0)
Hallo,mit VB (nicht im CATScript) und CATIA in engl. Sprachversion mache ich das so: Set oProdToALLCATPart = Catia.Documents.Open(objFile.Path) iWinCount = Catia.Windows.Count Set oSel = Catia.ActiveDocument.Selection oSel.Clear oSel.Add (Catia.ActiveDocument.Product) AppActivate ("CATIA V5") Catia.StartCommand ("Generate CATpart from product...") Start = Timer Do While Timer Start + 1 DoEvents Loop SendKeys Chr(13), True While Catia.Windows.Count = iWinCount WendGruss TomTom--------------- ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CatVBA Makros auf anderen Rechner
tomtom1972 am 21.01.2009 um 14:50 Uhr (0)
Hallo Jens Hansen,ich liege trotz allem richtig, da du von etwas ganz anderem redest/schreibst als ich.Es ist korrekt, das Zitat:alle entsprechenden Eigenschaften des jeweiligen Objektes innerhalb des Watch-Fensters sichtbar sind. Aber eben nur des jeweiligen Objektes selbst (und das hat mit LateBinding nun überhaupt nix zu tun).Ich habe auf meine Anfrage warum das Navigieren im Tree des Watchs von .Net - bezogen auf CATIA - nicht so funktioniert wie in VB6.0 (bei Excel z.B. geht das) von IBM/Dassault die ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : eine CATIA.applictaion von mehreren anziehen
tomtom1972 am 15.03.2017 um 06:32 Uhr (1)
Hallo Forum,ich suche seit längerem nach einer Möglichkeit bei mehreren gleichzeitig auf einem Rechner laufenden CATIA Sessions (dafür ist nur eine Lizenz nötig) aus einer (z.B. der dritten) mittels CATScript eine .exe aufzurufen (VB6 / .NET) und aus diesem extern laufenden Makro dann wieder auf die korrekte CATIA Session zuzugreifen.(... Set Catia = GetObject(, "Catia.Application") ...)Leider wird immer (!) die zuerst gestartete CATIA Instanz angezogen.Kennt jemand irgendeinen Ansatz für mein Problem?Gruß ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Kann das ein Makro?
tomtom1972 am 07.08.2009 um 15:02 Uhr (0)
Hallo Daniel,ist das ein spezielle Problem von .net?Ich erzeuge in VB6 ständig Excel-Objekte und "beseitige" die dann wieder mit .quit, ohne das im Task eine excel.exe übrig bleibt??Gruß------------------tomtom1972
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : eine CATIA.applictaion von mehreren anziehen
tomtom1972 am 15.03.2017 um 07:52 Uhr (1)
Hallound Danke für die Antwort, hilft mir aber nicht weiter, Mit .CreateObject kann ich eine weitere CATIA-Instance starten, aber nur die Version, welche in der Registry eingetragen ist, also keine definierte, da wir mit mehreren Environments arbeiten.Ich kann über eine Shell mehrere definierte, unterschiedliche CATIAs starten und bekomme auch die zueghörige TaskID zurück. Das ist nicht mein Problem, hilft mir aber auch nicht weiter.Die Sackgasse ist immer(... Set Catia = GetObject(, "Catia.Application") . ...
|
| In das Form CATIA V5 Programmierung wechseln |