| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
|
Autor
|
Thema: MacroFeature in Baugruppen Komponenten einfügen (1717 mal gelesen)
|
f.art Mitglied Werkzeugmechaniker
 Beiträge: 9 Registriert: 25.02.2010
|
erstellt am: 16. Nov. 2010 07:10 <-- editieren / zitieren --> Unities abgeben:         
Bezüglich der Programmierung eines Makros mit dem MakroFeature habe ich folgendes Problem: Ich befinde mich in einer Baugruppe und möchte in jede einzelne Komponente ein MacroFeature einfügen welches bestimmte Informationen sammelt und in die Benutzerdefinierten Eigenschaften schreibt. Das alles funktioniert auch, nur das nachdem das Macro durchgelaufen ist der Featurebaum der Baugruppe nicht mehr richtig arbeitet. Die Komponenten lassen sich nicht mehr anwählen/ markieren und über die rechte Maustaste gibt es keine Funktion mehr. Ein Neuaufbau hilft auch nicht weiter. Was muss ich tun damit die Baugruppe nachdem die MacroFeatures in den Komponenten hinzugefügt wurden wieder normal funktioniert? Bzw. was mache ich beim Einfügen der MacroFeatures falsch / wie sollte man vorgehen? Vielen Dank für eure Hilfe.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur/CAD-Admin
   
 Beiträge: 1142 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 16. Nov. 2010 08:11 <-- editieren / zitieren --> Unities abgeben:          Nur für f.art
|
f.art Mitglied Werkzeugmechaniker
 Beiträge: 9 Registriert: 25.02.2010
|
erstellt am: 16. Nov. 2010 08:56 <-- editieren / zitieren --> Unities abgeben:         
Ja gut, nur der ist etwas umfangreicher. Ich hänge die Datei mal ran. Kurz zur Funktion: Das Makro fügt ein MacroFeature in das Teil ein und schreibt in die benutzerdefinierten Eigenschaften verschiedene Werte. Das MacroFeature an sich soll dann die Abmaße des Teils bei jedem Neuaufbau aktualisieren. Das ganze kann in Teilen, Baugruppen und Zeichnungen ausgeführt werden. Je nachdem wo man sich grad befinden wird das dazugehörige Modell ermittelt und dort das MacroFeature eingefügt. In einer Baugruppe wird dann noch zusätzlich gefragt ob das Feature in allen Komponenten hinzugefügt werden. Und hier beginnen die Probleme.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur/CAD-Admin
   
 Beiträge: 1142 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 16. Nov. 2010 09:22 <-- editieren / zitieren --> Unities abgeben:          Nur für f.art
Ich bin mir nicht sicher ob es richtig ist, aber das Makro soll in allen Teilen einer Baugruppe deine gewünschten benutzerdefinierten Eigenschaften eintragen? Da es im Bauteil ja gut funktioniert, müsstest du dein Makro mit der Methode "TraverseComponent Assembly" in die Baugruppe tragen. Infos und Beispiele findest du dazu in der API-Hilfe, hier habe ich auch schon mal ein paar Beispiele benannt. Ich hoffe, ich konnte dir weiterhelfen... ------------------ Viele Grüße, THSEFA PS: Wer kann bei mir bei Druckerproblem helfen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
f.art Mitglied Werkzeugmechaniker
 Beiträge: 9 Registriert: 25.02.2010
|
erstellt am: 16. Nov. 2010 09:53 <-- editieren / zitieren --> Unities abgeben:         
Also das Problem ist nicht der Durchlauf der Baugruppe. Über GetComponents hole ich mir alle Komponenten der Baugruppe. Anschließend durchlaufe ich das Component Array (For Each Component...) mit Comp.GetModelDoc2. Wenn ich das ModelDoc habe füge ich das MacroFeature ein. Das Problem ist am Ende des Macros. Das Feature wurde eingefügt und der FeatureBaum aktualisiert, Baugruppe neu aufgebaut. Dennoch ist der FeatureTree im Verhalten sehr merkwürdig wenn man versucht dort mit der Maus irgendwas zu machen. Ich sehe grade das ich diesen Komponenten-Teil in dem Macro auskommentiert hatte. Ich häng nochmal den vollständigen Code mit ran. Dann kannst dus mal durchlaufen lassen in einer Testbaugruppe und dann siehst du was ich meine.  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
f.art Mitglied Werkzeugmechaniker
 Beiträge: 9 Registriert: 25.02.2010
|
erstellt am: 16. Nov. 2010 14:21 <-- editieren / zitieren --> Unities abgeben:         
Problem gelöst  Ein "ActivateDoc" am ende des macros bezogen auf die baugruppe hat gefehlt. Für alle die Interesse haben oder auch einfach so zu Übungszwecken habe ich das Macro nochmal im Endstadium angehangen. Viel Spaß damit. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
THSEFA Mitglied Konstrukteur/CAD-Admin
   
 Beiträge: 1142 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 16. Nov. 2010 14:33 <-- editieren / zitieren --> Unities abgeben:          Nur für f.art
Habs gerade mal durchlaufen lassen. Ich kann das von dir geschilderte Verhalten nachvollziehen. Am Ende kannst du im Featurebaum nichts mehr auswählen. Gehst du aber direkt auf dein Teil, kannst du es öffnen, bearbeiten etc. Danach ist in der BG alles wieder i.O. Für dieses Verhalten habe ich keine Erklärung, da reichen meine Kenntnisse leider nicht aus für... Vorschlag: mache vor dem Beenden des Makros noch mal eine Abfrage, ob das aktuelle Dokument eine BG ist und selektiere dann das 1. Bauteil. Damit wärst du auf der sicheren Seite. Der Tipp kann aber auch vollkommen unnütze / blödsinnig sein... EDIT: Zu spääääät! ------------------ Viele Grüße, THSEFA PS: Wer kann bei mir bei Druckerproblem helfen? [Diese Nachricht wurde von THSEFA am 16. Nov. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |