| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. | | |  | KISTERS 3DViewStation: Neuer Strukturvergleich ab sofort verfügbar, eine Pressemitteilung
|
Autor
|
Thema: Falscher Bezug beim Copy-PasteSpecial (Selection-Object) (543 mal gelesen)
|
Ente9000 Mitglied

 Beiträge: 33 Registriert: 03.06.2019 Windows 10 Pro (64Bit) CATIA V5 R24, R26, R28, R29, R30 SolidWorks 2018, 2021 Visual Studio 2017 Visual Studio 2019
|
erstellt am: 30. Jun. 2023 10:08 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich habe seit einiger Zeit ein Problem mit dem Selection-Object und ich weiß nicht genau, ob ich einfach einen Gedankenfehler habe... - Worum gehts genau? Ihr könnt in dem Bild erkennen, wie der Strukturbaum aufgebaut ist. (Hier für diesen Beitrag ein schlichtes Beispiel) Das Besondere an diesem Aufbau ist, dass "Part2" ursprünglich im "Product1" steckt und zusätzlich auch in "Product3" verbaut worden ist. (Man könnte also sagen, dass „Product1“ meine Baugruppe 1 ist und „Product3“ meine Baugruppe 3. Baugruppe 3 ist ein Spiegelbild von der Baugruppe 1. „Part2“ brauche ich aber nicht zu spiegeln, weil ich dieses Teil zweimal fertigen kann und es so wieder verbaue.) Das soweit als Hintergrund. - Und das Problem? Ich habe jetzt eine Sub geschrieben, die mir den PartBody aus „Part2“ (Baugruppe 1) kopieren soll und in „Part4“ (von „Product2“, meiner Baugruppe 2) einfügen soll (PasteSpecial as Result with Link). Der Anwender soll den PartBody aus „Part2“ (Baugruppe 1) auswählen und das Tool erledigt den Rest. Beim Einfügen wird jedoch der PartBody von „Part2“ aus Baugruppe 3 genommen. Bezogen auf unser fiktives Beispiel: Es wird das Part aus der gespiegelten Baugruppe, statt der Originalbaugruppe genommen. (An dieser Stelle eine Anmerkung: Warum das Ganze, sei hier erstmal außenvor gestellt. Es geht eigentlich um das Kopieren von Bohrbilder aus verschiedenen Konsolen, um diese in eine Tischplatte zu übertragen. Das Problem lässt sich hier aber auf diesen Aufbau ebenfalls anwenden.) - Und nun? Wie kann ich denn beim Copy-PasteSpecial im Quellcode auf das richtige Object verweisen? Ich will ja den PartBody aus „Part2“ von Baugruppe 1 kopieren und einfügen, wenn ich diesen auswähle. Der Kontext muss also stimmen. Habt ihr eine Idee, wo ich den Fehler mache und wie ich das Problem lösen kann? LG Ente
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ente9000 Mitglied

 Beiträge: 33 Registriert: 03.06.2019 Windows 10 Pro (64Bit) CATIA V5 R24, R26, R28, R29, R30 SolidWorks 2018, 2021 Visual Studio 2017 Visual Studio 2019
|
erstellt am: 30. Jun. 2023 10:10 <-- editieren / zitieren --> Unities abgeben:         
Quellcode: 'Option Explicit
Sub CopyElements() Dim Doc As Document Dim Sel As Object 'INFITF.Selection '################## Dim ################## Set Doc = CATIA.ActiveDocument Set Sel = Doc.Selection Set Docs = CATIA.Documents Set partDoc = Docs.Item("Part2.CATPart") Set part1 = partDoc.Part Dim filter(0) filter(0) = "Body" Status = Sel.SelectElement2(filter, "PartBody wählen", False) If Status <> "Normal" Then Exit Sub Set obj = Sel.Item2(1).Value 'part1.MainBody Set partzielDoc = Docs.Item("Part4.CATPart") Set partZiel = partzielDoc.Part Sel.Clear Sel.Add obj Sel.Copy Sel.Clear Sel.Add partZiel Sel.PasteSpecial "CATPrtResult" Sel.Clear End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 03. Jul. 2023 13:29 <-- editieren / zitieren --> Unities abgeben:          Nur für Ente9000
Servus Ente9000 Fall du innerhalb einer Baugruppe, im Kontext was kopieren möchtest, musst du wohl den Pfad zum kopierenden Element (bzw auch zum Einfügen) bilden, dann über CreateReferenceFromName die Reference daraus bilden, und diese dann selektieren. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ente9000 Mitglied

 Beiträge: 33 Registriert: 03.06.2019 Windows 10 Pro (64Bit) CATIA V5 R24, R26, R28, R29, R30 SolidWorks 2018, 2021 Visual Studio 2017 Visual Studio 2019
|
erstellt am: 06. Jul. 2023 15:54 <-- editieren / zitieren --> Unities abgeben:         
|
tomtom1972 Mitglied dipl ing maschinenbau
  
 Beiträge: 608 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 10. Jul. 2023 12:52 <-- editieren / zitieren --> Unities abgeben:          Nur für Ente9000
|
Ente9000 Mitglied

 Beiträge: 33 Registriert: 03.06.2019 Windows 10 Pro (64Bit) CATIA V5 R24, R26, R28, R29, R30 SolidWorks 2018, 2021 Visual Studio 2017 Visual Studio 2019
|
erstellt am: 11. Jul. 2023 07:34 <-- editieren / zitieren --> Unities abgeben:         
Hallo tomtom, ich habe den Beitrag kurz überflogen. Das sieht sehr gut aus und deckt sich auch mit dem Vorschlag von Bernd. Ich bin bisher noch nicht zu der Umsetzung gekommen, aber ich denke, dass das Ganze jetzt funktionieren wird. Besten Dank euch! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ente9000 Mitglied

 Beiträge: 33 Registriert: 03.06.2019 Windows 10 Pro (64Bit) CATIA V5 R24, R26, R28, R29, R30 SolidWorks 2018, 2021 Visual Studio 2017 Visual Studio 2019
|
erstellt am: 11. Jul. 2023 07:37 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |