| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU ! |
Autor
|
Thema: Bauteile Baugruppen fixieren (3040 mal gelesen)
|
Husky Ehrenmitglied V.I.P. h.c.
Beiträge: 5718 Registriert: 10.07.2002 No Sysinfo
|
erstellt am: 16. Mrz. 2007 10:39 <-- editieren / zitieren --> Unities abgeben:
Hallo, folgendes Problem: Ich bekomme eine recht umfangreiche Baugruppe als Step-Datei. Einlesen kein Problem. Die soll jetzt in sich fixiert werden. Gibt es ein Tool, daß in der Lage ist den kompletten Strukturbaum zu fixieren, also mit allen Teilen und Baugruppen unter Unterbaugruppen usw. ? Grüße Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 16. Mrz. 2007 10:48 <-- editieren / zitieren --> Unities abgeben: Nur für Husky
Code:
Sub GroundComponents() If ThisApplication.Documents.Count = 0 Then MsgBox "Die Baugruppe öffnen.", vbExclamation, "Keine Baugruppe" Exit Sub End If If ThisApplication.ActiveDocumentType <> kAssemblyDocumentObject Then MsgBox "Die Baugruppe öffnen.", vbExclamation, "Keine Baugruppe" Exit Sub End If Dim oAsm As AssemblyDocument Set oAsm = ThisApplication.ActiveDocument ForAllComponents oAsm.ComponentDefinition.Occurrences End SubSub ForAllComponents(oOccs As ComponentOccurrences) Dim oOcc As ComponentOccurrence For Each oOcc In oOccs On Error Resume Next oOcc.Grounded = True ThisApplication.StatusBarText = oOcc.Name If Err.Number <> 0 Then Err.Number = 0 GoTo NEXTCOMP End If NEXTCOMP: ForAllComponents oOcc.SubOccurrences Next End Sub
------------------ Grüße Igor
FX64 Software Solutions HMI ~ 16.-20. April 2007 ~ CAD.de Halle 17, Stand F60 [Diese Nachricht wurde von daywa1k3r am 16. Mrz. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stocki1982 Mitglied V E S P A Zangler
Beiträge: 359 Registriert: 10.11.2004 Dell M6400 2,8GHz 8 GB Ram NVIDIA Quadro FX 3700 Raid 0 Windows Vista64 HP NW9440 2,16Ghz 4 GB Ram NVIDIA Quadro FX 1500 Windows 7 64 BIT AIP9,AIP10,AIP11,AIP2008,AIP2009,AIP2010, AIP2011 VaultProfessional 2011
|
erstellt am: 16. Mrz. 2007 10:50 <-- editieren / zitieren --> Unities abgeben: Nur für Husky
Hallo Stefan, erster Teil - shift Taste - letzter Teil RMK - Teile fixieren. Anbei ein Code, der aber auch die Teile auf 0,0,0 verschiebt.
Sub Teile_fixieren()
Dim oDoc As Document Set oDoc = ThisApplication.ActiveDocument ' Wenn kein Dokument offen, dann beenden If oDoc Is Nothing Then Exit Sub ' Wenn keine Baugruppe offen, dann beenden If oDoc.DocumentType <> kAssemblyDocumentObject Then Exit Sub Dim bDelete As Boolean bDelete = False ' Frage - bestehende Abhängigkeiten löschen oder unterdrücken 'If MsgBox("Sollen alle vorhandenen Anhängigkeiten gelöscht werden?", vbYesNo + vbQuestion) = vbYes Then ' bDelete = True 'Else ' bDelete = False 'End If Dim oAsmCompDef As AssemblyComponentDefinition Set oAsmCompDef = oDoc.ComponentDefinition Dim oConstraint As AssemblyConstraint For Each oConstraint In oAsmCompDef.Constraints If bDelete Then oConstraint.Delete Else oConstraint.Suppressed = True End If Next Dim oOccurrence As ComponentOccurrence For Each oOccurrence In oAsmCompDef.Occurrences Dim oTransform As Matrix Set oTransform = oOccurrence.Transformation ' Komponenten platzieren in Nullpunkt oTransform.SetTranslation ThisApplication.TransientGeometry.CreateVector(0, 0, 0) oOccurrence.Transformation = oTransform ' Komponenten fixieren oOccurrence.Grounded = True Next ' Zoom alles Call oDoc.Views.Item(1).Fit(True) End Sub
------------------ Lg, Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Charly Setter Moderator
Beiträge: 11977 Registriert: 28.05.2002 Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen.<P>Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw)
|
erstellt am: 16. Mrz. 2007 10:55 <-- editieren / zitieren --> Unities abgeben: Nur für Husky
Zitat: Original erstellt von Husky:
Gibt es ein Tool, daß in der Lage ist den kompletten Strukturbaum zu fixieren, also mit allen Teilen und Baugruppen unter Unterbaugruppen usw. ?
Jetzt ja ------------------ Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen. Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 16. Mrz. 2007 11:05 <-- editieren / zitieren --> Unities abgeben: Nur für Husky
Daniel, eigentlich alles OK, aber wird nur mit ersten Ebene funktionieren. Mein Beispiel zeigt wie man eine Funktion rekursiv aufruft. Ist eigentlich immer das Gleiche, nur der Teil mit den Occurrences ändert sich. ------------------ Grüße Igor FX64 Software Solutions HMI ~ 16.-20. April 2007 ~ CAD.de Halle 17, Stand F60 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stocki1982 Mitglied V E S P A Zangler
Beiträge: 359 Registriert: 10.11.2004 Dell M6400 2,8GHz 8 GB Ram NVIDIA Quadro FX 3700 Raid 0 Windows Vista64 HP NW9440 2,16Ghz 4 GB Ram NVIDIA Quadro FX 1500 Windows 7 64 BIT AIP9,AIP10,AIP11,AIP2008,AIP2009,AIP2010, AIP2011 VaultProfessional 2011
|
erstellt am: 16. Mrz. 2007 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für Husky
|
Husky Ehrenmitglied V.I.P. h.c.
Beiträge: 5718 Registriert: 10.07.2002 No Sysinfo
|
erstellt am: 16. Mrz. 2007 13:12 <-- editieren / zitieren --> Unities abgeben:
Hallo Igor, genial
@Daniel: Das mit der Shift Taste usw war mir schon bekannt ... aber hier hat der Baum bis zu 8 Ebenen ... das macht keine Freude. Aber Dank Igor no Problem Grüße Stefan
[Diese Nachricht wurde von Husky am 16. Mrz. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
invhp Ehrenmitglied V.I.P. h.c. MB Techniker, AE, WKZmacher
Beiträge: 5552 Registriert: 16.05.2002 (fast) alles, was Autodesk im Mechanikbereich anbietet ;)
|
erstellt am: 16. Mrz. 2007 15:35 <-- editieren / zitieren --> Unities abgeben: Nur für Husky
Zitat: Original erstellt von daywa1k3r:
Code:
Sub GroundComponents() If ThisApplication.Documents.Count = 0 Then MsgBox "Die Baugruppe öffnen.", vbExclamation, "Keine Baugruppe" Exit Sub End If If ThisApplication.ActiveDocumentType <> kAssemblyDocumentObject Then MsgBox "Die Baugruppe öffnen.", vbExclamation, "Keine Baugruppe" Exit Sub End If Dim oAsm As AssemblyDocument Set oAsm = ThisApplication.ActiveDocument ForAllComponents oAsm.ComponentDefinition.Occurrences End SubSub ForAllComponents(oOccs As ComponentOccurrences) Dim oOcc As ComponentOccurrence For Each oOcc In oOccs On Error Resume Next oOcc.Grounded = True ThisApplication.StatusBarText = oOcc.Name If Err.Number <> 0 Then Err.Number = 0 GoTo NEXTCOMP End If NEXTCOMP: ForAllComponents oOcc.SubOccurrences Next End Sub
Jetzt wo du's schreibst wäre ich auch drauf gekommen... ------------------ Grüsse Jürgen Neue FAQ-Seite blog.inventor-faq.de www.dressler-ds.de Autodesk Inventor Certified Expert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
grabovski999 Mitglied Konstrukteur
Beiträge: 22 Registriert: 25.02.2004
|
erstellt am: 05. Apr. 2007 10:31 <-- editieren / zitieren --> Unities abgeben: Nur für Husky
|
lbcad Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer
Beiträge: 3823 Registriert: 15.02.2001 DELL Precision 7520 Win10Pro-64 Inventor mit Vault Professional 2024 --------------------- Während man es aufschiebt, verrinnt das Leben. Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)
|
erstellt am: 05. Apr. 2007 11:36 <-- editieren / zitieren --> Unities abgeben: Nur für Husky
Mein lieber Herr Garbovski, wenn der Igor den Code auch nur mit kleinbuchstaben geschrieben hätte und dann nochanverschiedenenstellendiespacetasteausgelassenhätte unddiekommasetzungignoriertdannkönnteesgutseindassdasprogramm immernochläuftaberdielesbarkeitistdeutlicheingeschränkt Und wenn die Tastatur schön geschmiert wird, dann kann man auch für alle die Tipps geben: Hier VBA-Modul öffnen (Alt+F11) und den Code dort in einem neuen Modul einfügen (im Anwendungsprojekt, dann steht es später wieder zur Verfügung). ------------------ Gruß Lothar --------------------------------------------------- Während man es aufschiebt, verrinnt das Leben. Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
grabovski999 Mitglied Konstrukteur
Beiträge: 22 Registriert: 25.02.2004
|
erstellt am: 05. Apr. 2007 11:51 <-- editieren / zitieren --> Unities abgeben: Nur für Husky
|