Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Drafting
  Maßzahlen einklammern

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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


Sehen Sie sich das Profil von KBB an!   Senden Sie eine Private Message an KBB  Schreiben Sie einen Gästebucheintrag für KBB

Beiträge: 22
Registriert: 09.08.2001

erstellt am: 02. Nov. 2001 19:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Hartmuth an!   Senden Sie eine Private Message an Hartmuth  Schreiben Sie einen Gästebucheintrag für Hartmuth

Beiträge: 1240
Registriert: 07.04.2001

erstellt am: 02. Nov. 2001 22:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KBB 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von baumgartner an!   Senden Sie eine Private Message an baumgartner  Schreiben Sie einen Gästebucheintrag für baumgartner

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KBB 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von KBB an!   Senden Sie eine Private Message an KBB  Schreiben Sie einen Gästebucheintrag für KBB

Beiträge: 22
Registriert: 09.08.2001

erstellt am: 06. Nov. 2001 21:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

danke Hartmuth,
so klappts prima. Die Lösung aus dem Schwarzwald ist vielleicht auch nicht schlecht, aber zu kompliziert für mich.

Gruß
Klaus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

awi
Mitglied
Programmierer


Sehen Sie sich das Profil von awi an!   Senden Sie eine Private Message an awi  Schreiben Sie einen Gästebucheintrag für awi

Beiträge: 275
Registriert: 11.11.2001

awinformatik
- individuallösungen
rund um me10.
- pc-steuerungen.

erstellt am: 11. Nov. 2001 10:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KBB 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von awi an!   Senden Sie eine Private Message an awi  Schreiben Sie einen Gästebucheintrag für awi

Beiträge: 275
Registriert: 11.11.2001

awinformatik
- individuallösungen
rund um me10.
- pc-steuerungen.

erstellt am: 11. Nov. 2001 10:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KBB 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von KBB an!   Senden Sie eine Private Message an KBB  Schreiben Sie einen Gästebucheintrag für KBB

Beiträge: 22
Registriert: 09.08.2001

erstellt am: 11. Nov. 2001 20:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von awi an!   Senden Sie eine Private Message an awi  Schreiben Sie einen Gästebucheintrag für awi

Beiträge: 275
Registriert: 11.11.2001

awinformatik
- individuallösungen
rund um me10.
- pc-steuerungen.

erstellt am: 14. Dez. 2001 12:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KBB 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz