Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  3D-Fenster erstellen aus Annotation-Dialog

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 Creo
Autor Thema:  3D-Fenster erstellen aus Annotation-Dialog (970 mal gelesen)
Andreas 253
Mitglied
 


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

Beiträge: 157
Registriert: 01.03.2002

erstellt am: 23. Mrz. 2009 13: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

Hallo zusammen,

ich stehe mal wieder vor einem Problem:
Aus einem Dialog im Annotation heraus versuche ich ein 3D-Fenster zu öffnen, um dort Kanten auszuwählen.

Dazu rufe ich diese Funktion auf:
(ANSICHT wird vorher im Dialog abgefragt)

Code:

(My-create-3D-viewport ()
(let (teil)
(setf teil (sd-am-view-set-struct-owner (sd-am-inq-view-set (sd-am-view-struct-view-set (sd-am-inq-view ANSICHT)))))
(progn
(sd-call-cmds (create_vp :name "Kanten_auswaehlen" ))
(sd-call-cmds (add_to_vp_drawlist "Kanten_auswaehlen" teil))
)
) ;; let
)

leider bekomme ich dabei die Fehlermeldung "unzulässiger Aufruf einer Aktionsroutine"

Wenn ich sd-call-cmds weglasse, funktioniert alles, allerdings bricht dann der Dialog ab.

Weiß jemand Rat?

Wir arbeiten mit OSDM V16.00A und Windows XP

Gruß
Andreas

------------------

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: 23. Mrz. 2009 17: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 Andreas 253 10 Unities + Antwort hilfreich

Das progn um die beiden sd-call-cmds ist unnötig.

Bei welchem der beiden sd-call-cmds bekommst Du die Fehlermeldung?

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

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.

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 23. Mrz. 2009 19: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 Nur für Andreas 253 10 Unities + Antwort hilfreich

ich nehme an Dein code schnipsel ist eine :local-functions deines Dialogs?

Um Missverständnissen vorzubeugen an dem progn liegt es nicht das Du dies Fehlermeldung erhälst.

Um Claus's Frage zu beantworten:

Code:
(trace create_vp add_to_vp_drawlist)

plus: Konsole Fenster einschalten..  wenn dann die Fehlermeldung kommt ohne umschweife (NIX im OSD klicken!) zur Konsole wechseln und gucken wo "er" steckt.

den owner kann man auch via

Code:
(sd-inq-parent-obj (sd-inq-parent-obj (sd-am-view-struct-view-3d (sd-am-inq-view ANSICHT))))
bestimmen. Denn im 3D liegt der Owner immer 2 Ebenen über der 3D-Ansicht. Das scheint mir etwas kompakter als ueber die view-set-struktur.

------------------
Seamonkey Firefox Thunderbird ● OSD Hilfeseite (de) / help page (en)NotePad++

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.

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 23. Mrz. 2009 19:33    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 Andreas 253 10 Unities + Antwort hilfreich

Code:
(sd-inq-parent-obj (sd-am-view-struct-view-set (sd-am-inq-view ANSICHT)))
ist noch einfacher

------------------
Seamonkey Firefox Thunderbird ● OSD Hilfeseite (de) / help page (en)NotePad++

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

Andreas 253
Mitglied
 


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

Beiträge: 157
Registriert: 01.03.2002

erstellt am: 24. Mrz. 2009 09: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

Danke erstmal für die Antworten.

Das progn war nur ein Versuch, ist schon klar, daß das nicht unbedingt nötig ist wenn das let davor steht.

Das Protokollfenster hüllt sich in schweigen, es kommt nicht das geringste.

Die Meldung stammt definitiv vom create_vp, die nächste Zeile bringt dann zwar zwangsläufig auch eine Fehlermeldung weil das Fenster nicht da ist, aber das ist ja auch logisch.


P.S.: Ach ja, es ist eine local-function
------------------
   

[Diese Nachricht wurde von Andreas 253 am 24. Mrz. 2009 editiert.]

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

Patrick Weber
Mitglied
Konstruktionstechniker, Admin


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

Beiträge: 657
Registriert: 20.11.2006

Win7 Pro SP1 64Bit
HP Z230, Core i5, 8GB RAM, nv Quadro K600
Creo Elements/Direct 19.0 M010
ModelManager 19.0 M010
clisp,VB.net,VBA,AHK,php,javascript

