Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  PTC Creo Elements/Programmierung
  Abfrage

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
  
Optimieren Sie Ihr Rechenzentrumsn, eine Pressemitteilung
Autor Thema:  Abfrage (1421 mal gelesen)
Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 03. Nov. 2004 14:57    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

Tag zusammen

Ich hab mir wieder einmal ein Makro gebastelt, welches noch nicht ganz so funktioniert wie ich will. Das Makro soll mir zum "Bemassen" von Koordinaten dienen. Ich kann damit einen Nullpunkt bestimmen. Danach möchte ich solange ich will einen Punkt (Linien-, Bogen-Anfangs oder -Endpunkt oder Mittelpunkt von eimem Bogen/Kreis)klicken und dazu die X,Y Koordinaten ablegen. Nun mein Problem: Sobald ich kein Anfangs-, End- oder Mittel-Punkt anklicke, soll die Schleife beendet werden. Wie kann ich dieses Problem elegant lösen???

DEFINE Koordinaten

LOCAL XP
LOCAL YP
LOCAL XN
LOCAL YN
LOCAL XT
LOCAL YT
LOCAL P
LOCAL Null
LOCAL Q
LOCAL Farbe
LOCAL Linienart


TEXT_SIZE 3.5
TEXT_RATIO 1
TEXT_SLANT 0
TEXT_FRAME OFF
TEXT YELLOW END

INQ_ENV 3
LET Farbe (INQ 201)
LET Linienart (INQ 301)

catch vertex
READ 'Nullpunkt' Null
LET XN (X_OF Null)
LET YN (Y_OF Null)

SHOW VERTEX ON

LOOP
READ PNT 'Punkt anklicken' P


EXIT_IF XXXXXXXXXXXXXXXXXXXXXXXXXXXXXx


POINT WHITE  LONG_DASHED
P END
LET XP (X_OF P)
LET YP (Y_OF P)
LET XT (XP - XN)
LET YT (YP - YN)
LET XT (STR (ROUND(XT*1000)/1000))
LET YT (STR (ROUND(YT*1000)/1000))
TEXT (XT + "/" + YT)
read last_prompt last_feedback Q
Q END
END_LOOP
END
SHOW VERTEX OFF
RGB_COLOR Farbe
LINEPATTERN Linienart
END_DEFINE

------------------
mfg Thömu

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: 03. Nov. 2004 15:04    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 Thömu 10 Unities + Antwort hilfreich

hallo,
so könnte ein Ansatz zur Lösung aussehen.

LOOP
  READ PNT 'Punkt anklicken' P
  INQ_ENV P
EXIT_IF (INQ 403 = END)  (* JA, wenn Elementtyp END, also beliebiger Punkt auf dem Bildschirm *)

  ... Deine Makrobefehle ...

END_LOOP

------------------
Grüsse aus dem Schwarzwald 
www.Andreas-Baumgartner.de

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 03. Nov. 2004 15:14    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

Salut

Da meinst wohl mit INQ_ELEM als INQ_ENV ????

So hatte ich das Makro zuerst geschrieben, doch es funktioniert nur, wenn ich auf eine Geometrie klicke. Mit dem Mittelpunkt eines Kreises oder Bogens geht es nicht (nur wenn z.B. noch die Symetrielinien darüber liegen, doch das ist bei mir bei Bögen eher selten)

------------------
mfg Thömu

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 03. Nov. 2004 16:51    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 zusammen

Ich hab nun ein bisschen weiter probiert. Wenn ich vor der Punkt-Abfrage noch ein catch vertex eintippe, funktioniert der Fang auf den Mittelpunkt und die Endpunkte suber, allerdings kann ich die Schleife immer noch nicht beenden.

Es gibt doch bestimmt den Befehl, dass man nur die Schleife mit end beenden kann, oder??

------------------
mfg Thömu

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2166
Registriert: 12.12.2000

erstellt am: 03. Nov. 2004 17:06    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 Thömu 10 Unities + Antwort hilfreich

Versuchs mit
Code:

LOOP
READ PNT QUALIFIER 'Punkt anklicken' P
EXIT_IF (P=END)
.
.
.
END_LOOP

------------------
meine LISP-Makros sind auf Heikos Hilfeseite
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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: 03. Nov. 2004 17:08    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 Thömu 10 Unities + Antwort hilfreich

