| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Maßzahlen einklammern (1107 mal gelesen)
|
KBB Mitglied Konstrukteur
Beiträge: 22 Registriert: 09.08.2001
|
erstellt am: 02. Nov. 2001 19:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, ich habe versucht, ein Makro zu erstellen, das Maßzahlen einklammert, damit ich nicht Prefix bzw. Postfix einzeln hinzu fügen muß. Das Makro sieht so aus: ADD_DIM_PREFIX '(' ADD_DIM_POSTFIX ')' setzt aber nur die letzte Klammer, nicht auch die erste. Und wenn der Bemaßungstext schon ein Postfix hat, wird dieser mit der geschlossenen Klammer überschreiben (das will ich auch nicht). Hat jemand einen Rat? Gruß Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hartmuth Mitglied CAD-Support
Beiträge: 1240 Registriert: 07.04.2001
|
erstellt am: 02. Nov. 2001 22:24 <-- editieren / zitieren --> Unities abgeben: Nur für KBB
Hallo Klaus, Dein Makro beinhaltet 2 Befehle die jeweils den vorhergehenden beenden. Deshalb kann nur der 2. Befehl (ADD_DIM_POSTFIX) ausgeführt werden. Dieser Befehl ersetzt immer ein vorhandenes Postfix oder erzeugt ein neues wenn noch keins da ist. Du mußt die Sache etwas anders beginnen: Zuerst muß das Maß ausgewählt werden und anschließend mit 2 von einander unabhängigen Befehlen Präfix und Postfix hinzugefügt werden. Das ganze funktioniert wie folgt: DEFINE Mass_klammern_hinzu LOCAL P1 LOOP READ PNT 'Mass anklicken' P1 INQ_SELECTED_ELEM P1 EXIT_IF ((INQ 403)=DIM_LINE) BEEP END_LOOP ADD_DIM_PREFIX '(' P1 ADD_DIM_POSTFIX ')' P1 END END_DEFINE Weil aber die Befehle wie schon gesagt vorhandene Präfixes unt Postfixes überschreiben müßte man für solche Fälle das angewählte Maß noch auf bestehende Fixes prüfen und gegebenenfalls diese mit "EDIT_DIM_PREFIX" bzw. "EDIT_DIM_POSTIX" ergänzen. Das macht es aber makrotechnisch ziemlich aufwendig. Deshalb würde ich in solchen Fällen die FIX-Texte manuell editieren. Grüsse Hartmuth Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
baumgartner Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 715 Registriert: 05.01.2001 Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10. * ME10-Makros * ME10-Makroschulungen
|
erstellt am: 02. Nov. 2001 23:37 <-- editieren / zitieren --> Unities abgeben: Nur für KBB
hallo Klaus, leider gibt es bei ME10 keine Möglichkeit das Präfix oder Postfix mittels INQ_ELEM und anschliessendem INQ (Nr) zu ermitteln. Auch mittels GEP_PROPERTIES ist es nicht möglich eine vorhandene Bemassung zur aktuellen Bemassung zu machen. Denn dann könnte man mit INQ_ENV 17 und INQ 902 vorhandenen Präfix oder Postfix ermitteln. (es soll ja demnächst ME10-V11 erscheinen, ich hoffe auf diese Befehle seit Version 2.x !!!) Es bleibt dir also nur die o.g. Möglichkeit von Hartmuth. Ich habe jedoch aus der Not meine Tabelle für Prä- und Postfix derart erweitert, dass ich nicht nur "M" eingetragen haben, sondern auch noch "(M" und "(R" usw... Es hilft in solchen Fällen wirklich. Wenn Du allerdings den Aufwand nicht scheust, könntest Du ein vorhandenes Präfix über das MI-File ermitteln. Mit INQ_ELEM und INQ 101 etmittelst Du den Punkt der Masszahl, mit INQ 306 den Masstext. Suche dann im MI-File in der Sektion DSGL, 12 Positionen später nach X von der Position der Masszahl, bei 13 entsprechend Y und zur Sicherheit bei Position 26 der Masstext. Bei Position 67 (72 Postfix) steht dann eine 1 wenn bei 68 das tatsächliche Präfix (73 Postfix-Text)aufgelistet ist. Entsprechend kannst Du dann das Macro steuern und einmal ADD_DIM_PREFIX "(" P0 oder EDIT_DIM_PREFIX P0 ("(" + vorhanden) aufrufen. Klingt kompliziert, doch der Aufwand dies zu programmieren ist im Rahmen. Lediglich die zu erwartende Bearbeitungszeit bei grossen Zeichnungen könnte die Geduld des Anwenders strapazieren. Es wäre ein Versuch wert - oder verfügt ME10-V11 über die gewünschten Möglichkeiten? Grüsse aus dem Schwarzwald
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KBB Mitglied Konstrukteur
Beiträge: 22 Registriert: 09.08.2001
|
erstellt am: 06. Nov. 2001 21:52 <-- editieren / zitieren --> Unities abgeben:
|
awi Mitglied Programmierer
Beiträge: 275 Registriert: 11.11.2001 awinformatik - individuallösungen rund um me10. - pc-steuerungen.
|
erstellt am: 11. Nov. 2001 10:11 <-- editieren / zitieren --> Unities abgeben: Nur für KBB
hi klaus anbei die lösung für das hinzufügen von klammer, unter beibehaltung des ev. vorhandenen pre oder postfixes. du kannst das macro von hartmut nehmen und wie folgt ergänzen. DEFINE Mass_klammern_hinzu LOCAL P1 LOOP READ PNT 'Mass anklicken' P1 INQ_SELECTED_ELEM P1 EXIT_IF ((INQ 403)=DIM_LINE) BEEP END_LOOP da_style_get P1 dim_prefix '' dim_posrfix '' inq_env 17 let strPreFix ((inq 902)+'(') let strPostFix ((inq 904)+')') ADD_DIM_PREFIX '(' strPreFix ADD_DIM_POSTFIX ')' strPostFix END END_DEFINE ------------------ awi André Weidmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
awi Mitglied Programmierer
Beiträge: 275 Registriert: 11.11.2001 awinformatik - individuallösungen rund um me10. - pc-steuerungen.
|
erstellt am: 11. Nov. 2001 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für KBB
hi ich habe dir hier einen lösungsansatz zum thema post- und prefix erfassen. siehe beispiel: define GetBemFix local DimPkt loop read pnt 'Mass antippen' DimPkt inq_elem DimPkt if ((substr (str inq 403) 1 3)='DIM') dim_prefix '' dim_postfix '' da_style_get DimPkt end inq_env 17 di ('Prefix = '+(inq 902)+' Postfix 904 = '+(inq 904)) end_if end_loop end_define ------------------ awi André Weidmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KBB Mitglied Konstrukteur
Beiträge: 22 Registriert: 09.08.2001
|
erstellt am: 11. Nov. 2001 20:03 <-- editieren / zitieren --> Unities abgeben:
Hallo André, ich hab dein Makro mal ausprobiert, aber leider wurden keine Klammern gesetzt. Warum weiß ich ich, dafür hab ich zu wenig Makrokenntnisse. In dem Makro war ein Schreibfehler (dim_posrfix), aber eine Korrektur brachte auch kein Ergebnis. Mit deinem anderen Makro "GetBemFix" konnte ich leider nichts mit anfangen, weil ich nicht weeiß, wie ich es einzusetzen habe. Hast du noch einen Tip, wie du mir helfen kannst? Danke Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
awi Mitglied Programmierer
Beiträge: 275 Registriert: 11.11.2001 awinformatik - individuallösungen rund um me10. - pc-steuerungen.
|
erstellt am: 14. Dez. 2001 12:11 <-- editieren / zitieren --> Unities abgeben: Nur für KBB
hi klaus sorry. hier aber die richtige lösung. gruss awi DEFINE Mass_klammern_hinzu LOCAL P1 LOOP READ PNT 'Mass anklicken' P1 INQ_SELECTED_ELEM P1 EXIT_IF ((INQ 403)=DIM_LINE) BEEP END_LOOP da_style_get P1 dim_prefix '' dim_postfix '' inq_env 17 let strPreFix ((inq 902)+'(') let strPostFix ((inq 904)+')') ADD_DIM_PREFIX strPreFix P1 ADD_DIM_POSTFIX strPostFix P1 END END_DEFINE ------------------ awi André Weidmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |