|
CATIA V5 Programmierung : CATScript Funktionen in CATVBA nutzen
DanielFr. am 08.09.2009 um 17:44 Uhr (1)
Hallo,was ist das genau Problem? Du kannst eine SelectElement auch in CATvba nutzen. Hierzu darfst du jedoch die Selektion nicht als solche deklarieren sondern als Objekt. Das selbe ist mit dem CATBSTR. Diese wird einfach als Objekt deklariert.Zur Erklärung:Es gibt in Visual Basic Funktionen die nicht oder nur teilweise unterstützt werden. Das liegt in der Regel an der Deklaration des jeweiligen Objekts. Wenn du nun das Objekt auch als Objekt (die Mutter aller Objekte wie Selektion, Document, etc.) deklari ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATScript Funktionen in CATVBA nutzen
DanielFr. am 09.09.2009 um 17:56 Uhr (1)
Hallo,IMHO ist dein letztes Beispiel auch nicht "sauber" programmiert. Versuch mal folgendes:Code:Sub main() Dim Was(1) Was(0) = "Pad" Was(1) = "Line" Dim Usersel As Object Dim myDoc as Document Set myDoc = CATIA.ActiveDocument Set Usersel = myDoc.Selection Usersel.Clear Dim E As Object E = Usersel.SelectElement2(Was, "Pad oder Linie wählen!", False) If E = "Normal" Then MsgBox (Usersel.Item(1).Value.Name) Else MsgBox ("Abbruch") ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Punkt auf welcher Fläche? / Ebene parallel zur Fläche durch Punkt
DanielFr. am 08.09.2009 um 18:13 Uhr (0)
Hallo Effak,ich habe dir hier mal ein kleines Makro zusammengebaut das die Arbeit für dich abnimmt.Als Input muss der User Punkte auswählen (können auch schon vorausgewählt sein). Das Makro durchläuft alle ausgewählten Punkte und erstellt (falls es sich um Punkte handelt die eine "Referenzsurface" haben (Point on surface)) die entsprechende Ebene (tangential zur Surface-Refernz des Punktes) dazu. Zum Schluss gibts noch ne Ausgabe .Werden Punkte ausgewählt die nicht mit "Point on surface" erstellt wurden wi ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Punkt auf welcher Fläche? / Ebene parallel zur Fläche durch Punkt
DanielFr. am 10.09.2009 um 08:09 Uhr (0)
Hallo Effak,ich hatte das Script ursprünglich in CATvba geschrieben und werde es mir heute nochmals anschauen (das mit dem Fehler in der Vorauswahl beheben), die Verschneidungen mit reinnehmen und dir dann nochmal als *.bas (Modulsicherung aus CATvba) hier reinstellen.In dem Sinne bis heute Abend... [Edit] F7 Taste gedrückt [/Edit]------------------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 : Punkt auf welcher Fläche? / Ebene parallel zur Fläche durch Punkt
DanielFr. am 10.09.2009 um 16:20 Uhr (0)
Hallo,hier jetzt die Version 2 des Scriptes. Das Selektionsproblem ist behoben und es können jetzt auch Intersects ausgewählt werden. Diese funktionieren natürlich nur wenn mindestens eine Referenz eine Fläche ist .Anbei ist wie heute früh schon erwähnt eine *.bas Datei. Diese kann im Visual Basic Editor importiert werden File - Import File.Bei Fragen und Problemen einfach wieder hier weiter machen ------------------MFG DanielSysteminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TracePar ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Achsenbenennung auslesen
DanielFr. am 10.09.2009 um 16:23 Uhr (0)
Hallo,es reicht nicht ein Objekt nur zu Deklarieren. Du musst es bevor du irgendwelche Methoden anwendest auch füllen.Code:Dim UserSel as ObjectDim oDoc as DocumentSet oDoc = CATIA.ActiveDocumentSet UserSel = oDoc.Selection Hier wird das Objekt gefüllt------------------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 : Handling von zwei CATIA Instanzen in VB
DanielFr. am 10.09.2009 um 18:31 Uhr (0)
Hallo Axel,ich gebe Rick vollkommen recht. Jede gestartete Instanz erzeugt eine unique ID. Diese ist wie der Name schon sagt einzigartig.Ich habe hier mal kurz eine eigene Klasse geschrieben die alle ausgeführten CATIA Instanzen in eine Collection schiebt. Innerhalb das Collection befinden sich die kompletten CATIA Prozesse. So wie sie Windows handelt. Unter anderem wird hier der Fenstername (etwas unsicher ), die Handlenummer, etc. verfügbar. Über diese lassen sich die Instanzen 100% sicher ansprechen. A ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Bohrungen auf einer Fläche mit vorgegebenem Randabstand - Makro möglich?
DanielFr. am 12.09.2009 um 16:45 Uhr (0)
Hallo thomau96 ,na sicher lässt sich das automatisieren. IMHO gibt es hier nur zwei Probleme. Erstens dein Problem st doch ein wenig spezieller und mit dem Makrorecorder kommst du auf keinen Fall weiter.Jetzt beschreibe ich erstmal meine Vorgehensweise wie ich das lösen würde.1. Anwender startet das Makro2. Der Anwender gibt mit einer InputBox den X- und Y-Abstand der Kanten ein und optinal die Tiefe der Bohrung3. dies läuft in eine Schleife durch alle Produkte (also Parts eines Produkts)4. Innerhalb der ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Bohrungen auf einer Fläche mit vorgegebenem Randabstand - Makro möglich?
DanielFr. am 13.09.2009 um 12:59 Uhr (0)
Hallo,ich frage jetzt nochmal kurz nach weil ich das so wies aussieht morgen in meiner Mittagspause kurz runterprogrammieren werden.Da hast pro Block jeweils 4 Bohrungen? Oder meinst du du hast 2 Bohrungen mit Gewinden?Die Randabstände (also Abstand in X- und Abstand in Y-Richtung der selektierten Kanten) sind in allen Blöcken gleich (sprich du willst sie definitiv nicht für jeden Block einzeln eingeben können (nicht mal die Möglichkeit soll bestehen?)Das Makro läuft NUR auf Windows oder auch auf UNIX?Wie ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameter auslesen
DanielFr. am 13.09.2009 um 13:17 Uhr (0)
Hallo milburn,das was du da programmiert hast funktioniert aber ist nicht gut. Das Problem ist die Documents.Collection aus CATIA.Folgendes Szenario zur Verdeutlichung:Du öffnest ein Produkt mit 10 Part. Du schließt diese wieder (über File - Close oder über das X). Jetzt schaust du die Documents-Collection an. Du wirst in 50% der Fälle feststellen das sich die Dokumente des zuvor geschlossenen Produkts noch in der Collection befinden das Produkt aber schon geschlossen ist.Das heißt dein Makro ist extrem fe ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Automatische Bemaßung
DanielFr. am 03.09.2009 um 17:55 Uhr (0)
Hallo Cohixu,du machst erstmal gar nichts falsch. Es gibt Funktionen (unter anderem diese und die Selektion) deren Objekt nicht in VBA unterstützt werden. Das heißt wird eine Objekt als DrawingDimension deklariert ist die Funktion "add" entweder eingeschränkt oder gar nicht verfügbar.Um dem Problem jetzt Herr zu werden darfst du das Objekt nicht als DrawingDimension deklarieren (early Binding) sondern als Object (late Binding). Der Unterschied zwischen early und late Binding liegt somit in der Deklaration ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Automatische Bemaßung
DanielFr. am 08.09.2009 um 18:17 Uhr (0)
Hallo,ich sags ja late bindings sind genial zum ausführen. Zum Programmieren aber lieber die early bindings anziehen die sind IMHO (für mich als nicht 10 Finger Tipper :sleep wesentlich schneller ------------------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 : Daten aus XML file importieren
DanielFr. am 14.09.2009 um 18:53 Uhr (0)
Hallo,ich gebe Zoltan recht. Mit VB.NET ist es keine große Sache da es eine eigene Klasse zum lesen und bearbeiten von XML Dokumenten bereitstellt. Mit CATvba sollte es auch gehen. Mit CATscript geht es zwar ist aber im Gegensatz zu VB.NET sehr umständlich ------------------MFG DanielSysteminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)
|
In das Form CATIA V5 Programmierung wechseln |