Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Interrupt actions - erbitte Licht im Dunkeln

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:  Interrupt actions - erbitte Licht im Dunkeln (1193 mal gelesen)
StephanWörz
Mitglied
Maschinenbautechniker


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

Beiträge: 770
Registriert: 11.10.2000

Xenon 3.2GHz
24GB Ram
nVidia Quadro 4000
OSDM 17M050 & 18.1
SWX 2008
PHOENIX V10

erstellt am: 01. Feb. 2019 09: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

Guten Morgen,

ich habe mal eine Grundlegende Frage zum Verständnis der IKit-Doku:

Wenn ich mit dem Rekorder aufzeichne (Analyse>>3D-Richtung) bekomme ich z.B.:

Code:
set_pers_context "Default-Toolbar-relative"
measure_dir_3d
set_pers_context "Toolbar-relative"
:two_pt
(gpntwc -71.247181 40.903338 1.884224 "1")
(gpntwc 70.658362 40.785574 1.884224 "1")
complete
0.70710678118654746,-0.70710678118654746,0.0

Ok - gut! Also mal nach measure_dir_3d in der Doku geschaut!


Zitat:
MEASURE_DIR_3D interrupt action

MEASURE_DIR_3D measures a direction in the global 3D coordinate system.

If the system is being used interactively, the value is displayed in the MEASURE Output Field. By using OK the values can be used without retyping. The value is also written into the system inquiry array (see INQ).

Syntax

---->(MEASURE_DIR_3D)----|MEASURE_DIR_3D_SA|---->

Options
This action has no options.  ?? Hä?? wiese keine Optionen??

Example

The following parameter sequence measures a direction.

MEASURE_DIR_3D [specify a measure direction option]


Wie lese ich denn dies:

---->(MEASURE_DIR_3D)----|MEASURE_DIR_3D_SA|---->

was genau sagen mir die "()" und die "| |"

Na dann mal weiter im Text (Doku):

Zitat:
MEASURE_DIR_3D_SA subaction
MEASURE_DIR_3D_SA provides methods for defining a direction vector.

Syntax

---->(MEASURE_DIR_3D_SA)----+
                            |
        +------<-----------+
        |
    +-->-+--|direction_3D|--------------------------------->-------------+-->--
    |    |                                                              |
    |    +--(:TWO_PT)--|point_3D|--|point_3D|-------------->-------------+
    |    |                                                              |
    |    +--(:X)------------------------------------------->-------------+
    |    |                                                              |
    |    +--(:Y)------------------------------------------->-------------+
    |    |                                                              |
    |    +--(:Z)------------------------------------------->-------------+
    |    |                                                              |
    ^    +--(:NEG_X)--------------------------------------->-------------+
    |    |                                                              |
    |    +--(:NEG_Y)--------------------------------------->-------------+
    |    |                                                              |
    |    +--(:NEG_Z)--------------------------------------->-------------+
    |    |                                                              |
    |    +--(:U)------------------------------------------->-------------+
    |    |                                                              |
    |    +--(:V)------------------------------------------->-------------+
    |    |                                                              |
    |    +--(:W)------------------------------------------->-------------+
    |    |                                                              |
    |    +--(:NEG_U)--------------------------------------->-------------+
    |    |                                                              |
    |    +--(:NEG_V)--------------------------------------->-------------+
    |    |                                                              |
    |    +--(:NEG_W)--------------------------------------->-------------+
    |    |                                                              |
    |    +--(:VP_DIR)----|viewport|------------------------>-------------+
    |    |                                                              |
    ^    +--(:NEG_VP_DIR)----|viewport|-------------------->-------------+
    |    |                                                              |
    |    +--(:FACE_NORMAL)--|pt on face|------------------->-------------+
    |    |                                                              |
    |    +--(:NEG_FACE_NORMAL)--|pt on face|--------------->-------------+
    |    |                                                              |
    |    +--(:EDGE_TANGENT)--|pt on edge|-------------+--+----->------+--+
    |    |                                            |  |            |
    |    +--(:SURFACE_AXIS)--|cyl, cone, torus|-------+  +-(:ACCEPT)--+
    |    |                                              |            |
    |    |                                              +-(:REVERSE)-+
    |    +--(:REF_WP)--|wp|--+
    |                        |
    +--------------<---------+

