|
CATIA V5 Programmierung : CATMultiSelTriggWhenUserValidatesSelection - Error in loading DLL
DanielFr. am 23.07.2012 um 09:10 Uhr (0)
Hallo,hast du mla unter Tools - Verweise nachgesehen ob der entsprechende Verweis als "MISSING" gekennzeichnet ist. Falls dies der Fall ist (z.B. weil der Verweis umgezogen wurde, das Projekt auf einem anderen Rechner erstellt wurde, etc.) musst du den Verweis explizit nachladen (auch über Tools - Verweise)------------------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 : Makro für Groups (DMU Navigator)
DanielFr. am 20.07.2012 um 15:26 Uhr (0)
Hallo,Code:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------Activate Component------------------------------------------------------------------------------------------------------Author: Daniel FrauenrathMail: daniel.frauenrath@gmail.comRelease: 20.07 ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATMultiSelTriggWhenUserValidatesSelection - Error in loading DLL
DanielFr. am 23.07.2012 um 10:08 Uhr (0)
Hallo,das ist ganz und gar nicht komisch. Das Ganze ist in einer Enumation nahmens CATMultiSelectionMode. Diese ist in die InfTypeLib.tlb zu findes. Die *.tlb Datei ist eine Typbibliothek (öffentliche Schnittstelle). D.h. du musst auch nach dem Verweis "InfTypeLib.tlb" suchen und diesen hinzufügen (VBA).Eine zweite Möglichkeit ist den direkten Wert (Long) zu überben. Hierzu muust du folgende Zeile so abändern:Code:oSel = UserSelektion.SelectElement3(filter, "Bitte selektieren Sie / ESC zum Abbrechen", True ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : leere Selektion definieren
DanielFr. am 23.07.2012 um 11:22 Uhr (0)
Hallo,das sieht ziemloch wirr aus. Wenn du mittels der Funktion .search suchst, dann werden alle Einträge auf die der Suchstring passt (Match) in die Collection des Suchobjekts (selection1) verschoben. Diese Kollektion (Collection) muss du mittels der Schleife durchlaufenBeispielhaft:selection1.Search "Generative Shape Design.Surface.Name=SplitSurface*"Do blubluLoop Until selection1.Items.Count = 0oder:Dim i as Longselection1.Search "Generative Shape Design.Surface.Name=SplitSurface*"For i =selection1.Item ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATMultiSelTriggWhenUserValidatesSelection - Error in loading DLL
DanielFr. am 23.07.2012 um 11:26 Uhr (0)
Hallo,dann versuche doch mal den Long-Wert zu übergeben. Jetzt noch die ausstehende Erklärung:Early Binding: Alle Objekte werden mit deren Expliziten Typ deklaratiert (z.B. Dim objSel as Selection)Late Binding: Alle Objekte werden mit dem Master-Objekt-TYp deklariert (z.B. Dim objSel as Object)In VBA benötigt man diese Art (Late Binding) von Deklarationen machmal da manche Funktionen der Objekte von VBA als restricted deklariert sind. Gibt es z.B. einmal ein CATIA Objekt und ein gleichnamiges VBA-Objekt ka ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Relativer Speicherort
DanielFr. am 24.07.2012 um 09:36 Uhr (0)
Hallo,naja da gibt es mehrer Möglichkeiten. Man könnte sich zum Beispiel den physikalischen Pfad des Root-Produkts (Kernprodukts) auslesen und dann speichern. Die Funktion .SaveAs unterstützt hierbei die Eingabe eines Dateinamens. Ergo könnte man mittels des FileSystemObjekts den Ordner zunächst nach Dateien durchsuchen die diesen Dateinamen bereits besitzen, diese in eine Collection nehmen und dann mittels .Count + 1 den Zähler setzen. Dieser wird im Anschluss an den Speichernamen angehängt (append).Du ka ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Relativer Speicherort
DanielFr. am 24.07.2012 um 12:00 Uhr (0)
Hallo,soweit ich das sehen kann übergibst du der Speicher-Funktion ja im Moment nur den Speichernamen des Produkts (Variable dbPath). Woher soll das Script den wissen in welchen physikalischen Pfad es die Datei ablegen soll.Wenn du eine Datei öffnest und diese mit File - Save speicherst dann popt das SaveAs Fenster aus in dem eine Benutzerinteraktion notwenidg ist (physikalischen Pfad auswählen).D.h. konkret: Du musst folgende Funktion durchführen (nur Schema)Start Funktion ZaehlenSuche in Ordner Dateiname ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : UUID erzeugen
DanielFr. am 27.07.2012 um 14:05 Uhr (0)
Hi,Die APIs gehen nur unter Windows. Warum baust du dir nichts eigenes. Soweit ich informiert bin gibt es eindeutige Konventionen zur Erzeugung einer UUID. Hierbei gibt es unterschiedliche Arten der ID. Ich denke am besten geeignet ist ein Mischung zwischen dem internen Namen von Catia zusammen mit einem eindeutigen Time-Stamp. Um dich abzusichern hängst du an jede ID noch eine zufällig generierte Zahl. Je höher die Anzahl der Stellen desto geringer die Wahrscheinlichkeit einer doppelten ID. Hier musst du ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : UUID erzeugen
DanielFr. am 27.07.2012 um 19:14 Uhr (0)
Hi,Ok klingt logisch. Aber ich denke in diesem Fall sollte man vielleicht Werbung im Bereich Crowdsourcing machen. Hier im Forum bist ja da richtig. Ich kann morgen mal anfangen zu versuchen die TickCounter vom Prozessor anzuzapfen. Das währe schon malmein Methode um die Millisekunden zu bekommen.Ich spiel mich mal ein bisschen und und stells dann rein.Ev. Hat ja noch einer Zeit den Code dann weiter zu optimieren. Du hast dann ein sehr gutes Ergebniss und bekommst dein Lob und das Forum kannst ja dann auch ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Dictionary im CATVBS unter UNIX
DanielFr. am 27.07.2012 um 19:29 Uhr (0)
Hi,Zitat:Wenn ihr was wisst, wie ich die Deklarationen behalten kann, das wär super.Dass sie CATVBS/CATScript zur Laufzeit eliminiert ist mir bewusst und egal, ich will nur den Code bei der Portierung nicht so viel anfassen müssen.Ich glaube das geht nicht da VBS ja einen eignen Interpreder mitliefert der das eben nicht unterstützt sondern seine Variablen selbst im Arbeitsspeicher anlegt / verwaltet.Aber du könntest es durch ein kleiner Textberbeitungsscript jagen und alles Deklarieren (split an Leerzeiche ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Dictionary im CATVBS unter UNIX
DanielFr. am 28.07.2012 um 11:45 Uhr (0)
Hi,genau das mit dem Replace ist noch besser. Wir könnten das auch mal zusammen im Forum machen. Was mir hierbei vorschwebt ist eine einfache txt Datei als Backbone in der die Zeichen / Zeichenketten stehen die ersetzt werden sollen. Das Script checkt den Code, passt ihn an VBS an und schreibt ihn selbstständig in eine CATvbs Datei (oder überschreibt eine vom User ausgewählt CATVbs Datei).------------------MFG DanielSysteminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normtei ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Flächenextract aus Solid mit Namen des Solid
DanielFr. am 28.07.2012 um 11:57 Uhr (0)
Hallo,was heißt es hängt sich auf? Es wird einen definierten Fehler (mit Fehlerbeschreibung und Fehlercode liefern) und sich nicht aufhängen!!!Aufhängen heißt das du keine Möglichkeit mehr hast einzugreifen (händisch oder per Script) und somit im letzen Fall den Prozess zerstören musst. Dies wird hier aber sicher nicht der Falls sein.Laufzeitausnahmen können mittels Laufzeitfehlerbehandlung abgehandelt werden. Ich schreibe hier mal ein Beispiel und du kannst versuchen es umzusetzen:Code:Sub CATMain()***DEK ...
|
In das Form CATIA V5 Programmierung wechseln |
 GetRndValue.catvbs.txt |
CATIA V5 Programmierung : UUID erzeugen
DanielFr. am 28.07.2012 um 14:53 Uhr (0)
Hallo zusammen,wie bereits gestern schon angemerkt hatte ich heute ein bisschen Zeit zu spielen. Anbei eine Routine zur Erzeugung einer Zufallszahl mit dem Format einer UUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).Es werden zunächst mit Hilfe des Zufallsgenerators zufälligen Zahlen zwischen 1 und 16 (Hex-System) erzeugt und in ein Array geschrieben. Dieses Array wird im Anschluß zufällig sortiert. Dies ergibt dann eine 32 stellige Zahl. Die Notation folgt im Hex / UUID Format.@Henry: Kannst du das mal auf n ...
|
In das Form CATIA V5 Programmierung wechseln |