| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX | | | | Solid Edge | Generatives Design |
Autor
|
Thema: Einzelteile aus Buagruppen entfernen (893 mal gelesen)
|
Frank-Peter Mitglied Maschinenbau-Ingenieur
Beiträge: 450 Registriert: 05.11.2001 UG, Pro/E, MDT 6, Inventor 5.3, Catia V5, Ideas 8, MegaCAD, Rhino,
|
erstellt am: 20. Sep. 2004 14:35 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, wie kann ich eine variable Baugruppe aufbauen, bei der sich die Anzahl der Einzelteile von der Länge des zuerst eingebauten Einzelteiles ändert. Also, ich habe ein Blech mit variabler Länge. In unterschiedlichen Abständen (musstern geht nicht) soll jetzt das gleiche Einzelteil auf das Blech eingebaut werden. Bei maximaler Länge sind das 8 Stück. Bei minimaler Länge sind das vier Stück. Wie kann ich den restlichen vier mitteilen, dass sie nicht mehr zur Baugruppe gehören(ausblenden). ------------------ ************************** mit freundlichen Grüßen fph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schmima Mitglied Konstrukteur
Beiträge: 375 Registriert: 01.07.2003 NX 6.0.2.8 TCE 10.0.2.2
|
erstellt am: 20. Sep. 2004 15:15 <-- editieren / zitieren --> Unities abgeben: Nur für Frank-Peter
Hallo Frank-Peter, also ich würde an Deiner Stelle überlegen die Abstände doch in ein Muster zu "zwingen" (mit entsprechenden Korrekturwerten über die Funktion: Versetze Element der assoziativen Kopie). Dann kannst Du die Einzelteile "über Formelemente assoziative Kopie" mehrfach plazieren. Tipp: ich würden die grösse Länge mit der max. Anzahl Bohrungen abspeichern, da UG die Anzahl der Komponenten reduzieren, aber nicht automatisch erweitern kann. Gruss Manfred Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bbking Mitglied
Beiträge: 1419 Registriert: 30.01.2002
|
erstellt am: 20. Sep. 2004 16:14 <-- editieren / zitieren --> Unities abgeben: Nur für Frank-Peter
hallo frank-peter! bin grundsätzlich der gleichen meinung wie schmima. du könntest noch überlegen, ob du das blech als teilefamilie anlegst. da kannst du neben den parametern der konstruktion auch die unterdrückung von formelementen im excel steuern, auch die elemente eines arrays. wenn du die komponente auf das array verknüpfst, kannst du die info aus der einzelteil-konstruktion ausnutzen. 2. idee: die existenz einer komponente in einer baugruppe kannst auch über einen ausdruck steuern (komponente im bg-navigator anklicken => rechte maustaste => parameter => unterdrückung => option "durch ausdruck gesteuert" aktivieren, dann kannst du unter werkzeuge => ausdruck steuern ob die komponente in der baugruppe existiert oder nicht. jetzt mußt du "nur" noch eine sinnvolle verknüpfung zwischen einem parameter für die unterdrückung des formelements im blech zu dem parameter für die unterdrückung in der baugruppe aufbauen. dafür brauchst aber wahrscheinlich auch die max. mögliche anzahl array-elemente. knackpunkt ist glaube ich die "sinnhaftigkeit" der verknüfung. kannst ja auch versuchen, die parameter für die unterdrückung in der baugruppen-datei dann per excel zu verknüpfen (if ...then ...else ...) achtung: wenn du mit teilefamilien arbeiten willst, solltest du in der vorlagenkonstruktion (eltern-bauteil) keine formelemente per parameter unterdrücken (bearbeiten => formelelement => nach ausdruck unterdrücken). damit kommt die teilfamilien-funktion nicht klar. da kannst du nur die entsprechenden formelemente in das excel-sheet importieren und da den unterdrückungsstatus mit yes oder no belegen. ich hoffe ich habe mich verständlich machen können. ansonsten einfach noch mal nachhaken. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Frank-Peter Mitglied Maschinenbau-Ingenieur
Beiträge: 450 Registriert: 05.11.2001 UG, Pro/E, MDT 6, Inventor 5.3, Catia V5, Ideas 8, MegaCAD, Rhino,
|
erstellt am: 20. Sep. 2004 16:41 <-- editieren / zitieren --> Unities abgeben:
|
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 23. Sep. 2004 08:16 <-- editieren / zitieren --> Unities abgeben: Nur für Frank-Peter
Die Problematik ist mE mit KF sehr gut lösbar - Stichwort 'child list'. In Abhängigkeit einer Gesamtgröße werden unterschiedlich viele Komponenten (je ein 'child') erzeugt. Das Ganze in eine UI-Maske packen und der Nutzer freut sich vermutlich... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Frank-Peter Mitglied Maschinenbau-Ingenieur
Beiträge: 450 Registriert: 05.11.2001 UG, Pro/E, MDT 6, Inventor 5.3, Catia V5, Ideas 8, MegaCAD, Rhino,
|
erstellt am: 23. Sep. 2004 08:37 <-- editieren / zitieren --> Unities abgeben:
|
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 23. Sep. 2004 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für Frank-Peter
Deiner Reaktion entnehme ich, daß Du mit 'KF' nicht viel anfangen kannst. Das Kürzel steht für 'Knowledge Fusion'. Das ist die UGS-Antwort auf das 'KBE - Knowledge Based Engineering'. Bei KF handelt es sich um eine seit Version V17 implementierte objektorientierte interpretive Programmiersprache für UG. Erstaunlicherweise ist dieses mächtige Werkzeug bislang weitgehend unbekannt geblieben, was sich auch in der verschwindend kleinen Zahl von Beiträgen in Nutzerforen ausdrückt. Womit ich in anderen Sprachen (GRIP, C, C++, ...) scheitere oder seitenweise Code erstellen müßte, genügen in KF bisweilen wenige Zeilen. Die Zukunft gehört KF - auch UGS selbst erstellt neue Applikationen zunehmend mit KF, siehe z.B. die Checker und Wizards neuer UG-Versionen. Anbei zum Schnuppern etwas Code (aus einer Lernübung) für Deine Belange, dazu gehört dann noch ein UI-Dialog (sorry, meine upload-Funktion funktioniert nicht...). #! UG/KF 17.0 DefClass: kf_blechkiste (ug_base_part); (Number Modifiable Parameter) bl_b: 100; (Number Modifiable Parameter) bl_ges: 1500; (Number Modifiable Parameter) bl_h: 10; (Number Modifiable Parameter) bl_l: 200; (Number Modifiable Parameter) bl_x: 200; (Point Modifiable Parameter) bl_pt: Point(0,0,0); (Number Modifiable ) anzahl: bl_ges:/bl_l:; (Integer Modifiable ) anzahl_GB: floor(bl_ges:/bl_l ; (Number Modifiable ) anzahl_TB: anzahl:-anzahl_GB:; (Integer Modifiable ) bl_x_sens: if (bl_b: > 200) then 0 else 1; (Child list) GB: { Class; ug_block; quantity, anzahl_GB:, Length;bl_l:; Width;bl_b:; Height;bl_h:; Origin;bl_pt:+vector((child:index: - 1) * bl_l:, 0,0); Operation;Unite; };
(Child) TB: { Class; if (anzahl_TB: > 0) then ug_block else NullDesign; Length;bl_l: * anzahl_TB:; Width;bl_b:; Height;bl_h:; Origin;bl_pt:+vector(anzahl_GB: * bl_l:, 0,0); Operation;Unite; }; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Frank-Peter Mitglied Maschinenbau-Ingenieur
Beiträge: 450 Registriert: 05.11.2001 UG, Pro/E, MDT 6, Inventor 5.3, Catia V5, Ideas 8, MegaCAD, Rhino,
|
erstellt am: 23. Sep. 2004 10:46 <-- editieren / zitieren --> Unities abgeben:
Hallo Älg, danke für Deine Ausführungen. leider habe ich keine Lizenz für die Knowledge Fusion. Aber ich werde mich mit diesem Thema weitergehend beschäfftigen. ------------------ ************************** mit freundlichen Grüßen fph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|