Autor
|
Thema: Makro auf ausgewählter Fläche erzeugen (997 mal gelesen)
|
Vladi1991 Mitglied Student
Beiträge: 9 Registriert: 16.11.2015 Win10 Pro 64 Intel Xeon E3-1231v3 3,4GHz 8GB NVidia GTX 970 Catia V5R19
|
erstellt am: 18. Nov. 2015 19:43 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich bin momentan dabei ein Makro zu schreiben, dass den Benutzer eine Fläche wählen lässt durch oSelLB.SelectElement2() und darauf eine Skizze erstellt. Meine Frage wär jetzt wie ich dies realisieren könnte. Die Erstellung der Skizze ist nicht das Problem, jedoch frage ich mich wie die Selektion definiert werden muss, da bei Sketch.Add() in den Klammern ja normalerweise eine Referenz oder Ebene stehen muss. Ich habe schon paar Sachen ausprobiert, jedoch ohne Erfolg. Ich hoffe Ihr könnt mir helfen. _____Der Code für die Selektion sieht so aus:_________ Dim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocument Dim part1 As Part Set part1 = partDocument1.Part Dim bodies1 As Bodies Set bodies1 = part1.Bodies Dim body1 As Body Set body1 = bodies1.Item("Hauptkörper") Dim sketches1 As Sketches Set sketches1 = body1.Sketches Dim selTyp(1) As Variant selTyp(0) = "Face" selTyp(1) = "Plane" Dim oSelLB As Object Set oSelLB = CATIA.ActiveDocument.Selection Dim Mysketch As Sketch 'Set Mysketch = sketches1.Add(oSelLB.SelectElement2(selTyp, "please select", False)) __________________________________________________________ Mir ist klar das die letzte Zeile nicht funktionieren kann. Sie soll nur zur Verständnis dienen, dass meine Skizze auf dieser Selektion erzeugt werden soll. Gruß Vladi 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: 18. Nov. 2015 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für Vladi1991
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 18. Nov. 2015 22:20 <-- editieren / zitieren --> Unities abgeben: Nur für Vladi1991
Servus Wenn eine planare Fläche bzw Ebene selektiert hast sollte es so gehen: Code: Statu = oSelLB.SelectElement2(selTyp, "please select", False) if Status = "Normal" then Set Mysketch = sketches1.Add(oSelLB.item(1).Reference) end if
------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Vladi1991 Mitglied Student
Beiträge: 9 Registriert: 16.11.2015 Win10 Pro 64 Intel Xeon E3-1231v3 3,4GHz 8GB NVidia GTX 970 Catia V5R19
|
erstellt am: 19. Nov. 2015 17:57 <-- editieren / zitieren --> Unities abgeben:
Erstmal vielen Dank für die Hilfe, es klappt alles mit der Selektion und Erstellung. Joe kannst Du mir erklären wieso es keine gute Idee ist Faces zu beziehen bzw. wo Probleme auftauchen könnten. Will jetzt auch kein Unsinn produzieren und hoffe Du kannst mich aufklären. Danke im Voraus. Gruß Vladi PS. Systeminfo eingefügt 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: 19. Nov. 2015 18:33 <-- editieren / zitieren --> Unities abgeben: Nur für Vladi1991
|
Vladi1991 Mitglied Student
Beiträge: 9 Registriert: 16.11.2015 Win10 Pro 64 Intel Xeon E3-1231v3 3,4GHz 8GB NVidia GTX 970 Catia V5R19
|
erstellt am: 19. Nov. 2015 19:00 <-- editieren / zitieren --> Unities abgeben:
|