hi thömu
wie du schon gemerkt hast:
baumgartner meinte schon inq_elem (schreibfehler)
der rest stimmt

zb.

define ab
loop
read pnt 'punkt antippen' pp
inq_elem pp
exit_if (inq 403 = end)
end_loop
end_define

gruss aus finsterhennen

------------------
awi
André Weidmann

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 03. Nov. 2004 17:40    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 zusammen

Also, mit read pnt qualifier 'Punkt' P habe ich immer noch das gleiche Problem. Ich komme mit END nicht aus der Schleife und auch nicht mit ins "Leere" klicken. Hier die Trace davon, zuerst neben die Geometrie geklickt, danch mit end abgebrochen.

Koordinaten
TEXT_ADJUST 5
TEXT_SIZE 3.5
TEXT_RATIO 1
TEXT_SLANT 0
TEXT_FRAME OFF
TEXT
YELLOW
END
INQ_ENV 3
LET Farbe ( INQ 201 ) 1,1,1
LET Linienart ( INQ 301 ) '11111111111000001111111111100000'
SHOW VERTEX ON
CATCH VERTEX
READ 'Nullpunkt' Null
PICK_VP_PNT 1 14.0641089272908,-15.9217300703854
LET Xn ( X_OF Null 13.4853566884732,-16 ) 13.4853566884732
LET Yn ( Y_OF Null 13.4853566884732,-16 ) -16
LOOP
READ PNT QUALIFIER 'Punkt anklicken' P
PICK_VP_PNT 1 -40.1756828978069,-14.4066520864441
EXIT_IF ( P -40.1756828978069,-14.4066520864441 =
END ) 0
POINT
WHITE
LONG_DASHED P -40.1756828978069,-14.4066520864441
END
LET Xp ( X_OF P -40.1756828978069,-14.4066520864441 ) -40.1756828978069
LET Yp ( Y_OF P -40.1756828978069,-14.4066520864441 ) -14.4066520864441
LET Xt ( Xp -40.1756828978069 - Xn 13.4853566884732 ) -53.6610395862802
LET Yt ( Yp -14.4066520864441 - Yn -16 ) 1.5933479135559
LET Xt ( STR ( ROUND ( Xt -53.6610395862802 * 1000 ) / 1000 ) ) '-53.661'
LET Yt ( STR ( ROUND ( Yt 1.5933479135559 * 1000 ) / 1000 ) ) '1.593'
TEXT ( Xt '-53.661' + '/' + Yt '1.593' ) '-53.661/1.593'
READ LAST_PROMPT LAST_FEEDBACK Q
PICK_VP_PNT 1 -41.9937764785364,-25.012197974033 Q
  -41.9937764785364,-25.012197974033
END
END_LOOP
READ PNT QUALIFIER 'Punkt anklicken' P
END
TRACE


@AWI

Ich weiss jetzt nicht genau was du damit meinst, es funktionier einfch solange gut, wie ich eine Geometrie anklicke. Nur der Mittelpunkt funzt nicht, da bricht mit das Makro ab.


------------------
mfg Thömu

[Diese Nachricht wurde von Thömu am 03. Nov. 2004 editiert.]

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: 03. Nov. 2004 18:07    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 Thömu 10 Unities + Antwort hilfreich

hi thömu
ich weiss auch nicht wie du's meinst aber mein macro fuktioniert solange wie ich nicht ins leere tippe. du musst nur noch die abfrage machen.
zb. wenn linie kreis dann nimm mittelpunkt (klicken auf kreis und nicht in den mittelpunkt)

mein macro

define ab
loop
read pnt 'punkt antippen' pp
inq_elem pp
exit_if (inq 403 = end)

text (str pp)

read last_prompt last_feedback ppp ppp
end

end_loop
end_define


------------------
awi
André Weidmann

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2166
Registriert: 12.12.2000

erstellt am: 03. Nov. 2004 18:26    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 Thömu 10 Unities + Antwort hilfreich

Also das hab ich grade getestet:
Code:

DEFINE Test
  LOOP
    READ PNT QUALIFIER 'X' P
  EXIT_IF (P=
    END)
    DISPLAY 'Schleife'
  END_LOOP
  DISPLAY 'Ende'
END_DEFINE

Zum Beenden muss man aber nicht ins Leere tippen, sondern eben auf ENDE

------------------
meine LISP-Makros sind auf Heikos Hilfeseite
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 04. Nov. 2004 08: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


