Autor
|
Thema: Ausführen einer PowerCopy unter VBA (8443 mal gelesen)
|
Bernod Mitglied
Beiträge: 40 Registriert: 03.03.2010
|
erstellt am: 19. Apr. 2010 14:58 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte ein Makro mit catvba erstellen, welches eine PowerCopy ausführt und den Benutzer dazu auffordert die Input-Geometrie selber zu selektieren. Bisher sieht mein Code wie folgt aus: ################################################################## Sub CATMain() Dim PartDocumentDest As PartDocument Set PartDocumentDest = CATIA.ActiveDocument Dim myPart As Part Set myPart = PartDocumentDest.Part Dim myFactory As InstanceFactory Set myFactory = myPart.GetCustomerFactory("InstanceFactory") myFactory.BeginInstanceFactory "PowerCopyName", "C:\TEMP_MAKRO\DateiName.CATPart" myFactory.BeginInstantiate 'Auswahl festlegen ----------------------------------------------- Dim Filter(0) Filter(0) = "Point" 'Selektion definieren und leeren --------------------------------- Dim UserSel As Object Set UserSel = CATIA.ActiveDocument.Selection UserSel.Clear 'Selection vornehmen lassen -------------------------------------- Dim Punkt As String Punkt = UserSel.SelectElement2(Filter, "Bezugspunkt oben waehlen.", False) 'Selektierte Geometrie an die PowerCopy senden -------------------- myFactory.PutInputData "INPUT_Bezugspunkt_oberes_Ende", Punkt <== Hier Fehler: Type mismatch '------------------------------------------------------------------ Dim param1 As Parameter Set param1 = myFactory.GetParameter("Hoehe") param1.ValuateFromString ("400mm") '------------------------------------------------------------------ Dim Instance As ShapeInstance Set Instance = myFactory.Instantiate '----------------------------------------------------------------- myFactory.EndInstantiate '------------------------------------------------------------------ myFactory.EndInstanceFactory '------------------------------------------------------------------ myPart.Update End Sub ################################################################## Weiß jemand weiter? Danke und Gruß, Bernod [Diese Nachricht wurde von Bernod am 19. Apr. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 19. Apr. 2010 15:28 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
|
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 19. Apr. 2010 15:34 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Hallo , in folgender Zeile Code: Dim Punkt As String Punkt = UserSel.SelectElement2(Filter, "Bezugspunkt oben waehlen.", False)
weißt du der Variablen "Punkt" einen String zu. Dieser String stellt nur die Rückgabe der Selektion dar (d.h. hat der Anwender die Selektion erfolgreich abgeschlossen, oder abgebrochen, etc.) Die Methode PutInputData will als Übergabe einen String = Name und das OBJEKT Du musst dir also zuerst einmal das selektierte Punktobjekt holen und dieses im Anschluss an die Methode übergeben. Hier mal ein Beispiel: Code:
Sub CATMain() Dim PartDocumentDest As PartDocument Set PartDocumentDest = CATIA.ActiveDocumentDim myPart As Part Set myPart = PartDocumentDest.Part Dim myFactory As InstanceFactory Set myFactory = myPart.GetCustomerFactory("InstanceFactory") myFactory.BeginInstanceFactory "PowerCopyName", "C:\TEMP_MAKRO\DateiName.CATPart" myFactory.BeginInstantiate 'Auswahl festlegen ----------------------------------------------- Dim Filter(0) Filter(0) = "Point" 'Selektion definieren und leeren --------------------------------- Dim UserSel As Object Set UserSel = CATIA.ActiveDocument.Selection UserSel.Clear 'Selection vornehmen lassen -------------------------------------- Dim intSelAbfrageStr As String Dim intPointObj as Object intSelAbfrageStr = UserSel.SelectElement2(Filter, "Bezugspunkt oben waehlen.", False) If intSelAbfrageStr = "Normal" then Set intPointObj = UserSel.Item(1).Value ENd If 'Selektierte Geometrie an die PowerCopy senden -------------------- myFactory.PutInputData "INPUT_Bezugspunkt_oberes_Ende", Punkt <== Hier Fehler: Type mismatch '------------------------------------------------------------------ Dim param1 As Parameter Set param1 = myFactory.GetParameter("Hoehe") param1.ValuateFromString ("400mm") '------------------------------------------------------------------ Dim Instance As ShapeInstance Set Instance = myFactory.Instantiate '----------------------------------------------------------------- myFactory.EndInstantiate '------------------------------------------------------------------ myFactory.EndInstanceFactory '------------------------------------------------------------------ myPart.Update End Sub
------------------ MFG Daniel Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernod Mitglied
Beiträge: 40 Registriert: 03.03.2010
|
erstellt am: 19. Apr. 2010 15:57 <-- editieren / zitieren --> Unities abgeben:
Ihr seid HELDEN! Vielen Dank! Besonders für deine Erklärung, Daniel. Erst jetzt habe ich verstanden was die Zeile ---- intSelAbfrageStr = UserSel.SelectElement2(Filter, "Bezugspunkt oben waehlen.", False) ---- bewirkt. Das Makro funktioniert nun wie es soll. Nochmals tausend Dank! Gruß, Bernod Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tolo Mitglied Konstrukteur
Beiträge: 91 Registriert: 11.04.2007 NX 11.0
|
erstellt am: 21. Apr. 2010 17:05 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Hallo Ihr Beiden, ich habe das Ganze für meine Zwecke umgeschrieben, habe aber Probleme bei der Auswahl bzw. Weitergabe der Referenzen. Ich habe eine PowerCopy definiert mit zwei Referenzkanten (Körperkanten oder Achsen eines Koordinatensystems). Diese heißen im Input Referenzkante_vertikal bzw _horizontal oder im Orginal Edge3 und Edge4. Weder Körperkanten noch Achsen lassen sich mit den bekannten Filtern (zB. Point), sondern nur mit AnyObject auswählen. Aber spätestens bei der Weitergabe an die PowerCopy ist dieser Typ nicht mehr zulässig. Könnt Ihr mir hier weiterhelfen? Danke Hier der Codeausschnitt: 'Auswahl festlegen ----------------------------------------------- Dim Filter(9) Filter(0) = "Point2D" Filter(1) = "Point" Filter(2) = "Line2D" Filter(3) = "Line" Filter(4) = "Circle2D" Filter(5) = "Plane" Filter(6) = "HybridShapeConnect" Filter(7) = "Spline2D" Filter(8) = "PlanarFace" Filter(9) = "AnyObject"
'Selektion definieren und leeren --------------------------------- Dim UserSel As Object Set UserSel = PartDocumentDest.Selection UserSel.Clear 'Selection vornehmen lassen -------------------------------------- Dim intSelAbfrageStr As String Dim intLineObj As Object intSelAbfrageStr = UserSel.SelectElement2(Filter, "Referenzkante vertikal waehlen.", False) If intSelAbfrageStr = "Normal" Then Set intLineObj(1) = UserSel.Item(1).Value End If 'Selektierte Geometrie an die PowerCopy senden -------------------- Factory.PutInputData "Referenzkante_vertikal", AnyObject UserSel.Clear
intSelAbfrageStr = UserSel.SelectElement2(Filter, "Referenzkante horizontal waehlen.", False) If intSelAbfrageStr = "Normal" Then Set intLineObj(2) = UserSel.Item(1).Value End If 'Selektierte Geometrie an die PowaerCopy senden -------------------- Factory.PutInputData "Referenzkante_horizontal", AnyObject UserSel.Clear Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernod Mitglied
Beiträge: 40 Registriert: 03.03.2010
|
erstellt am: 21. Apr. 2010 17:24 <-- editieren / zitieren --> Unities abgeben:
Hallo, in der Zeile 19 hattest du dein Objekt als einfaches Objekt deklariert, in den Zeilen 22 und 29 verwendest du dies aber als Array (glaube das nennt man so). Ich glaube das kannst du so nicht machen. Probier hier 2 verschiedene Variablen zu verwenden. Diese Variablen übergibst du dann auch an die PowerCopy (siehe Zeile 25 und 32). So sollte es funktionieren -->
Code: 1 'Auswahl festlegen ----------------------------------------------- 2 Dim Filter(9) 3 Filter(0) = "Point2D" 4 Filter(1) = "Point" 5 Filter(2) = "Line2D" 6 Filter(3) = "Line" 7 Filter(4) = "Circle2D" 8 Filter(5) = "Plane" 9 Filter(6) = "HybridShapeConnect" 10 Filter(7) = "Spline2D" 11 Filter(8) = "PlanarFace" 12 Filter(9) = "AnyObject"13 'Selektion definieren und leeren --------------------------------- 14 Dim UserSel As Object 15 Set UserSel = PartDocumentDest.Selection 16 UserSel.Clear 17 'Selection vornehmen lassen -------------------------------------- 18 Dim intSelAbfrageStr As String 19 Dim intLineObj_1, intLineObj_2 As Object 20 intSelAbfrageStr = UserSel.SelectElement2(Filter, "Referenzkante vertikal waehlen.", False) 21 If intSelAbfrageStr = "Normal" Then 22 Set intLineObj_1 = UserSel.Item(1).Value 23 End If 24 'Selektierte Geometrie an die PowerCopy senden -------------------- 25 Factory.PutInputData "Referenzkante_vertikal", intLineObj_1 26 UserSel.Clear
27 intSelAbfrageStr = UserSel.SelectElement2(Filter, "Referenzkante horizontal waehlen.", False) 28 If intSelAbfrageStr = "Normal" Then 29 Set intLineObj_2 = UserSel.Item(1).Value 30 End If 31 'Selektierte Geometrie an die PowaerCopy senden -------------------- 32 Factory.PutInputData "Referenzkante_horizontal", intLineObj_2 33 UserSel.Clear
[Diese Nachricht wurde von Bernod am 21. Apr. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Ehrenmitglied V.I.P. h.c. Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 22. Apr. 2010 10:35 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
|
tolo Mitglied Konstrukteur
Beiträge: 91 Registriert: 11.04.2007
|
erstellt am: 22. Apr. 2010 14:07 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Hallo Ihr Beiden, VIELEN DANK. Kaum machts man richtig gehts auch schon. Klappt alles wie gewünscht. zur Frage von DanielFr.: Ich habe da nur experimentiert und das sind alle Filter, die in meinem Buch dokumentiert sind. Ich hatte es auch schon mal mit Edge oder Edges probiert, aber dass hat aus welchem Grund auch immer nicht geklappt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
weylin Mitglied
Beiträge: 25 Registriert: 16.06.2010 Catia V5 R18 Win 7 Core 2 Quad 2,4 Ghz
|
erstellt am: 16. Jun. 2010 16:35 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Hallo, ich hab ein ähnliches Problem: Code: Sub CATMain()Dim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocument Dim part1 As Part Set part1 = partDocument1.Part Dim Factory As InstanceFactory Set Factory = part1.GetCustomerFactory("InstanceFactory") Factory.BeginInstanceFactory "PowerCopy1", "C:\TEMP\Ring.CATPart" '"PowerCopy1" ist mein Name der Powercopy in der Ring.catpart-dateil 'Und bei obiger Zeile kommt Laufzeitfehler '-2147467259 (80004005)': 'Die Methode 'BeginInstanceFactory' für das Objekt 'InstanceFactory' ist fehlgeschlagen Factory.BeginInstantiate End Sub
Ziel ist es erstmal ein bestimmtes PowerCopy-Fenster zu öffnen Inputdaten kommen später. Weis nicht wo mein Fehler liegt wäre für Hilfe sehr dankbar. Viele grüße Weylin P.S. Benutze Catia V5 R18. Lizenz sollte kein Problem sein, da ich auch UDFs erstellen kann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11961 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 16. Jun. 2010 17:01 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Servus Willkommen im Forum. Bitte Systeminfo ausfüllen. Bei mir läuft der Code durch. Sicher dass Pfad, Dateinamen und Powercopy-Namen stimmen? Ist bei dir ein Part geöffnet? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
weylin Mitglied
Beiträge: 25 Registriert: 16.06.2010 Catia V5 R18 Win 7 Core 2 Quad 2,4 Ghz
|
erstellt am: 16. Jun. 2010 17:32 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Danke für deine schnelle Antwort, ich habe die Systeminfo hinzugefügt. Also bei mir kommt weiterhin der Fehler. Pfadname stimmt und Dateiname auch. Powercopy name ist doch der Name, den die Powercopy in der Datei (bei mir Ring.catpart) hat ? Eine (leere Part-)Datei ist auch geöffnet. Wenn der Code bei dir durchläuft: Passiert bei dir etwas ? also öffnet sich das Einfüge-Fenster von der Powercopy zum Eingeben der Inputs ? Oder passiert einfach gar nichts. Edit: Wenn ich Catia schließe, wieder öffne und dann den Code laufen lass kommt bei mir auch kein Fehler. Es passiert allerdings auch nichts. Wenn ich den Code erneut ausführe kommt der besagte Fehler. Ich denk, dass der Befehl Factory.EndInstanceFactory fehlt um das ganze abzuschließen und ein erneutes aufrufen des Makros zu ermöglichen. Aber ich hätte gedacht, das der Code mir meine PowerCopy Einfügt und mich dann die Inputs auswählen lässt. Was muss ich ändern, damit das passiert ? Weil im Mom ist der Effekt ja quasi gleich Null. [Diese Nachricht wurde von weylin am 16. Jun. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11961 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 16. Jun. 2010 18:37 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Servus Ich vermute, dass beim Aufrufen der PowerCopy über VB das Fenster nicht geöffnet wird, sondern alle Inputs per Script zugewiesen werden müssen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. 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: 17. Jun. 2010 09:27 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Hallo Bernd, deine Vermutung ist richtig. Dialoge gibt's nur, wenn man Commands mit StartCommand ausführt, da dies wie eine Userinteraktion ist. In der Automation ist es jedoch vorgesehen noch weiter zu automatisieren, wo Dialoge stören würden. ------------------ 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 [Diese Nachricht wurde von HoBLila am 17. Jun. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roccat Mitglied Konstrukteur
Beiträge: 172 Registriert: 19.02.2010 WinXP/Win7 Office XP/2007 Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR VB .Net 2010
|
erstellt am: 17. Jun. 2010 13:00 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Hallo weylin, zum ausführen einer Powercopy benötigst du die KT1 Lizenz (evtl. PX1 ???), solltest du diese nicht haben, kommt ein Fehler bei "MyFactory.BeginInstanceFactory". Hab mal denn folgenden Code bissl ausgedünnt, hab´s jetzt aber nicht nochmal getestet. Sollte aber noch alles Wesentliche enthalten. mfG Mario Option Explicit Sub CATMain() 'KT1 Lizenz wird benötigt 'ansonsten Fehler bei "MyFactory.BeginInstanceFactory sPcobj, sPcPath & sPcDoc" '=>ROCCAT<= Dim MyPartDocument As PartDocument Dim MyPart As Part Dim MyFactory As InstanceFactory Dim MyInstance 'As PartInstance Dim MyPoint As Object Dim sPcobj As String Dim sPcPath As String Dim sPcDoc As String 'PowerCopyParameter sPcobj = "PC_GBeispiel" sPcPath = "C:\BeispielOrdner\" sPcDoc = "PC_Beispiel.CATPart" 'Aktuelles Part holen Set MyPartDocument = CATIA.ActiveDocument Set MyPart = MyPartDocument.Part 'Factory starten Set MyFactory = MyPart.GetCustomerFactory("InstanceFactory") MyFactory.BeginInstanceFactory sPcobj, sPcPath & sPcDoc MyFactory.BeginInstantiate 'Inputs holen / evtl. auch über einer UserSelection holen Set MyPoint = MyPart.FindObjectByName("PT_Beispiel") 'Inputs übergeben MyFactory.PutInputData "PT_BeispielReference", MyPoint 'Exemplar erzeugen Set MyInstance = MyFactory.Instantiate 'Factory beenden MyFactory.EndInstantiate MyFactory.EndInstanceFactory 'Teil updaten On Error Resume Next MyPart.Update On Error GoTo 0 If MyPart.IsUpToDate(MyPart) Then CATIA.StatusBar = "Update: ohne Fehler" Else CATIA.StatusBar = "Update: mit Fehler" End If End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
weylin Mitglied
Beiträge: 25 Registriert: 16.06.2010 Catia V5 R18 Win 7 Core 2 Quad 2,4 Ghz
|
erstellt am: 17. Jun. 2010 15:25 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Vielen Dank Euch dreien hat funktioniert nach ein paar Anpassungen Hier mal mein Code, der mich zum Ziel gebracht hat Code: Sub CATMain() Dim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocumentDim part1 As Part Set part1 = partDocument1.Part Dim xyEbene As Object Dim yzEbene As Object Dim Factory As InstanceFactory Set Factory = part1.GetCustomerFactory("InstanceFactory")
Factory.BeginInstanceFactory "PowerCopy1", "C:\TEMP\Ring.CATPart" Factory.BeginInstantiate Set xyEbene = part1.FindObjectByName("xy-Ebene") Set yzEbene = part1.FindObjectByName("yz-Ebene") Factory.PutInputData "xy-Ebene", xyEbene Factory.PutInputData "yz-Ebene", yzEbene
Set MyInstance = Factory.Instantiate Factory.EndInstantiate Factory.EndInstanceFactory part1.Update End Sub
zwei Fragen hätte ich noch zu dem Thema:
Kann man das ganze Pfandunabhängig machen ?? Also dass die .Part-Datei nicht immer am gleichen Ort liegen muss sondern z.b. dort wo das Makro liegt evtl mit \\NameDerDatei.CATPart ?? Zweitens würde es mich interessieren ob man auch eine PowerCopy aus einem Katalog einbinden kann. Den Vorteil den ich hieran seh ist, dass man mehrere PowerCopys in einer Datei hat. Vielen Dank nochmal für euere Hilfe Gruß weylin EDIT: Hab mal noch ein wenig gegoogelt und bin auf Workbook.Path Befehl gekommen für Pfadunabhängigkeit. Code: Factory.BeginInstanceFactory "PowerCopy1", ThisWorkbook.Path & "\Ring.CATpart" Factory.BeginInstantiate
Allerdings funktioniert das nicht. Beim Kompilieren verlangt er ein Objekt?? [Diese Nachricht wurde von weylin am 18. Jun. 2010 editiert.] [Diese Nachricht wurde von weylin am 18. Jun. 2010 editiert.] 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: 18. Jun. 2010 10:08 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Ganz so trivial ist das nicht. Bei Workbook.Path wärst Du auch nur im Pfad des Workbooks, nicht aber des Makros. Application.Path (bzw. CATIA.Path und App.Path) gäbe es auch noch, aber da kommt man nur im Applikations-Pfad an. In diesem Fall CATIA, also wo die CNEXT.exe liegt. Für Makros ist mir noch nix brauchbares eingefallen. Problem ist hier nämlich, dass die Makros in's CATIA überführt und dort zur Laufweit interpretiert werden. Also ist CATIA die Anwendung, liegt aber wo ganzanders als das Makro. Meine aktuelle Notlösung (gibt sicher bessere) ist, dass ich eine Umgebungsvariable auf meine Input-Daten setze. CATIA hat eigene, damit ist es machbar. ------------------ 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 |
weylin Mitglied
Beiträge: 25 Registriert: 16.06.2010 Catia V5 R18 Win 7 Core 2 Quad 2,4 Ghz
|
erstellt am: 18. Jun. 2010 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
|
JonasAdrian Mitglied Maschinenbau Student
Beiträge: 2 Registriert: 02.04.2024 Catia V5 R32
|
erstellt am: 02. Apr. 2024 09:44 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Hallo zusammen, kurz vorweg, ich bin komplett neu in dem Thema mit Makros in Catiav5. Wendest du das Powercopy-Makro im gleichen CATPart an, in dem die Powercopy auch erstellt wurde? Oder geht das auch in anderen Parts? Gibt es auch eine Möglichkeit Powercopies aus einem Katalog aus aufzurufen? Außerdem weiß ich auch nicht, ob ich 14 Jahre später noch eine Antwort erwarten kann Trotzdem Grüße ------------------ Jonas Schmid Maschinenbau HTWG Konstanz [Diese Nachricht wurde von JonasAdrian am 02. Apr. 2024 editiert.] [Diese Nachricht wurde von JonasAdrian am 02. Apr. 2024 editiert.] [Diese Nachricht wurde von JonasAdrian am 02. Apr. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11961 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 02. Apr. 2024 10:03 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Servus Bei der Verwendung von BeginInstanceFactory kann eine andere Quelle (zB CATPart) angegeben werden. ich vermute dass AddInstance für ein Feature aus dem gleichen Dokument gedacht ist. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JonasAdrian Mitglied Maschinenbau Student
Beiträge: 2 Registriert: 02.04.2024 Catia V5 R32
|
erstellt am: 05. Jun. 2024 14:38 <-- editieren / zitieren --> Unities abgeben: Nur für Bernod
Hallo Bernd, sorry für die späte Antwort. Aber noch ein Dankeschön dafür! Ich bin nun tiefer in dem Thema "Makro mit Powercopy" drinnen und habe meine Idee aus dem Katalog aufzurufen verworfen und auch den Bezug zum CATPart gewählt. ------------------ Grüße vom Bodensee Jonas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |