| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Volumen eines beliebigen Parts ausgeben (1303 mal gelesen)
|
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen
Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 04. Feb. 2008 12:50 <-- editieren / zitieren --> Unities abgeben:
Hallo! ich wollte mit ug_check_volume_value das Volumen eines beliebigen Parts ausgeben. Die Regel wird in ein Part eingefügt, erfragt sich den Workpartname und sollte diesen an check_volume übergeben. Das ist für einen eigenen Checker in Check-mate gedacht. Zurück bekomme ich als volume1 aber nur 0. Laut Hilfe soll Input: Instance or hostpointer sein. Ist hier aber der Partname. ug_mass_properties den Workpartname zu übergeben funktioniert auch nicht, da hier eigentlich Features verlangt werden. Hier bekomme ich ein "Child not available in this context" Code: (String) workpartname: ug_askCurrentWorkPart(); (Number) volume1: ug_check_volume_value(workpartname:);(Child) properties: { Class, ug_mass_properties, Features, {workpartname:}; }; (Number) volume2: eigenschaften:volume:;
hat jemand eine Idee, wie ich entweder alle feature eines Parts abfragen und in einer Liste speichern kann oder ob es eine andere Möglichkeit gäbe? Vielen Dank schonmal! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
totti2305 Mitglied Dipl Ing Maschinenbau
Beiträge: 183 Registriert: 10.03.2005
|
erstellt am: 04. Feb. 2008 15:49 <-- editieren / zitieren --> Unities abgeben: Nur für rhonanpaldur
Hallo! Also, mass properties steckt auch in ug_body drin, brauchst das nicth wieder extra. darüber gibt es auch einen thread hier. ug_check_volume_value braucht man dann glaub ich gar nicht mehr. Probier mal einfach nen ug_body zu machen, um daraus dann das Volumen auszulesen. müsst eigentlich funzen. Torsten
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen
Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 04. Feb. 2008 17:25 <-- editieren / zitieren --> Unities abgeben:
Hallo! ugii/ Da hast du recht, hilft hier aber leider nicht weiter. Oder seh ich das falsch? Das Problem ist, ich habe ein Part, das außerhalb von KF im normalen Modelingmodus erzeugt wurde und will von diesem das Volumen (evtl auch die Oberfläche) abfragen. Wenn ich in dem Part ein child instanziiere, weiß das nichts von den features des Parts. Und ich will da nicht von Hand ranmüssen und Features in KF adoptieren. Dann könnte ich auch von Hand über das Menü Analysis gehen Der Code soll später zu einem Checker für Checkmate umgearbeitet werden. Es gibt ja die Quickcheckfunktion. Da ist auch ein Volumecheck dabei. Leider ist in UGII\dfa\quick_check kein dfa, dass man sich anschauen könnte, sondern nur ein Part, dem ich nichts entnehmen kann. Danke schonmal soweit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen
Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 18. Feb. 2008 08:17 <-- editieren / zitieren --> Unities abgeben:
Hallo! Hier hänge ich immer noch. Hat jemand eine Idee, wie ich das Volumen für das aktuelle Workpart mittels KF bekommen könnte, wenn das Part über Modeling konstruiert wurde (also keine KF Klassen) und ich auch keinen Namen weiß? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 18. Feb. 2008 09:03 <-- editieren / zitieren --> Unities abgeben: Nur für rhonanpaldur
Mittels Adoption erhältst Du die Instanz eines Hostpointers. Code:
ug_adoptObject()
Also konkret: Selektion der Volumes oder Bodies per Maske oder Preselektion in eine Liste, adoptieren aller Listenelemente und Anwendung von ug_check_volume_value() auf alle Listenelemente, Summe aller Volumen bilden.Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen
Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 18. Feb. 2008 09:47 <-- editieren / zitieren --> Unities abgeben:
Danke soweit Aber da hängt es noch: Zitat: Selektion der Volumes oder Bodies per Maske oder Preselektion in eine Liste
Ich finde dazu nichts. Nur im Zusammenhang mit dem UI Styler. Aber da das später ein Checker werden soll, müsste die Objektauswahl auftauchen, wenn ich den Checker mit Check-Mate aufrufe bzw., im einfachen Fall, wenn ich die KF-Rule instanziere. Da hilft mir der UI-Styler nicht?! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 18. Feb. 2008 10:07 <-- editieren / zitieren --> Unities abgeben: Nur für rhonanpaldur
Dann würde ich entweder die Liste children() der root anzapfen; ist sinnvoll, wenn alle Volumina ermittelt werden sollen. Oder - wie erwähnt - die Preselektion abfragen mit UF_UI_ask_global_sel_object_list() - da ist eine Auswahl mit Bordmitteln möglich, bevor der KF-Code angeschubst wird. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen
Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 18. Feb. 2008 10:30 <-- editieren / zitieren --> Unities abgeben:
Es gibt aber keine Liste mit children, weil eine andere Person das Part im Modeling erstellt hat. Und zum zweiten Tipp: Zitat: bevor der KF-Code angeschubst wird
Ich möchte die Selektion ja aus KF Code heraus realisieren. Oder übersteigt das die Möglichkeiten und ich müsste da mit NX Open anfangen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 18. Feb. 2008 10:57 <-- editieren / zitieren --> Unities abgeben: Nur für rhonanpaldur
Zitat:
bevor der KF-Code angeschubst wird
O.k., also ganz exakt: bevor der Checker-Code angeschubst wird Warum nicht zwei Dinge nacheinander tun ? 1. - Selektion per UI-Maske oder - Presektion und Einlesen der Liste in KF oder - Sammeln aller Objekte eines bestimmten Typs und Einlesen der Liste in KF oder ... - anschl. die Selektionsliste im root hinterlegen 2. Start Checker
Pack doch z.B. beide Schritte in eine UI-Maske. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen
Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 18. Feb. 2008 15:36 <-- editieren / zitieren --> Unities abgeben:
|
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 18. Feb. 2008 15:55 <-- editieren / zitieren --> Unities abgeben: Nur für rhonanpaldur
|
| Fachplaner Brandschutz (m/w/d) / Fachbauleiter Brandschutz (m/w/d) | Die be + p Gruppe ist eine Ingenieurgesellschaft mit den Schwerpunkten Tragwerksplanung und Brandschutz mit verschiedenen Niederlassungen in Deutschland. Für den Standort Hannover suchen wir ab sofort einen Fachplaner Brandschutz (m/w/d) / Fachbauleiter Brandschutz (m/w/d).
- Erstellung von Brandschutzkonzepten und Brandschutznachweisen (für Regel- und Sonderbauten wie z....
| Anzeige ansehen | Architektur |
|
rhonanpaldur Mitglied Dipl.-Ing. MB, Druckmaschinen
Beiträge: 76 Registriert: 30.10.2007 NX 3.0.3 NX 5.0.2
|
erstellt am: 18. Feb. 2008 16:05 <-- editieren / zitieren --> Unities abgeben:
|