Band.jpg

 
Guten Morgen zusammen

@Walter

Geht bei mir nicht!!! Ich hab dein Makro Test hereingeladen. Wenn ich auf etwas klicke oder auch nur ins Leere erscheit ein Fenster wo Schleife steht. Soweit gut. Nun kann ich aber auf Ende klicken oder end eingeben, es erscheint kein Fenster wo Ende steht, sonder es bricht das Makro direkt ab. Hier die Trace davon:

Test
LOOP
READ PNT QUALIFIER 'X' P
PICK_VP_PNT 1 46.3499420625724,61.7612977983778
EXIT_IF ( P 46.3499420625724,61.7612977983778 =
END ) 0
DISPLAY 'Schleife'
END_LOOP
READ PNT QUALIFIER 'X' P
END
TRACE


Mir würde diese Variante mit end eigentlich gefallen, da ich noch vor der AUswahl ein catch vertex einbauen kann, so dass man nur die Anfangs-, End- und Mittelpunkte (und die Splinepunkte) wählen kann.

@awi

Jetzt verstehe ich wie du das meinst. DIe Idee finde ich eigentlich gut, doch für meinen Fall ergibt sich ein Problem daraus. Es bedingt immer, dass von einem Bogen aus eine Linie weiter läuft, damit man den Schnittpunkt wählen kann. Bei uns kommt es aber sehr oft vor, dass aus einem Bogen ein weiterer Bogen tangential weiter läuft. Ich hab mal ein Bild davon in den Anhang getan.

------------------
mfg Thömu

[Diese Nachricht wurde von Thömu am 04. Nov. 2004 editiert.]

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

H.annes
Mitglied
CAD-Pfriemler


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

Beiträge: 482
Registriert: 02.07.2001

OSDD 8.7 - 13.20 ; OSDM 13.00

erstellt am: 04. Nov. 2004 09:34    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 Thömu 10 Unities + Antwort hilfreich

Morgen!

Du vermischt da 2 Varianten:

(1) Schleife soll beendet werden, wenn END eingegeben wird, oder wenn aufs Feld ENDE gedrückt wird:

    READ PNT QUALIFIER '...' P
  EXIT_IF (P=END)

(2) Schleife soll beendet werden, wenn ins Leere gedrückt wird, also wenn kein Element angetippt wird:

    READ PNT "..." P
    INQ_ELEM P
  EXIT_IF (INQ 403) = END)

Das sind 2 völlig verschiedene Sachen!!!


Gruß,
Hannes

------------------
i hob oiwei glaubt i datrogats goa nia. hiaz hob is datrogn - oba frogz mi net wia.

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 04. Nov. 2004 10:09    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

Salut Hannes,

ich habe diese beiden Varianten nicht vermischt, ich sehe schon, dass es 2 unabhängige Varianten sind. Für mich würden beide in Frage kommen, die Variante mit ENDE zum beenden oder die Variante mit dem ins Leere klicken.

Ich ahbe nun eine Lösung, sie ist zwar nicht so richtig nach dem Lehrbuch, aber sie geht (in diesem Fall): Mein Problem (mit der end-Variante von Walter) ist ja, dass es mir die Befehle nach der Schleife nicht mehr ausführt. In diesem Fall ist das ja nur die Linienattribute zurückzusetzen. Ich setzte diese nun einfach in der Schleife schon zurück. Das einzige was nicht geht, ist die Schnitt-Punkte wieder auszuschalten, da diese bei der Auswahl sichtbar sein sollten.

Jetzt habe ich noch ne frage zum Befehl READ PNT QUALIFIER. Was genau ist die Funktion davon? In meinen Unterlagen finde ich ihn niergens.
Und warum funktioniert er bei mir nicht richtig???

------------------
mfg Thömu

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

Fan-ME10
Mitglied
DV-Adminstrator, Konstrukteur


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

Beiträge: 543
Registriert: 21.08.2001

Erare humanum est

erstellt am: 04. Nov. 2004 10: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 Thömu 10 Unities + Antwort hilfreich

Hallo Thömu,

vielleicht musst du erst feststellen, was eingelesen wurde?

IF (TYPE P=PNT)
  Befehl1
ELSE_IF (TYPE P=QUALIFIER)
  Befehl2
END_IF

Wie wäre es, wenn du dein aktuelles Makro nochmal postest?

