Autor
|
Thema: Strukturbaum nach Alphabet sortieren? (11764 mal gelesen)
|
v5maler Mitglied
Beiträge: 96 Registriert: 16.12.2005
|
erstellt am: 14. Aug. 2009 10:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Gemeinde, gibt es eine Möglichkeit den Strukturbaum automatisch nach A-Z sortieren zu lassen? Wenn die Entwickler es mal schaffen im Fenster "Neuordnung des Grafikstrukturbaums" die Buttons "A-Z" und "Z-A" einzubauen gibts dreimal das Vater unser... Bin für jede Hilfe dankbar! ------------------ Es ist nichts zu dumm, es findet doch sein Publikum. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasacro Ehrenmitglied V.I.P. h.c. Ingenieur Anwendungsberater
Beiträge: 3719 Registriert: 12.05.2004 V4 V5 2016 - 2020 V6 2016x -2019x
|
erstellt am: 14. Aug. 2009 17:12 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi V5-Maler. Meinst du im Part oder im Product? Im Part macht es keinen Sinn, denn dort bedeutet die Reihenfolge der Features auch die Konstruktionsreihenfolge. Es macht dort also keinen Sinn, das "H"ole vor dessen "P"ad anzuordnen. Im Product bedeutet die Reihenfolge im Baum auch die Reihenfolge der Positionsnummern, die Catia automatisch für die Parts generiert. Ok, ich mag diese Nummerierungsstrategie auch nicht. Aber so machts unsere Französin halt... ------------------ gruß, Tom
[Diese Nachricht wurde von thomasacro am 14. Aug. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
v5maler Mitglied
Beiträge: 96 Registriert: 16.12.2005
|
erstellt am: 14. Aug. 2009 21:22 <-- editieren / zitieren --> Unities abgeben:
|
juergen_j Mitglied Konstrukteur, freiberuflich
Beiträge: 78 Registriert: 26.07.2004 Intel Core i7-2600 3400MHz 16Gb 1333MHz DDR3 NON-ECC CL9 PNY Quadro 4000 1GB GDDR5 PCI-E SSD 120GB SATA II SSD 200GB SATA II Windows 7 prof. 64bit Catia V5 R19 Sp09 Catia V5-6R2014 SP01 HF29 MD2 + CCV
|
erstellt am: 15. Aug. 2009 10:56 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hallo Zitat: Part macht ja überhaupt keinen Sinn...
Das würde ich so nicht unterschreiben. Wenn ich ein Part habe, in dem ich diverse Körper und Geometrische Sets angelegt habe, dann möchte ich diese manchmal schon gerne umsortieren. Analog dem verschieben der Parts in der Produktstruktur. Bisher habe ich allerdings noch keinen Befehl gefunden mit dem ich das erledigen kann. Was mich bei dem Part sortieren ziemlich nervt ist, daß man immer nur ein Part anwählen kann, und dieses dann im Strukturbaum hoch und runter clicken muss. Bei vielen Teilen im Produkt ist das verdammt lästig, ich würde mir wünschen das man mit gedrücktem Strg eine beliebige Anzahl Parts auswählen, und diese gemeinsam neu positionieren kann. Ich muss dazu sagen das ich noch mit R17 arbeite, vielleicht ist es in R19 bereits anders.
------------------
Gruss Jürgen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
v5maler Mitglied
Beiträge: 96 Registriert: 16.12.2005
|
erstellt am: 17. Aug. 2009 07:35 <-- editieren / zitieren --> Unities abgeben:
|
rough-tec Mitglied Konstrukteur
Beiträge: 387 Registriert: 19.04.2007 V5R16 SP5 V5R17 SP3 V5R19 SP3 NX5 *grr* WIN XP Prof SP3 DELL - NVIDIA Quadro 4000 12GB RAM 64bit
|
erstellt am: 17. Aug. 2009 09:05 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hallo Jürgen, Im Part kannst Du deine Bodies, bzw Sets folgendermassen sortieren: [URL=http://ww3.cad.de/foren/ubb/Forum139/HTML/003069.shtml][/URL] ------------------ Zu Risiken und Nebenwirkungen.. fragen Sie Ihren Admin oder schalten Sie den Rechner aus.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
v5maler Mitglied
Beiträge: 96 Registriert: 16.12.2005
|
erstellt am: 05. Jul. 2010 15:44 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 05. Jul. 2010 19:58 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Servus Per Makro sollte das gehen. Anbei ein Beispiel dass ich mal zusammenkopiert habe. Allerdings ist das Makro bei großen Baugruppen seeeehr langsam, da es die Neuordnung über "cut&paste" realisiert. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
v5maler Mitglied
Beiträge: 96 Registriert: 16.12.2005
|
erstellt am: 06. Jul. 2010 07:42 <-- editieren / zitieren --> Unities abgeben:
Wow, sehr gut! Es funktioniert, und erleichtert ein wenig diese doch stupide Arbeit. Könnte man vielleicht noch realisieren das er am Schluss dann noch alle Bedingungen mit ausblendet? ------------------ Es ist nichts zu dumm, es findet doch sein Publikum. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
v5maler Mitglied
Beiträge: 96 Registriert: 16.12.2005
|
erstellt am: 08. Jul. 2010 07:53 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmals, ich habe gemerkt das dass Skript mit den externen Referenzen irgendwie nicht klarkommt. Da kracht es kanz schön... Könnte das jemand vielleicht beheben? Ich bin in Sachen Quellcode nicht so fit. Bin für jede Hilfe dankbar! ------------------ Es ist nichts zu dumm, es findet doch sein Publikum. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 08. Jul. 2010 09:56 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Mich hat schon gewundert warum das Makros hier noch nicht bemängelt wurde. Klar ist es gut und die einzige stabilie Lösung, die mir einfällt, aber Durch Cut&Paste gibt's immer Probleme mit Referenzen und Links, da die "sortierten" Elemente als neue Elemente eingefügt werden. Ich glaube somit, dass sich das Problem noch eine Weile halten wird, da an der Automation-Schnittstelle dafür benötigte CATIA-Funktionen, wie Change GeoSet oder Parent nicht vorhanden sind. Lasse mich aber auch gern eines besseren belehren. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
v5maler Mitglied
Beiträge: 96 Registriert: 16.12.2005
|
erstellt am: 08. Jul. 2010 11:36 <-- editieren / zitieren --> Unities abgeben:
Nun: cut&paste zerstört die externen Referenzen. Würde denn ein copy&paste und anschließend löschen funktionieren? *bibber* PS: Ist es überhaupt möglich einen kaputten externen Link zu reparieren? ------------------ Es ist nichts zu dumm, es findet doch sein Publikum. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shoutz000 Mitglied Techn. Produktdesigner
Beiträge: 168 Registriert: 19.08.2013 CatiaV5 R19 CatiaV5 R24 Windows 7 Professional
|
erstellt am: 25. Mrz. 2016 22:40 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi ich benutze das Makro jetzt schon inzwischen recht lang und finde das es ein der besten Lösungen ist. Jetzt bin ich zur Zeit dabei alle Makros die ich geschrieben und gesammelt habe zu einer VBA-Sammlung zusamen zu stellen. Das ist einfacher zum Handhaben und Funktionen können immer wieder abgerufen werden usw. Vieles war ursprünglich CATScript. Inzwischen läuft alles außer das Sortiermakro... Wie bekomme ich das in VBA zum laufen? Aufhängen tut er sich bei "Product_Collection.sort" (Nach Product_Collection. schlägt mir VBA nur .add / .remove usw vor. Kein .sort) Und VBA kommt mit der "class Collection" nicht klar. Ich habe leider keinen Ansatz. Ich kann mit der class Collection allerdings auch nicht sonderlich viel anfangen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 25. Mrz. 2016 22:58 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi shoutz, meinst Du sowas...? http://catia2.cad.de/index.php/de/downloads/skripts-applikationen/210-prodkt-sortieren Ist allerdings eine .exe. In ein VBA-Modul kommt dann der Aufruf, zB: Code:
Private Const SW_SHOWNORMAL As Long = 1 Private Const SW_SHOWMAXIMIZED As Long = 3 Private Const SW_SHOWDEFAULT As Long = 10Private Declare Function ShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" _ (ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Sub catmain() ShellExecute 0, "open", "E:\Catia_Files\Makros\MyMacros\ProdSort\ProdSortNoOcx.exe", "-c", ".", SW_SHOWNORMAL ' ShellExecute 0, "open", "notepad", "", ".", SW_SHOWNORMAL End Sub
Den Pfad musst halt noch anpassen. Tschau, Joe PS: Vielleicht ist das auch noch interessant für Dich: http://catia2.cad.de/index.php/de/downloads/skripts-applikationen/398-instanceequalname-instanzen-an-produktnamen-angleichen ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shoutz000 Mitglied Techn. Produktdesigner
Beiträge: 168 Registriert: 19.08.2013 CatiaV5 R19 CatiaV5 R24 Windows 7 Professional
|
erstellt am: 28. Mrz. 2016 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi joehz, vielen Dank für deine Antwort. Aber sowas suche ich nicht. Ein Makro um die InstanceNames anzupassen habe ich bereits schon selber eines geschrieben. Ich möchte gerne das Makro um das es hier ging im VBA zum laufen bekommen, da ich alle Makros in diesem einen großen VBA-Makro haben möchte ohne externe Daten verwenden zu müssen (gerade auch um das Makro unseren Zulieferern einfach geben zu können und die dann direkt damit arbeiten können). Die exe kenne ich bereits und es ist der Horror wie langsam das läuft. Keine Ahnung ob das an unserem System liegt, aber das CATScript läuft enorm schnell durch und bei der exe kann man dabei zu sehen wie ein Teil selektiert wird und dann nach ein paar Sekunden verschoben wird. Also eine Testbaugruppe mit 50 Teilen ohne enthaltene Geometrie oder so also wirklich komplett leer hat knapp 15 Minuten gebraucht... Es war sogar egal ob ich über den Server oder lokal gearbeitet habe. Mit der Geschwindigkeit können wir auf jeden Fall nicht damit arbeiten. Daher der Wunsch das CATScript unter VBA zum laufen zu bekommen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Mrz. 2016 17:24 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Servus Die exe-Anwendung läuft zwar langsam, zerschießt dir aber zumindest keine externen Referenzen oder wiederverwendeten Muster. Um mein "Bastel-Makro" in ein VBA zu bekommen musst du den Namen der Klasse ändern (Collection gibt es schon im VBA-Kontext) und wahrscheinlich auch in einer "Class" (also nicht Modul) auslagern. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 28. Mrz. 2016 17:48 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Zitat:
Ich möchte gerne das Makro um das es hier ging im VBA zum laufen bekommen
Was machst Du mit den (zerstörten)Links? Zitat:
Also eine Testbaugruppe mit 50 Teilen ohne enthaltene Geometrie oder so also wirklich komplett leer hat knapp 15 Minuten gebraucht...
Die (einstellbare!) Verzögerung ist abhängig von der Anzahl der Bauteile. Der voreingestellte Wert ist eher konservativ. Dadurch dass ich - um die Links zu erhalten - die notwendigen Clicks im Dialog simuliere, muss ich zwischen den Clicks auf den Dialog warten(das Scrollen der Liste). Bei 300 Teilen und den voreingestellten Werten dauert das Zurückschreiben ca. 40 Minuten. Zitat:
Mit der Geschwindigkeit können wir auf jeden Fall nicht damit arbeiten.
Lass es halt in der Mittagspause laufen. Unter Missachtung meiner eigenen Anforderungen: Probier's mal so:
Code:
Sub CATMain() Dim arrProds() Dim i As Integer 'Abfrage Dokumente If CATIA.Windows.Count = 0 Then MsgBox "Es ist kein Dokument geladen!" + Chr(10) + _ "Das Makro kann nicht ausgeführt werden und wird beendet!", vbCritical, "Keine Dokument geladen" Exit Sub End If Set Dokument = CATIA.ActiveDocument If TypeName(Dokument) <> "ProductDocument" Then MsgBox "Das aktiv geladen Dokument ist KEIN CATProduct!" + Chr(10) + _ "Bitte aktivieren sie ein CATProduct und starten sie das Makro erneut!", vbExclamation, "Abbruch falscher Dateityp" Exit Sub End If' Set Product_Collection = New Collection Set Produkte = Dokument.Product.Products For Each Product In Produkte ReDim Preserve arrProds(i) arrProds(i) = Product.Name i = i + 1 Next sort arrProds Set oSel = Dokument.Selection oSel.Clear For i = 0 To UBound(arrProds) oSel.add Produkte.Item(arrProds(i)) oSel.Cut oSel.Clear oSel.add Dokument.Product oSel.Paste oSel.Clear Next End Sub 'Class Collection ' ' private Array() ' Sub class_initialize() ' 'Array mit 1 (leeren) Datenfeld anlegen' ' Redim Array(0) ' ' End Sub ' 'Elemat am Ende des Arrays hinzufügen (automatische erweitern)) ' Public Sub add(Datenfeld) ' ' Index = Ubound(Array) ' ReDim preserve Array((Index+1)) ' Array(Index+1) = Datenfeld ' ' End Sub ' 'Datenfeld ausgeben ' Public Function Item(Index) ' 'Überprüfen: Index zu hoch? Index 0 ist leer' ' If (Index <= 0 And Index > UBound(arrArray)) Then ' Item = "ungültiger Index" ' Else ' Item = Array(Index) ' End If ' End Function 'den Array aufsteigend sortieren' Sub sort(arrArray) 'Bubblesort For i = 0 To UBound(arrArray) For U = i To UBound(arrArray) If arrArray(i) > arrArray(U) Then 'temp-Variable schreiben, danach austauschen temp = arrArray(i) arrArray(i) = arrArray(U) arrArray(U) = temp End If Next Next End Sub ' ' Public Function Count() ' Count = Ubound(Array) ' End Function ' 'end class
Ich hab die Klasse rausgeworfen. Ausputzen darfst selber. Tschau, Joe
------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 28. Mrz. 2016 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
|
shoutz000 Mitglied Techn. Produktdesigner
Beiträge: 168 Registriert: 19.08.2013 CatiaV5 R19 CatiaV5 R24 Windows 7 Professional
|
erstellt am: 03. Apr. 2016 14:44 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi Vielen Danke für Eure Beiträge. Ich werde mich jetzt erstmal nicht mehr darum kümmern können. Ich stecke jetzt erstmal wieder 3 Monate in der Theoriephase fest. Ich nehme mich dem Thema dann wieder an sobald ich wieder im Geschäft bin und melde mich dann zurück. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
madhya Mitglied Administrator
Beiträge: 61 Registriert: 19.02.2001 Windows 7 64-bit Catia V5-6 R2014 Robcad / PSimulate AutoCAD
|
erstellt am: 06. Apr. 2016 11:36 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hallo joehz, zuerst einmal ein großes Dankeschön für die gelungene Arbeit. Die Version 1.1.9 kann ich problemlos aufrufen, funktioniert auch. Bei der neuen Version 1.3.2 kommt es leider zur Problemmeldung: No.ocx funktioniert nicht mehr. Gibt es etwas man bei der neuen Version berücksichtigen muss? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 06. Apr. 2016 12:10 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
|
madhya Mitglied Administrator
Beiträge: 61 Registriert: 19.02.2001 Windows 7 64-bit Catia V5-6 R2014 Robcad / PSimulate AutoCAD
|
erstellt am: 06. Apr. 2016 15:23 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hallo joehz! Die .exe-Datei wird über catvbs aufgerufen:
Sub CATMain() CATIA.SystemService.ExecuteBackgroundProcessus("C:\V5_64bit\....\BASE\ProdSort_noocx.exe") End Sub Danach unter Catia das "Graph tree reordering" Das Fenster "ProdSort_noocx V1.3.2" wird dargestellt. Wenn man anschließend auf den Button "ReadList" drückt, kommt die Fehlermeldung. Catia V5-6 R2014 unter Betriebssystem Windows 7-64 Bit Professional; Wie bereits gesagt, unter alter Version hat es noch funktioniert. Ich hoffe, ich konnte soweit alles richtig darstellen. Danke Vielmals schon im Voraus!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 06. Apr. 2016 15:36 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi madhya, - unter V5R24 hab ich's nicht getestet. - den Ablauf hab ich mit Version 1.2 abgeändert. Du brauchst jetzt nicht mehr den 'Reorder'-Dialog starten. Das macht das Makro (und gibt zZt einen Fehler aus, wenn der 'Reorder'-Dialog schon geöffnet ist). Nur ein Produkt aktivieren(Icons für Copy/Paste leuchten auf) und auf 'Read List' klicken Frage: Läuft Version 1.19 auch unter V5R24? Tschau, Joe ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
madhya Mitglied Administrator
Beiträge: 61 Registriert: 19.02.2001 Windows 7 64-bit Catia V5-6 R2014 Robcad / PSimulate AutoCAD
|
erstellt am: 06. Apr. 2016 16:52 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
|
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 06. Apr. 2016 17:26 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
|
madhya Mitglied Administrator
Beiträge: 61 Registriert: 19.02.2001 Windows 7 64-bit Catia V5-6 R2014 Robcad / PSimulate AutoCAD
|
erstellt am: 06. Apr. 2016 17:46 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
ne joehz, auch unter R19 funktioniert die V1.32 bei mir nicht. Es kommt zur gleichen Fehlermeldung. Außerdem wird komischerweise das Customize-Fenster dabei geöffnet. Wenn es bei Dir funktioniert, liegt es höchst wahrscheinlich an meiner Windows -oder Catia-Installation. Danke für die Mühe!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 06. Apr. 2016 17:55 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
|
madhya Mitglied Administrator
Beiträge: 61 Registriert: 19.02.2001 Windows 7 64-bit Catia V5-6 R2014 Robcad / PSimulate AutoCAD
|
erstellt am: 06. Apr. 2016 19:02 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
|
shoutz000 Mitglied Techn. Produktdesigner
Beiträge: 168 Registriert: 19.08.2013 CatiaV5 R19 CatiaV5 R24 Windows 7 Professional
|
erstellt am: 06. Apr. 2016 19:33 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hallo joehz, also bei mir läuft die exe unter R19 und R24 fehlerfrei und jetzt wirklich sehr schnell (manuell gestartet). Echt super Die .bas und .frm Dateien sind doch dafür da, um es in einem VBA ohne die exe nutzen zu können oder? Die Module kann ich im VBA Explorer einfügen. Die .frm ergibt allerdings eine Fehlermeldung, dass der Editor die Datei nicht lesen kann?! Oder sehe ich das falsch? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 06. Apr. 2016 20:11 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
@ shoutz: Zitat:
also bei mir läuft die exe unter R19 und R24 fehlerfrei und jetzt wirklich sehr schnell (manuell gestartet). Echt super
Danke für die Rückmeldung! Und die Blumen :-) Code:
Die .bas und .frm Dateien sind doch dafür da, um es in einem VBA ohne die exe nutzen zu können oder?
Nicht ganz. Das sind die VB6 - Quelldateien. Die Form ist auch keine UserForm. @madhya: Was ich sicher sagen kann, ist, dass die Fehlermeldung nicht vom Makro stammt. Was ihn aber auslöst, weiss ich auch nicht. Die Makros unterscheiden sich nicht so stark. Vielleicht hilft Dir das weiter: https://support.microsoft.com/de-de/kb/2694911 Tschau, Joe ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shoutz000 Mitglied Techn. Produktdesigner
Beiträge: 168 Registriert: 19.08.2013 CatiaV5 R19 CatiaV5 R24 Windows 7 Professional
|
erstellt am: 07. Apr. 2016 18:51 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
|
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 07. Apr. 2016 20:56 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi shoutz, leg Dir in einer VBA-Bibliothek ein Modul, zB. 'modCallProdSort', an mit folgendem Inhalt:
Code:
Private Const SW_SHOWNORMAL As Long = 1 Private Const SW_SHOWMAXIMIZED As Long = 3 Private Const SW_SHOWDEFAULT As Long = 10Private Declare Function ShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" _ (ByVal hWnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Sub CATMain() ShellExecute 0, "open", _ "E:\Catia_Files\Makros\MyMacros\ProdSort\ProdSortnoocx.exe", _ "", ".", SW_SHOWNORMAL End Sub
Den Pfad in der ShellExecute-Anweisung musst natürlich noch an Deine Umgebung anpassen. Weitere Hilfestellung hier: http://catia2.cad.de/index.php/de/tipps-tricks/programmierung/207-makro-per-tastenkombination-starten http://catia2.cad.de/index.php/de/catia-faq/programmierung/73-makros-als-icons-ablegen http://catiadoc.free.fr/online/basug_C2/basugcu0100.htm Tschau, Joe ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shoutz000 Mitglied Techn. Produktdesigner
Beiträge: 168 Registriert: 19.08.2013 CatiaV5 R19 CatiaV5 R24 Windows 7 Professional
|
erstellt am: 07. Apr. 2016 21:08 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
|
shoutz000 Mitglied Techn. Produktdesigner
Beiträge: 168 Registriert: 19.08.2013 CatiaV5 R19 CatiaV5 R24 Windows 7 Professional
|
erstellt am: 09. Apr. 2016 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi joehz, den Aufruf der .exe. habe ich umgeschrieben, da er nur unter 32bit lief. So läuft er nun auch unter 64bit: Private Const SW_SHOWNORMAL As Long = 1 Private Const SW_SHOWMAXIMIZED As Long = 3 Private Const SW_SHOWDEFAULT As Long = 10 Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" _ (ByVal hWnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As LongPtr Die .exe funktioniert leider doch nicht (nicht überall). Programmiert habe ich an einem PC bei dem Catia komplett lokal installiert war und direkt gestartet wurde. An den normalen Arbeitsplätzen hängt sich die .exe allerdings immer auf (R19 und R24). Der Unterschied besteht hier lediglich darin, dass Catia über einen Lizenzmanager (OEM- und Lizenzauswahl)gestartet wird. Ist aber auch weiterhin lokal installiert. Dürfte eigentlich keine Auswirkungen haben denke ich... Meine einzige Idee ist, dass die .exe vielleicht auch nur unter 32bit läuft?! Kann das sein? Ps. Die Fehlermeldung ist die Selbe wie bei madhya. Bei mir geht allerdings das Customice-Fenster nicht auf! Ob die älteren Verionen bei uns laufen kann ich nicht sagen?!
[Diese Nachricht wurde von shoutz000 am 09. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 09. Apr. 2016 11:31 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
|
shoutz000 Mitglied Techn. Produktdesigner
Beiträge: 168 Registriert: 19.08.2013 CatiaV5 R19 CatiaV5 R24 Windows 7 Professional
|
erstellt am: 10. Apr. 2016 21:45 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi, Ja das habe ich mit 32/64bit gemeint War aber auch schlecht geschrieben... So prüfe ich in welcher VBA-Version gearbeitet wird und arbeite mit der entsprechenden Function. Läuft so also mit VB6 und VB7: ' Prüfen in welche VBA-Version gearbeitet wird. Eine Declare Function darf rot sein. ' Dies hat keine Fehler zur Folge! #If VBA7 Then ' VBA 7 Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" _ (ByVal hWnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As LongPtr #Else ' VBA 6 Private Declare Function ShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" _ (ByVal hWnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long #End If Unsere Umgebungen sind alle auf Englisch. V5R19 VB6 V5R24 VB7
Zitat:
- sind die VB6 Runtime dlls installiert?
Kann ich nicht sagen?! Das ist Adminsache bei uns. [Diese Nachricht wurde von shoutz000 am 10. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 11. Apr. 2016 17:11 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi shoutz, also zusammenfassend lässt sich sagen: Einerseits ..
Zitat:
also bei mir läuft die exe unter R19 und R24 fehlerfrei und jetzt wirklich sehr schnell (manuell gestartet). Echt super
aber dann andererseits ... Zitat:
An den normalen Arbeitsplätzen hängt sich die .exe allerdings immer auf (R19 und R24).
Und jetzt soll ich Dir sagen wodurch sich die zwei Installationen unterscheiden? Was sagt denn eure IT dazu? Tschau, Joe ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shoutz000 Mitglied Techn. Produktdesigner
Beiträge: 168 Registriert: 19.08.2013 CatiaV5 R19 CatiaV5 R24 Windows 7 Professional
|
erstellt am: 27. Jun. 2016 07:22 <-- editieren / zitieren --> Unities abgeben: Nur für v5maler
Hi bin wieder zurück :-) Also der PC bei dem es lief war ein Test-PC bei dem Catia eben direkt gestartet wurde ohne Lizenzmanager für die jeweiligen OEM-Umgebungen. Da ging es nur darum zu schauen ob wir mit der Leistung zufrieden sind. Bei den richtigen Arbeitsplätzen wird Catia ganz normal über einen Lizenzmanager gestartet. Die Installationen und soweiter sind laut Admin alle auf dem neuesten Stand. Daher keine Ahnung woran es liegt. Cool dass es jetzt so schnell läuft aber wir werden dann wohl weiterhin das Makro nutzen oder manuell klicken... Aber trotzdem vielen Dank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |