| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Zugriff per Makro ELEMENT PART SUBPART TEIL (2028 mal gelesen)
|
Safari Mitglied
Beiträge: 8 Registriert: 16.05.2012 Drafting 17.0, Drafting 18.1
|
erstellt am: 16. Mai. 2012 16:51 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin seit längerem auf der Suche nach einer Makrolösung im Drafting 17.0 (ME10). Folgendes soll gelöst werden: Es soll anhand der Teile (parts) und der beinhalteten Teile (subparts?) ein "Weg" gezeichnet werden. Wir haben eine Zeichnung mit mehreren Einzelteilen. In jedem Einzelteil befindet sich eine Bezeichnung und mehrere Linien und Kreise. Es geht jetzt darum, die einzelnen Teile eines Teils auflisten zu können, um anhand der Anordnung der Teile eine Richtung ermitteln zu können. Mittlerweile bin ich soweit, dass ich sagen würde es gibt keine Möglichkeit. Mit INQ_ELEM '~356' komme ich nicht weiter, da ich nicht rausfinden kann, welche Einzelteile in diesem Teil vorhanden sind. INQ_NEXT_ELEM gab auch keinen Erfolg. INQ_SELECTED_ELEM hilft auch nicht weiter. Ich brauche das Einzelzteil, das in INQ 39 (eindeutige ID des Elements) aufgelistet ist. Ich benötige die Koordinaten des Teils. Kann mir jemand weiterhelfen, wie ich an die Einzelteile eines Teils komme?? Das würde mir echt weiterhelfen!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
friedhelm at work Mitglied Techniker Aluminium Profile
Beiträge: 882 Registriert: 01.04.2003 Creo Elements Direct /Drafting 17+20.x ui classic-Tablett + Ribbon, Modeling 17-20.0,.2,.4,.5 Lizenz auf USB-Netzwerkadapter PE-Express 8 Win 10 Enterprise 64 @work Win 10 Pro 64 @home Notepad++,IrfanView,eDrawings, ....
|
erstellt am: 16. Mai. 2012 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für Safari
Heia Safari, Willkommen im Forum Wenn du das Teil editierst/aktuell machst EDIT_PART '~356' und dann INQ_SELECTED_ELEM ALL eingibst werden alle Elemente >eine Bezeichnung (Text?) und mehrere Linien und Kreise erfasst. display (inq 14) gibt dir die Anzahl der erfassten Elemente an. display (inq 403) die Art des 1.Elementes Kommt zB. LINE als Antwort kannst du mit den Abfragen aus INQ_ELEM die Eigenschaften des gefundenen Elements abfragen. (aus der HELP der v14.5) Wenn Elementtyp = LINE (Linie) 101 | Anfangspunkt 102 | Endpunkt Wenn Elementtyp = CIRCLE (Kreis) 3 | Radius 101 | Mittelpunkt 102 | Umfangspunkt Wenn Elementtyp = TEXT (Text) 3 | Textjustierung (1-9) 4 | Textzeilenabstand (Durchschuß) 5 | Textverhältnis (Breite/Höhe) 6 | Texthöhe (Benutzereinheiten) 7 | Textneigung (Benutzerwinkeleinheiten) 8 | Textwinkel (Benutzerwinkeleinheiten) 101 | Textursprungspunkt 302 | Text-1-Byte-Schriftname 303 | Text-2-Byte-Schriftname 601 | Textrahmen (AUS, KASTEN, BALLON) 602 | Textfüllung (AUS oder EIN) 902 | Erster Textstring von Text 903 | Nächster Textstring von Text Wenn du von dem 1.Element genug erfahren hast nimmt sich INQ_NEXT_ELEM das nächste Element vor usw. bis dann display (inq 14) 0 oder display (inq 403) END zurückgibt und damit anzeigt, dass du alle gewählten Elemente durch hast. 2. Wenn du Teile bzw. untergeordnete Teile editierst/aktuell machst kommst du event. mit den Abfragemöglichkeiten von INQ_ENV 7 weiter.
Hoffe, da war was dabei das dir weiterhilft ------------------ Gruss Friedhelm [Diese Nachricht wurde von friedhelm at work am 16. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Safari Mitglied
Beiträge: 8 Registriert: 16.05.2012 Drafting 17.0, Drafting 18.1
|
erstellt am: 21. Mai. 2012 10:11 <-- editieren / zitieren --> Unities abgeben:
|
Safari Mitglied
Beiträge: 8 Registriert: 16.05.2012 Drafting 17.0, Drafting 18.1
|
erstellt am: 21. Mai. 2012 16:55 <-- editieren / zitieren --> Unities abgeben:
Ist es denn auch möglich, per INQ_ELEM (Punkt) alle Elemente zu erfassen, die im Radius sind? Bzw. wenn mehrere Elemente übereinander sind, sollen alle Teile an dem Punkt markiert werden. Geht das irgendwie diese Elemente in dem Bereich zu "fangen"? Besten Dank schon mal... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
friedhelm at work Mitglied Techniker Aluminium Profile
Beiträge: 882 Registriert: 01.04.2003 Creo Elements Direct /Drafting 17+20.x ui classic-Tablett + Ribbon, Modeling 17-20.0,.2,.4,.5 Lizenz auf USB-Netzwerkadapter PE-Express 8 Win 10 Enterprise 64 @work Win 10 Pro 64 @home Notepad++,IrfanView,eDrawings, ....
|
erstellt am: 22. Mai. 2012 13:43 <-- editieren / zitieren --> Unities abgeben: Nur für Safari
Hallo Safari, Versuch es mal mit: INQ_SELECTED_ELEM GLOBAL >Rahmen um die gewünschten Elemente ziehen< Das erfasst GLOBAL durch die gesammte Teilestruktur alle Elemente die sich komplett im Auswahlrahmen befinden. Die Abfrage der Elemente ist die gleiche wie schon beschrieben. >>Bzw. wenn mehrere Elemente übereinander sind, sollen alle Teile an dem Punkt markiert werden. Das ist meiner Meinung nach nicht im Standardlieferumfang von Drafting enthalten. Aber mit der Macrosprache lässt sich viel erreichen. Wäre vieleicht hilfreich wenn du eine Beispielzeichnung .mi hier hochladen würdest. ------------------ Gruss Friedhelm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Safari Mitglied
Beiträge: 8 Registriert: 16.05.2012 Drafting 17.0, Drafting 18.1
|
erstellt am: 22. Mai. 2012 14:23 <-- editieren / zitieren --> Unities abgeben:
So ähnlich habe ichs auch schon versucht, indem ich eine Box gemacht habe: INQ_SELECTED_ELEM SELECT BOX Das mit der Box ist aber nicht elegant, da ich alle Teile umschließen muss. Ich möchte diese aber nur "berühren". Zu der Zeichnung: Die Zeichnung zeigt einen Schienenverlauf. Das Makro soll diesem Schienenverlauf folgen können. Das bedeutet, dass ich am Ende jeder Linie den Anfang der nächsten Linie/Teil finden möchte. Jetzt kann ich an jedem Ende eine Box aufspannen, die mir die Flansche selektiert und ich anhand dessen zu den Teilenummern(~15, etc..) der Teile komme. Damit kann ich aus deiner Lösung im Beitrag zuvor alle Einzelteile durchsuchen, und nach der langen Geraden suchen. Das ist aber keine schöne Lösung. Schön wäre es, wenn ich am Ende der Line alle Teile selektieren könnte die dort sind. Ich möchte so wenig wie möchglich Einzelfallentscheidungen treffen müssen, damit das Makro bedienbar bleibt. Wir haben da noch so ein paar Teile, die eben keine Flansche oder sowas haben... Besten Dank schon mal im Voraus!
[Diese Nachricht wurde von Safari am 22. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
friedhelm at work Mitglied Techniker Aluminium Profile
Beiträge: 882 Registriert: 01.04.2003 Creo Elements Direct /Drafting 17+20.x ui classic-Tablett + Ribbon, Modeling 17-20.0,.2,.4,.5 Lizenz auf USB-Netzwerkadapter PE-Express 8 Win 10 Enterprise 64 @work Win 10 Pro 64 @home Notepad++,IrfanView,eDrawings, ....
|
erstellt am: 23. Mai. 2012 21:45 <-- editieren / zitieren --> Unities abgeben: Nur für Safari
Hi Safari, wäre schön wenn das direkt möglich wäre, aber es werden entweder alle Elemente im Rahmen oder nur ein Element unter dem Punkt erfasst. Wäre ein (guter) Verbesserungsvorschlag das zusätzlich einzubauen Aber es (das "Berühren") ist möglich würde ich sagen. Aber Elegant ??? Wenn du den Endpunkt eines Elementes ermittelt hast müsstest du wie beim Schiffeversenken einen Fächer von Mindestens 45° mit INQ_ELEM "abtasten" und dabei die gefundenen Elemente (mehrere) erfassen um auch die Weichen erkennen zu können. Die Zentren der Messpunkte zu ermitteln ... Ich heute nicht mehr Den Durchmesser des Fangradius kannst du mit CATCH NO_VIEWPORT_RANGE X einstellen. Wobei ich nicht mehr weiss ob der Wert X Bildschirmpunkte, Radius oder Durchmesser angibt. Nicht vergessen ihn danach mit CATCH NO_VIEWPORT_RANGE 0 zurückzusetzen Na denn, bis dann. ------------------ Gruss Friedhelm [Diese Nachricht wurde von friedhelm at work am 23. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Safari Mitglied
Beiträge: 8 Registriert: 16.05.2012 Drafting 17.0, Drafting 18.1
|
erstellt am: 11. Sep. 2012 11:55 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|