Options
The following options are available to measure a 3D direction.
:TWO_PT - the direction is from the first point to the second point.
:X - specifies a measurement in the X direction.
:Y - specifies a measurement in the Y direction
:Z - specifies a measurement in the Z direction.
:NEG_X - specifies a measurement in the negative X direction.
:NEG_Y - specifies a measurement in the negative Y direction.
:NEG_Z - specifies a measurement in the negative Z direction.
:U - specifies a measurement in the U direction.
:V - specifies a measurement in the V direction.
:W - specifies a measurement in the W direction.
:NEG_U - specifies a measurement in the negative U direction.
:NEG_V - specifies a measurement in the negative V direction.
:NEG_W - specifies a measurement in the negative W direction.
:VP_DIR - specifies a measurement in the direction normal to the specified viewport.
:NEG_VP_DIR - specifies a measurement in the negative direction normal to the specified viewport.
:FACE_NORMAL - specifies a measurement in a direction normal to the face you define.
:NEG_FACE_NORMAL - specifies a measurement in the negative direction of a face you define.
:EDGE_TANGENT - specifies a measurement tangential to a defined edge. You can either :REVERSE the direction of the edge, or :ACCEPT its current direction.
:SURFACE_AXIS - specifies the desired cylinder, cone, or torus. You can either :REVERSE the direction of the surface, or :ACCEPT its current direction.
:REF_WP - specifies a reference workplane.

When to use
This subaction is used to measure a direction.
All values are displayed in the Direction Output field.


Und wieder ??

Was sagt mir diese Zeile??

+--(:EDGE_TANGENT)--|pt on edge|-------------+--+----->------+--+

mir den "--+--+--"  ???

Ich verstehe die Syntax nicht! und bekomme da nichts raus (habe nicht wenig rumprobiert).

Wie hängen die interrupt actions und sub actions zusammen? Wie spreche ich die im Code richtig an?

Vielleicht hat ja jemand Muse und möchte mich hier ein wenig aufkären.

------------------
...viele Grüße
Stephan

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

clausb
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2914
Registriert: 20.12.2000

Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.

erstellt am: 02. Feb. 2019 22: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 Nur für StephanWörz 10 Unities + Antwort hilfreich

In CoCreate Modeling werden Kommandos von sogenannten Actionroutinen implementiert. Unter http://www.clausbrod.de/cgi-bin/view.pl/Blog/DefinePrivatePublic20090620CommonLispInCoCreateModeling findet man eine Präsentation, in der erklärt wird, was die Grundgedanken hinter dem Konzept waren.

Es gibt verschiedene Typen von Actionroutinen:


  • Terminating action routine
  • Interrupt action routine
  • Subaction

"Terminating action routines" heissen so, weil sie das zuvor laufende Kommando abbrechen, wenn sie starten. Beispiel: Das EXTRUDE-Kommando läuft gerade und sammelt interaktiv Parameter vom Anwender ein; der Anwender überlegt es sich anders und startet TURN. EXTRUDE wird dadurch automatisch abgebrochen.

"Subactions" kann man nur aus einer anderen Actionroutine heraus rufen. In Subactions findet man Funktionalität, die in mehreren anderen Actionroutinen gebraucht wird - zum Beispiel zum Messen. Auch SELECT ist eine Subaction. Auf diese Weise muss die jeweilige Funktionalität nur einmal implementiert werden. Das Ergebnis der Subaction (Beispiel: ein selektiertes Objekt wie eine Fläche oder eine Workplane) wird von der umgebenden Actionroutine verwendet.