------------------
Gruß Wilfried 

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

H.annes
Mitglied
CAD-Pfriemler


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

Beiträge: 482
Registriert: 02.07.2001

OSDD 8.7 - 13.20 ; OSDM 13.00

erstellt am: 04. Nov. 2004 10:45    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 Thömu 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Thömu:
... Mein Problem (mit der end-Variante von Walter) ist ja, dass es mir die Befehle nach der Schleife nicht mehr ausführt...


Hallo,

ok - jetzt hab ich mir's genauer angesehn (ich war grade 2 Wochen weg).
Walter hat einen Fehler gemacht (Gruß nach Wien !). END ist kein "qualifier", sonder ein "command". Das "END" wird also nicht eingelesen, sondern sofort ausgeführt -_> das Makro wird beendet.

Es müßte also heißen:
  READ PNT COMMAND "..." P
Einen Befehl (command) im Makro mit READ einzulesen, w+ürde ich aber unbedingt vermeiden! Bleib lieber bei der INQ_ELEM-variante.

Zur 2.Frage:
Der Satz
  READ PNT QUALIFIER P
erlaubt es, verschiedene Datentypen einzulesen, in diesem Fall Punkte & eben Qualifier.

Hannes

------------------
i hob oiwei glaubt i datrogats goa nia. hiaz hob is datrogn - oba frogz mi net wia.

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2166
Registriert: 12.12.2000

erstellt am: 04. Nov. 2004 11:00    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 Thömu 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von H.annes:
...Walter hat einen Fehler gemacht

Asche auf mein Haupt  nach 5 Jahren OSD sind meine ME10-Kenntnisse schon etwas eingerostet

------------------
meine LISP-Makros sind auf Heikos Hilfeseite
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 04. Nov. 2004 11:41    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


Nullpunkt.mi.txt

 
Hier ist einmal das Makro, wie es zur Zeit aussieht:

DEFINE Koordinaten

LOCAL F
LOCAL XP
LOCAL YP
LOCAL XN
LOCAL YN
LOCAL XT
LOCAL YT
LOCAL P
LOCAL A
LOCAL Null
LOCAL Q
LOCAL Farbe
LOCAL Linienart

TEXT_ADJUST 5
TEXT_SIZE 3.5
TEXT_RATIO 1
TEXT_SLANT 0
TEXT_FRAME OFF
TEXT YELLOW END

INQ_ENV 3
LET Farbe (INQ 201)
LET Linienart (INQ 301)

SHOW VERTEX ON


READ 'Nullpunkt' Null
LET XN (X_OF Null)
LET YN (Y_OF Null)

LOAD SUBPART 'u:/birrer/Nullpunkt.mi'
Null END


LOOP
SHOW VERTEX ON
CATCH VERTEX
READ PNT COMMAND 'Punkt anklicken' P
EXIT_IF (P=END)
POINT WHITE  LONG_DASHED
P END
LET XP (X_OF P)
LET YP (Y_OF P)
LET XT (XP - XN)
LET YT (YP - YN)
LET XT (STR (ROUND(XT*1000)/1000))
LET YT (STR (ROUND(YT*1000)/1000))
TEXT (XT + "/" + YT)
read last_prompt last_feedback Q
Q END
END_LOOP
END

CATCH ALL
SHOW VERTEX OFF
RGB_COLOR Farbe
LINEPATTERN Linienart

LET F 0

LOOP
READ 'Radius oder Durchmesser' A
INQ_ELEM A
IF (INQ 403=CIRCLE)
DA_DIM_DIAMETER Placement CENTER_LINE A
read last_prompt last_feedback Q
Q END
ELSE_IF (INQ 403=ARC)
DA_DIM_RADIUS Placement CENTER_LINE A
read last_prompt last_feedback Q
Q END
ELSE
LET F 1

END_IF
EXIT_IF (F=1)
END_LOOP
END
END_DEFINE


(((Ich bin nun noch dabei, dass es mir auf dem Nullpunkt noch das entsprechende Symbol darauf Zeichnet, ich werd es damit dan auch noch posten.))) Ist nun gemacht, Zeichnungspfad anpassen, Zeichnung im Anhang.

(((OK, dann lass ich einmal die Finger von der END-Variante. Jetzt habe ich aber wieder das Problem, dass ich die Mittelpunkte nicht wählen kann (oder die Schnittpunkte zwischen 2 Bogen, wenn ich denn Fang auf Mittelpunkt welchsle).))) Ist nun doch wieder mit der END-Variante

