|
CATIA V5 Programmierung : Bei selection ersetzen
bgrittmann am 19.11.2009 um 19:35 Uhr (1)
ServusÜber den Index des "Item" ist IMHO ein Umweg.Versuch es mal so ungetestet:Code:Sub CATmain() Dim oDoc As Document Dim oProd As Product Dim oSel As Object Dim myType(0) Dim myStatus As String Dim Itemname As String Set oDoc = CATIA.ActiveDocument Set oProd = oDoc.Product Set oSel = oDoc.Selection oSel.Clear myType(0) = "Product" myStatus = oSel.SelectElement2(myType, "Bitte Part auswählen", True) If myStatus = "Normal" Then Part = oSel.Item(1).Val ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Item auslesen
bgrittmann am 19.11.2009 um 13:27 Uhr (0)
ServusUn was soll in deinem Beispielscript angezeigt werden? Ich vermute du meinst es so (ungetestet)Set Part = CATIA.ActiveDocument.Selection.Item(1).ValueMsgBox (Part.Name)GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Bei selection ersetzen
bgrittmann am 27.08.2020 um 13:05 Uhr (1)
Servus LionelDann musst du ReplaceComponent von der Products-Collection ausführen im dem sich das auszutauschende Teil befindet.Beispiel:Code:Sub CATMain() Dim oDoc As Document Dim oProducts As Products Dim oSel As Object Dim myType(0) Dim myStatus As String Dim oProductOld as Product Dim oProductNew as Product Set oDoc = CATIA.ActiveDocument Set oSel = oDoc.Selection oSel.Clear myType(0) = "Product" myStatus = oSel.SelectElement2(myType, "Bitte Part auswählen", True) If myStatus = "Normal" ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Verschibungen und Drehungen auslesen
bgrittmann am 24.11.2009 um 12:46 Uhr (0)
ServusWie, du programmierst ohne auf CATIA Zugriff zu haben? Die V5Automation.chm liegt im Programmverzeichnis von CATIA.GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA V5 Makro Aufzeichnung
bgrittmann am 28.02.2011 um 20:12 Uhr (0)
ServusDie Anzahl der offenen Dokumente bekommst du über:Catia.documents.countOb es sinnvoll ist über einer Schleife alle offenen Dokument zu schließen kann man streiten.Das Problem bei aufgezeichneten Makros ist immer, dass alle Features/Parameter mit Namen angesprochen werden.Deshalb fällt dein Makro auf die "Nase", da deine Stange ja nicht "Part1" heißt (Pfad des Parameters).IMHO wäre die einfachste/sauberste Lösung: ein Produkt mit allen Einzelteilen aufbauen und diese "Vorlage" beim Start öffnen. Die G ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA V5 Makro Aufzeichnung
bgrittmann am 28.02.2011 um 10:58 Uhr (0)
ServusAlso war die veränderte Ausgangssituation der Übeltäter. Was wirft aber folgende Fragen auf:- was passiert wenn diese Einstellung (des GeoSets) auf einem anderen Rechner nicht gestzt wurde?- wird das GeoSet überhaupt benötigt? - was ist wenn jemand Englisch als Sprache in CATIA eingeteilt hat- was passiert wenn am Anfang mehr als 10 Dokumente geöffnet sind (im speziellen wenn eins schon Part1 heißt)?- ....IMHO solltest du das Script durcharbeiten (und verstehen) um solche möglichen Probleme zu berein ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA V5 Makro Aufzeichnung
bgrittmann am 28.02.2011 um 10:19 Uhr (0)
ServusWenn es ohne "on error resume next" nicht funktioniert solltest du die Fehler untersuchen und beheben.Einfach darauf verlassen dass es jetzt läuft (ohne eine Erklärung zu haben) ist gefährlich. Was ist beim nächsten Start oder einem andern Rechner? Läuft es dann (speziell bei der Vorstellung des Skript gegenüber dem Prof)?GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA V5 Makro Aufzeichnung
bgrittmann am 27.02.2011 um 20:31 Uhr (0)
ServusBist du sicher dass das richtige Script durch den Button aufgerufen wird?Hast du mal das aufgezeichnete Makro mal versuch zu "lesen", mach das Script sinn?Sind die gleichen Anfangsbedingungen wie bei der Aufzeichnung des Scripts gegeben (zB Part geöffnet, ..)?Kannst du den Code zB für den Bolzen mal Posten?GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA V5 Makro Aufzeichnung
bgrittmann am 25.02.2011 um 12:52 Uhr (0)
ServusMüsst ihr unbedingt ein Makro für den Aufbau der Teile verwenden?Für mich hört sich das eher nach der Verwendung einer Konstruktionstabelle und weiteren Regeln an. Über eine Userform könnte man ggf noch die richtige "Baugröße" der Gelenkverbindung wählen (um auch ein Makro verwendet zu haben )GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA V5 Makro Aufzeichnung
bgrittmann am 25.02.2011 um 12:38 Uhr (0)
ServusFülle bitte deine Systemninfo aus.IMHO ist die Makroaufzeichnung maximal dafür sinnvoll, eine grobe Struktur aufzuzeichnen. Der Code sollte immer nach gebessert und vereinfacht (und ganz wichtig: verstanden) werden.Kannst du dienen Code mal posten, oder erklären was du vorhast?GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Bezugspunkt setzten
bgrittmann am 25.02.2011 um 11:02 Uhr (0)
ServusJa, man kann mit einer Schleife abfragen ob der Punkt/GeoSet schon vorhanden ist. Dazu diese umbenennen (damit einfacher darauf zugegriffen werden kann), diese über den Namen einem Objekt zuweisen. Falls der Punkt/GeoSet nicht vorhanden ist, kann man den Fehler abfangen und den Punkt/GeoSet erzeugen. zB:Code:Sub CATMain()Dim partDocument1 As PartDocumentDim part1 As PartDim hybridShapeFactory1 As HybridShapeFactoryDim hybridBodies1 As HybridBodiesDim Referenzkoord As HybridShapePointCoordDokument geö ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Aktives Part bzw. .InWorkObject in einem Produkt?
bgrittmann am 20.02.2011 um 12:58 Uhr (0)
ServusIch vermute du kommst mit den Selections durcheinander.Jedes Dokument hat seine eigene Selection.Zusätzlich muss beim Einfügen selektiert sein wo das Objekt eingefügt werden soll (bei dir die Skizze).Anbei ein Beispiel (1. Skizze im MainBody ist geöffnet beim Programmstart)Code:Sub CATMain()Dim PartDocument As DocumentDim DrawingDocument As DocumentDim PartSelection As SelectionDim DrwSelection As SelectionDim oPart As PartDim MainBody As BodyDim Skizze As SketchStartSet PartDocument = CATIA.ActiveDo ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Fix Together in einer Skizze
bgrittmann am 19.02.2011 um 15:55 Uhr (0)
ServusWenn du CATIA auf deutsch eingestellt hast musst du:CATIA.StartCommand ("Gruppieren")verwenden.Und hinterher über Sendkeys das Fenster wieder schließen?GrußBernd------------------Warum einfach, wenn es auch kompliziert geht.
|
In das Form CATIA V5 Programmierung wechseln |