"Interrupt actions" sind Actionroutinen, die man starten kann, während eine andere Actionroutine läuft. Die laufende Actionroutine wird dabei NICHT automatisch abgebrochen. Ein Beispiel dafür ist WINDOW_VP - man kann also einen Bildausschnitt in einem Viewport wählen, ohne eine bereits laufende Actionroutine (z.B. EXTRUDE) abzubrechen. Die Interrupt-Action wird ihres Seiteneffekts wegen gerufen (hier: Bildausschnitt wählen), liefert aber keine Resultate an die "umgebende" Actionroutine.

Soviel zunächst zur Einführung.

------------------
CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/ - Blog: http://www.clausbrod.de/Blog

[Diese Nachricht wurde von clausb am 05. Feb. 2019 editiert.]

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 08. Feb. 2019 16: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 Nur für StephanWörz 10 Unities + Antwort hilfreich


cadde_92_000927_full.png

 
Zitat:
Original erstellt von StephanWörz:
Was sagt mir diese Zeile??

+--(:EDGE_TANGENT)--|pt on edge|-------------+--+----->------+--+

mir den "--+--+--"  ???



Ja wenn Du das nicht richtig dargestellt bekommst und es dir das mühsam gezeichnete Ascii Bild zerhaut, dann erkennt man halt nix mehr.

  • - und | ist ein pfad 'hier gehts lang'
  • + ist eine Verzweigung, in der Regel ein Stückchen nach unten und dann gehts nach rechts weiter
  • + kann aber auch eine Zusammenführung NACH einer Verzweigung sein
  • > ist die Laufrichtung
  • < ist die andere Laufrichtung; wird dann z.b. bei Schleifen genutzt (Zeichne Polygon PNT PNT PNT PNT .. etc.)
  • (:nnnnn) ist ein (meist?) optionaler ein gebares keyword
  • |ttttt| kennzeichnet den Typ der (nun) unvermeidbar einzugebenen Daten
  • Verschiedene Optionen zeichnet man meist unterhalb des gerade aktiven Zweiges
  • Rücksprünge zeichnet man meist oberhalb des gerade aktiven Zweiges
Das ==>> komplette Diagramm hier nun etwas geschrumpft:
  

Nach dem Selektieren einer Kante könntest Du die Richtung der Kante acceptieren (via :accept) oder deren umgekehrte Richtung (via :reverse) nutzen..  oder eben einfach die Richtung nehmen wie sie gerade ist. Ebenso nach der Auswahl einer Fläche dessen Achse du verwenden möchtest (FALLS du zuvor :surface_axis gewählt hast)

Solche Syntaxdiagramme in Acsii Form waren in den guten alten Zeiten sehr üblich. Vor 27 Jahren gab es noch nicht zu viele bunte Editoren, die vom Kontext abhängig auch noch tolle Vorschläge in einer Bubble Blase ausgaben mit tollen Dingen was man denn als nächtes eingeben könne.

Vielleicht 'schmeckt' das folgende Bild und die Laufwege etwas besser:
  
Du siehst, in der Ascii Grafik kann man meherere schnöde Zeichen nehmen um die Ecken zu 'malen'.


Echte ==>> Ascii Art beschränkte sich übrigens auf 128 Zeichen. Später gab es dann so 'Blöckchen Grafik' und verschiedene Zeichen mit Strichen und Abzweigungen. Damit sahen solche Diagramme schon mal besser aus. Aber wehe wenn man dann die falsche CodePage aktiv hatte! Dann sah es gleich ganz gräuslich aus.


* https://de.wikipedia.org/wiki/Backus-Naur-Form
* http://www.iti.fh-flensburg.de/lang/theor/syntaxdiagramm-reg.htm

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

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

StephanWörz
Mitglied
Maschinenbautechniker


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

Beiträge: 770
Registriert: 11.10.2000

Xenon 3.2GHz
24GB Ram
nVidia Quadro 4000
OSDM 17M050 & 18.1
SWX 2008
PHOENIX V10

erstellt am: 13. Feb. 2019 09:46    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 Claus, Hallo Wolfgang,

herzlichen Dank für die Erklärungen.
Nun bin wieder etwas gescheiter 

------------------
...viele Grüße
Stephan

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