(((ICh weiss, dass Makro funktioniert ja so wie ich es nun gepostet habe, allerdings möchte ich es noch ausbauen, so dass ich nach der Koordinatenbemassung direkt noch die Radien und Durchmesser bemassen könnte.))) Ist nun auch noch eingebaut.

------------------
mfg Thömu

             

[Diese Nachricht wurde von Thömu am 04. Nov. 2004 editiert.]

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

Fan-ME10
Mitglied
DV-Adminstrator, Konstrukteur


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

Beiträge: 543
Registriert: 21.08.2001

Erare humanum est

erstellt am: 04. Nov. 2004 13:25    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 Thömu 10 Unities + Antwort hilfreich

Hallo Walter,

mir ist auch nicht aufgefallen, das END ein COMMAND ist, obwohl ich schon einiges in dieser Richtung programmiert habe. Also brauchst du dich nicht schämen.

Hallo Thömu,

die END-Variante brauchst du nicht verwerfen, wenn das korrekt als COMMAND deklariert ist beim Einlesen klappt das fabelhaft.

------------------
Gruß Wilfried 

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 04. Nov. 2004 13:30    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

Zitat:
Original erstellt von H.annes:

Einen Befehl (command) im Makro mit READ einzulesen, w+ürde ich aber unbedingt vermeiden! Bleib lieber bei der INQ_ELEM-variante.

Ich würde sie verwerfen, weil Hannes es entfielt.

@Hannes: Was ist daran der Nachteil?????

------------------
mfg Thömu

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

H.annes
Mitglied
CAD-Pfriemler


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

Beiträge: 482
Registriert: 02.07.2001

OSDD 8.7 - 13.20 ; OSDM 13.00

erstellt am: 04. Nov. 2004 14:44    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 Thömu 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Thömu:

@Hannes: Was ist daran der Nachteil?????

Es ist m.E. nicht völlig stabil - das ist aber sicherlich auch Geschmacksache.

Der aktuelle Befehl bzw. das akt. Makro wird ja eh beendet, wenn man einen neuen Befehl aufruft; dann wird dieser neue Befehl ausgeführt.

Wenn ich das Makro ausführe und, ohne auf ENDE zu drücken, zB im Erstellen-Menü "Linie parallel" aufrufe, wird die Befehlsfolge
LINE PARALLEL
aufgerufen. Der Befehl LINE wird vom "READ PNT COMMAND" abgefangen, das Makro wird beendet. ME10 versucht nun, PARALLEL auszuführen - was natürlich nicht geht, ME10 piepst.
Natürlich kann man das auch wieder abfangen - aber lohnt's den Aufwand? Wenn ich einen neuen Befehl anwähle, wird das Makro sowieso beendet.

------------------
i hob oiwei glaubt i datrogats goa nia. hiaz hob is datrogn - oba frogz mi net wia.

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 04. Nov. 2004 14:53    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

Ah, solche Makros kenne ich, es kommt eine Fehlermeldung und dann heisst es "Formel/Ausdruck eingeben".

Naja, ich lasse es nun einmal mit dem comand, bis ich (oder jemand anderes) ne bessere Lösung kennt.

Vielen Dank an alle, das Makro steht nun soweit. Ich habe nun auch noch die Bemassung von Durchmessern und Radien hinzugefügt. Somit sollte man eigentlich die komplete Koordinatenbemassung machen können.

Ich habe das Makro weiter oben noch einmal ergänzt.

------------------
mfg Thömu

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

RainerH
Mitglied
Techn. Ang. (Konstruktion)


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

Beiträge: 736
Registriert: 22.01.2003

OSDM 14.00A
OSDD 14.50
MM 14.00A
Windows-XP Pro x64 Edition
--------------------------
HP xw6400
Intel Xeon 3.00 GHz
4.00 GB RAM
ATI FireGL V7200

erstellt am: 04. Nov. 2004 22:18    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 Thömu 10 Unities + Antwort hilfreich

@Thoemu

Kann das ganze momentan nicht testen, aber hast du es schon mal mit:

READ PROMPT ... 

versucht ??

Gruss
RainerH.

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 05. Nov. 2004 07: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

Guten Morgen