erstellt am: 24. Mrz. 2009 11: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 Nur für Andreas 253 10 Unities + Antwort hilfreich

Also ich habe keinerlei Probleme in v15.50C und 16.00A. Der Fehler im Makro liegt höchstwahrscheinlich außerhalb des geposteten Teils.
Code:

(in-package :custom)
(use-package :oli)

(sd-defdialog 'am_test
:dialog-title "am_test"
;:toolbox-button nil
:variables
'(
(ANSICHT
:selection *sd-anno-view-seltype*
:prompt-text "Besitzeransicht angeben."
:title "Ansicht"
:multiple-items nil)
)
:local-functions
'(
(My-create-3D-viewport ()
(let (teil)
(setf teil (sd-am-view-set-struct-owner (sd-am-inq-view-set (sd-am-view-struct-view-set (sd-am-inq-view ANSICHT)))))
(sd-call-cmds (create_vp :name "Kanten_auswaehlen"))
(sd-call-cmds (add_to_vp_drawlist "Kanten_auswaehlen" teil))
) ;; let
)
);;local-functions
:cancel-action '()
:ok-action '(My-create-3D-viewport)
);;sd-defdialog



------------------
Grüße
pw

[Diese Nachricht wurde von Patrick Weber am 24. Mrz. 2009 editiert.]

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

Andreas 253
Mitglied
 


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

Beiträge: 157
Registriert: 01.03.2002

erstellt am: 24. Mrz. 2009 13: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

Hurra, das wars...

Nachdem ich Deine Variante nach und nach zu meiner umgebaut habe, hat sich der Fehler zu erkennen gegeben:

Ich hatte einen vorhandenen Dialog kopiert und oben stand die Zeile

Code:
:dialog-type :interrupt

Nachdem ich diese entfernt hatte, klappte es.

Ich verstehe zwar noch nicht ganz den Zusammenhang, aber so komme ich erstmal weiter.

Danke Euch allen für die Hilfe!

------------------

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: 24. Mrz. 2009 15:27    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 Andreas 253 10 Unities + Antwort hilfreich

Das erklaert es in der Tat. Aus einer Interrupt-Actionroutine darf man keine (potentiell) modellveraendernden Kommandos rufen.

Claus

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

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

Andreas 253
Mitglied
 


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

Beiträge: 157
Registriert: 01.03.2002

erstellt am: 01. Apr. 2009 14: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

Nochmal ein kleines Problem auf der Endgeraden:

Mein Makro läuft soweit schon ganz gut, aber einen kleinen Schönheitsfehler hat es noch:

Nachdem das 3D-Fenster wieder geschlossen wurde, ist das Annotation-Fenster nicht mehr maximiert.

Gibt es eine Möglichkeit, das danach wieder hinzubekommen?

Noch besser: gibt es eine Möglichkeit, vorher abzufragen, ob es maximiert ist, so daß es nur dann wieder maximiert werden muß, wenn es das auch vorher war?

Leider bin ich weder in der Hilfe noch im Forum fündig geworden.

Gruß
Andreas

------------------

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: 01. Apr. 2009 15:36    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 Andreas 253 10 Unities + Antwort hilfreich

Siehe Erlaeuterungen zu sd-inq-vp-maximized-p in der IKIT-Dokumentation.

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

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.

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 01. Apr. 2009 20: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 Andreas 253 10 Unities + Antwort hilfreich

Es wird serviert:
Code:
:after-initialization '(sd-store-window-placement :all)
.....
:cleanup-action '(sd-restore-window-placement :all)
Da brauchs'st Dich nicht drum zu kuemmern wie es vor her war.

------------------
Seamonkey Firefox Thunderbird ● OSD Hilfeseite (de) / help page (en)NotePad++

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

Andreas 253
Mitglied
 


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

Beiträge: 157
Registriert: 01.03.2002

erstellt am: 02. Apr. 2009 14:02    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


Umfanglaenge_Durchbruch.zip

 
Hallo und nochmal Danke!

Jetzt funktioniert es zu meiner Zufriedenheit.

Ich habe das Ergebnis der ganzen Mühe mal angehängt, vielleicht hat noch jemand Verwendung dafür.
Sinn des ganzen ist es, Umfanglänge und minimalen Radius von Durchbrüchen zu ermitteln.
Ein ähnliches Makro von Walter Geppert hat mir da auch gute Dienste als Vorlage geleistet, Danke Walter!

Gruß
Andreas

------------------

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