Ich hab es mal mit "READ PROMPT 'Punkt' P" versucht. Mit Ende bricht das Makro wieder ganz ab. Ich weiss allerdings auch nicht, was PROMPT verursachen soll. In der Hilfe habe ich dies gefunden: "'Prompt' bezeichnet die Eingabeaufforderung der READ-Aufforderung" ????????

------------------
mfg Thömu

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

Fan-ME10
Mitglied
DV-Adminstrator, Konstrukteur


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

Beiträge: 543
Registriert: 21.08.2001

Erare humanum est

erstellt am: 05. Nov. 2004 07:47    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 Thömu 10 Unities + Antwort hilfreich

Hallo Thömu,

die Syntax ist:

LET Prompttext 'Mach deine Eingabe'

READ PNT COMMAND PROMPT Prompttext P

------------------
Gruß Wilfried  

[Diese Nachricht wurde von Fan-ME10 am 05. Nov. 2004 editiert.]

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

rmcc1980
Mitglied
Ingenieur


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

Beiträge: 358
Registriert: 06.06.2003

Drafting 18.1
Modeling 18.1
MM
Win7 64

erstellt am: 05. Nov. 2004 07:58    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 Thömu 10 Unities + Antwort hilfreich

Hallo,
das mit dem COMMAND klappt dann ganz gut, wenn man nach Erkennen von TYPE COMMAND, direkt an das Ende des Makros springt und erst dort das eingelesene Kommando ausführt. Damit ist das Makro beendet und das Kommando kann sauber ausgeführt werden.

Schöne Grüße
Bernd

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

Thömu
Mitglied
Konstrukteur


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

Beiträge: 283
Registriert: 09.04.2003

SolidWorks 09 SP3
Catia V5 R16
Pro/E WF3
Hardeware, je nach PC...
Zuhause das gute alte OSM PE und OSD 15.5D als Demo

erstellt am: 05. Nov. 2004 14:31    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


Unbenannt1.jpg

 
Ich hab es noch einmal mit der prompt-Variante getestet, ich hab kein Unterschied bemerkt.

Doch es hat sich nun eine weitere Frage ergeben. Ich hatte die Idee, den Text (die XY-Koordinaten) mit der Bezugslinie mit dem entsprechendem Punkt zu verbinden (im Makro). Nun ergibt sich aber das Problem, dass die Linie über den Text geht. Mit der Quelllücke kann ich dies ja einstellen, jedoch müsste ich dann für jede einzelne Koordinate einen anderen Wert einstellen, je nach Winkel und Länge der Koordinate. Jetzt meine Frage, gibt es hier auch eine Funktion wie bei der Schraffur, welche automatisch die Bezugslinie "kürzt"??

Ich hab einmal im Anhang die Situation Aufgezeichnet.

------------------
mfg Thömu

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

Dittrich
Mitglied
SysAdmin


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

Beiträge: 388
Registriert: 06.06.2000

Wenn es nicht geht, probier was anderes,
vielleicht geht es dann auch nicht.

erstellt am: 05. Nov. 2004 16:21    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 Thömu 10 Unities + Antwort hilfreich

Glaube nicht das es diese automatische Freistellung gibt. Ich kenne aber nur die V8. Ich habe irgendwann mal ähnliches programmiert, aber nur zur Absetzhilfe FEEDBACK Rubberlines genommen, voran man dann auch sieht ob der Mittelpunkt der Bohrung korrekt gefangen wurde. Ich habe da aber nur Positionsnummern abgesetzt (wegen der Übersichtlichkeit) und parallel eine Tabelle auf dem Zeichenblatt protokolliert, die zu den Positionsnummern die XY-Koordinaten und den Kreisdurchmesser mitschreibt. Das Ganze konnte ich noch in ein CNC-Programm exportieren. Habe aber irgendwann den Spass daran verloren, weil die 3. Dimension fehlt. Senkbohrungen und Sacklöcher lassen sich damit einfach nicht erschlagen, es sei denn, die Kreise tragen die Info, was sie eigentlich sind.
Zu deinem Problem, sehe ich nur die Chance, das du den Endpunkt der Linie auch abfragst und nicht automatisch auf die Textposition setzt. Theoretisch könnte man das auch berechnen, aber sehr mühsam.


[Diese Nachricht wurde von Dittrich am 05. Nov. 2004 editiert.]

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)2025 CAD.de | Impressum | Datenschutz