Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  PTC Creo Elements/Programmierung
  Aktion für Teilegruppen in Browser-Popup-Menü einfügen

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
  
HPE ProLiant Summer Academy 2025 in Linz, eine Veranstaltung am 11.09.2025
Autor Thema:  Aktion für Teilegruppen in Browser-Popup-Menü einfügen (1561 mal gelesen)
holt
Mitglied
Systembetreuer CAD


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

Beiträge: 720
Registriert: 07.08.2003

Lenovo ThinkStation P360
Core i7-12700@2.10 GHz, 32GB
NVIDIA RTX A2000 12 GB
Creo Elements/Direct Modeling 20.5
Creo Elements/Direct Drafting 20.5
Creo Elements/Direct ModelManager 20.5

erstellt am: 10. Aug. 2006 14:22    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,

ich stehe wieder einmal vor einem Lisp Problem:
ich möchte bei Rechtsklick auf ein Teilgruppen-Feature im Browser eine Aktion starten (die es in V13 noch gab, in V14 jedoch nicht mehr).
1. Problem: die Aktion soll nur bei Teilegruppen-Features sichtbar sein. Wie muss ich die is-visible-Funktion erweitern/verändern?
(defun is-visible (obj name)
  (if obj
    (sd-string-match-pattern-p "*:FEATURE*" (BrowserNode-objPath obj))
    nil
  )
)

Mit der Funktion sd-cust-feat-inq-props komme ich da nicht ans Ziel, da BrowserNode-objPath einen String im Format "PFAD" :FEATURE "FEATURE-NAME" liefert, mit dem ich nicht weiterarbeiten kann.

2. Problem: die Aktion soll eine Auswahl (get_selection ?) mit den in der Teilegruppe enthaltenen Teilen/Baugruppen enthalten. (ident Bezug wählen in V14)
Da hab ich überhaupt keine Idee, wie das gehen könnte bzw. bekomme ich beim Aufruf von
(sd-call-cmds (get_selection :by_feature :FULL_NAME :START_NAME (BrowserNode-objPath obj) :END_NAME))
das selbe Problem wie oben.

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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

JC Wasti
Mitglied
Student


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

Beiträge: 52
Registriert: 10.11.2004

ACADR14,Genius14,ACADM6PP
alles auf WinXP

erstellt am: 13. Dez. 2006 15: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 holt 10 Unities + Antwort hilfreich

Hallo Zusammen,

hat jemand das Problem von Thomas schon gelöst?

Zitat:
Original erstellt von holt:
1. Problem: die Aktion soll nur bei Teilegruppen-Features sichtbar sein. Wie muss ich die is-visible-Funktion erweitern/verändern?
(defun is-visible (obj name)
  (if obj
    (sd-string-match-pattern-p "*:FEATURE*" (BrowserNode-objPath obj))
    nil
  )
)
[/B]

Ich habe nämlich so ein ähnliches Problem.

Und zwar möchte ich den Parameter ":is-entry-applicable" des Befehls "sd-browser-add-popup-entry" so vorgeben, dass:
- beim Rechtsklick auf ein Teil der Eintrag ausgegraut ist
und
- beim Rechtsklick auf eine Baugruppe die Funktion ausgeführt werden kann.

Des Ganze müßte dann ungefähr so aussehen:

(defun is-applicable (obj name)
  (if (eq :assembly (sd-inq-assembly-p obj))
    t
    nil))

Nur ist obj ein BrowserNode und kann mit der Funktion sd-inq-assembly-p nicht verwendet werden.


Wie kann ich nun abfragen ob der mit der rechten Maustaste angeklickte Eintrag im Browser eine Baugruppe oder ein Teil ist?

Hat da jemand ne Idee?


Gruß
JC Wasti

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: 13. Dez. 2006 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 holt 10 Unities + Antwort hilfreich

Lass das mit dem "eq :assembly" einfach weg. Mein Codevorschlag (komplett ungetestet):
Code:

  (defun is-applicable(obj name)
    (declare (ignore name))
    (sd-inq-assembly-p
      (sd-pathname-to-obj (BrowserNode-objPname obj))))

Claus

------------------
CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/

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

JC Wasti
Mitglied
Student


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

Beiträge: 52
Registriert: 10.11.2004

ACADR14,Genius14,ACADM6PP
alles auf WinXP

erstellt am: 13. Dez. 2006 16:50    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 holt 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von clausb:
Lass das mit dem "eq :assembly" einfach weg. Mein Codevorschlag (komplett ungetestet):
Code:

  (defun is-applicable(obj name)
    (declare (ignore name))
    (sd-inq-assembly-p
      (sd-pathname-to-obj (BrowserNode-objPname obj))))



DANKE 10U's4u Claus. 

Es ist nur noch eine Kleinigkeit falsch : es muß BrowserNode-objPath heißen!

Das sieht dann so aus:

(defun is-applicable (obj name)
  (declare (ignore name))
  (if (sd-inq-assembly-p (sd-pathname-to-obj (BrowserNode-objPath obj)))
    t
    nil) )

Jetzt würde mich nur noch interessieren wie ich ein DialogMenü (mit sd-defdialog erstellt) über den Parameter ":menu-action" aufrufen kann?

Hast du (Claus) oder jemand anderes ne Idee?

Gruß
JC Wasti

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 720
Registriert: 07.08.2003

Lenovo ThinkStation P360
Core i7-12700@2.10 GHz, 32GB
NVIDIA RTX A2000 12 GB
Creo Elements/Direct Modeling 20.5
Creo Elements/Direct Drafting 20.5
Creo Elements/Direct ModelManager 20.5

erstellt am: 14. Dez. 2006 06: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

Hallo,

zur Information:
Mit Hilfe des Supports habe ich das Problem damals lösen können:

1. Problem:
(defun is-visible (obj name)
  (if obj
    (progn
      (setf is-feat (sd-string-match-pattern-p "*:FEATURE*" (BrowserNode-objPath obj)))
      (if is-feat
        (progn
          (setf ft-full-path (sd-string-replace (BrowserNode-objPath obj) " :FEATURE " "/"))
          (setf ft-full-path (sd-string-replace ft-full-path "\"" ""))
          (setf is-part-group
            (sd-string= "COCREATE_PART_GROUP_FEAT"
              (second
                (sd-cust-feat-inq-props 
                  ; FRAME2::getres muss ausserhalb von Dialogen statt sd-call-cmds eingesetzt werden
                  (first (FRAME2::getres (get_selection :focus_type *sd-feature-seltype* :select ft-full-path)))
                  roperties :dialog
                );sd-cust-feat-inq-props
              );second
            );sd-string=
          );setf
          (if is-part-group
            t
            nil
          );if is-part-group
        );progn then
        nil ;else
      );if is-feat
    );progn then
    nil ;else
  );if obj
)


2. Problem:
(defun menu-action (obj name)
  (sd-put-buffer (format nil ":by_feature :FULL_NAME :START_NAME ~a :END_NAME" (BrowserNode-objPath obj)))
)

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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: 14. Dez. 2006 07:43    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 holt 10 Unities + Antwort hilfreich

Das folgende Muster faellt mir in Lisp-Code, der hier im Forum diskutiert wird, sehr oft auf:

Code:

  (if some-condition
    (progn
      (bla)
      (fasel)
    )
    ;; else
    nil
    )

Tipp: Das kann man in Lisp gleichwertig, kuerzer und viel eleganter so schreiben:

Code:

  (when some-condition
    (bla)
    (fasel))

Wenn man diesen Tipp beherzigt und ausserdem noch die globalen Variablen aus dem Codebeispiel unter Punkt (1) entfernt, bekommt man die folgende, deutlich kuerzere Variante (die dann auch nicht mehr aussieht wie Visual Basic mit Klammern    )

(defun is-visible (obj name)
  (when (and obj (sd-string-match-pattern-p "*:FEATURE*" (BrowserNode-objPath obj)))
    (let ((full-path (sd-string-replace (BrowserNode-objPath obj) " :FEATURE " "/")))
      (setf full-path (sd-string-replace full-path "\"" ""))
      (sd-string= "COCREATE_PART_GROUP_FEAT"
                  (second
                  (sd-cust-feat-inq-props
                    (first (FRAME2::getres
                            (get_selection :focus_type *sd-feature-seltype*
                                          :select full-path)))
                    : properties :dialog);;sd-cust-feat-inq-props
                  ));;sd-string=
      );;let
    );;when
  )


------------------
CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/

[Diese Nachricht wurde von clausb am 14. Dez. 2006 editiert.]

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 720
Registriert: 07.08.2003

Lenovo ThinkStation P360
Core i7-12700@2.10 GHz, 32GB
NVIDIA RTX A2000 12 GB
Creo Elements/Direct Modeling 20.5
Creo Elements/Direct Drafting 20.5
Creo Elements/Direct ModelManager 20.5

erstellt am: 14. Dez. 2006 07: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

Hallo Claus,

da sieht man halt den Unterschied zwischen Profi und Amateur! 

Was mir aber schon oft aufgefallen ist:
Manche Programmierer setzen beim let die Klammer gleich nach den lokalen Variablen, andere wiederum setzen die Klammer über einen ganzen Codebereich bzw. die gesamte Funktion.

Macht das einen wesentlichen Unterschied oder ist das nur Geschmackssache?

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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: 14. Dez. 2006 08:10    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 holt 10 Unities + Antwort hilfreich

Bin nicht ganz sicher, wie Du das meinst - hast Du ein kleines Beispiel?

Claus

------------------
CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 720
Registriert: 07.08.2003

Lenovo ThinkStation P360
Core i7-12700@2.10 GHz, 32GB
NVIDIA RTX A2000 12 GB
Creo Elements/Direct Modeling 20.5
Creo Elements/Direct Drafting 20.5
Creo Elements/Direct ModelManager 20.5

erstellt am: 14. Dez. 2006 08: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

Ich meine folgendes:

let über Codebereich:
    (let ((full-path (sd-string-replace (BrowserNode-objPath obj) " :FEATURE " "/")))
      (setf full-path (sd-string-replace full-path "\"" ""))
      (sd-string= "COCREATE_PART_GROUP_FEAT"
                  (second
                  (sd-cust-feat-inq-props
                    (first (FRAME2::getres
                            (get_selection :focus_type *sd-feature-seltype*
                                          :select full-path)))
                    roperties :dialog);;sd-cust-feat-inq-props
      ));;sd-string=
    );;let

let nur über lokale Variable:
    (let (full-path (sd-string-replace (BrowserNode-objPath obj) " :FEATURE " "/")));;let
      (setf full-path (sd-string-replace full-path "\"" ""))
... Rest vom Code

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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: 14. Dez. 2006 08: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 holt 10 Unities + Antwort hilfreich

In diesem Fall sind die Klammern keine Stilfrage, sondern entscheidend dafuer, wie sich der Code verhaelt:

Code:

  (let ((foobla 42)))
  (print foobla)  ;; Lisp-Fehler!

"foobla" ist nur innerhalb des let-Blocks definiert. Benutzt man es ausserhalb, ist es nicht definiert, es sei denn, es gibt eine Variable gleichen Namens in einem umschliessenden Block oder als globale Variable. Also: Lisp-Fehler zur Laufzeit.

Meistens will man also eher dieses:

Code:

  (let ((foobla 42))
    (print foobla))  ;; gibt 42 aus

Claus


------------------
CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/

[Diese Nachricht wurde von clausb am 14. Dez. 2006 editiert.]

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 720
Registriert: 07.08.2003

Lenovo ThinkStation P360
Core i7-12700@2.10 GHz, 32GB
NVIDIA RTX A2000 12 GB
Creo Elements/Direct Modeling 20.5
Creo Elements/Direct Drafting 20.5
Creo Elements/Direct ModelManager 20.5

erstellt am: 14. Dez. 2006 08: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

Zitat:
Original erstellt von clausb:
(let ((foobla 42)))
  (print foobla)  ;; Lisp-Fehler!

Warum funktioniert das dann in local-functions von Dialogen?

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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: 14. Dez. 2006 09: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 Nur für holt 10 Unities + Antwort hilfreich

Auch "local functions" verhalten sich in diesem Punkt nicht anders, wuerde ich sagen. Hast Du ein Beispiel, an dem wir das besprechen koennen?

Danke,

  Claus

------------------
CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 720
Registriert: 07.08.2003

Lenovo ThinkStation P360
Core i7-12700@2.10 GHz, 32GB
NVIDIA RTX A2000 12 GB
Creo Elements/Direct Modeling 20.5
Creo Elements/Direct Drafting 20.5
Creo Elements/Direct ModelManager 20.5

erstellt am: 14. Dez. 2006 10: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


Dialog.lsp.txt

 
Hallo Claus,

anbei ein primitiver Dialog

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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: 14. Dez. 2006 10: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 holt 10 Unities + Antwort hilfreich

Danke fuer das Beispiel.

Code:

  :local-functions
  '(
    (testfun ()
      (let (testvar))
      (setf testvar 42)
      (display testvar)
    )
  );local-functions

Auch hier gilt das, was ich schon gesagt habe. Du bekommst nur deswegen keinen Lisp-Fehler, weil (setf) eine neue globale (!) Variable namens "testvar" anlegt, wenn es kein gleichnamiges lokales Symbol findet.

Zur Verifikation probiere mal folgende Variante:

Code:

  :local-functions
  '(
    (testfun ()
      (let (my-testvar 42))
      (display my-testvar)
    )
  );local-functions

Claus

------------------
CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/

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

JC Wasti
Mitglied
Student


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

Beiträge: 52
Registriert: 10.11.2004

ACADR14,Genius14,ACADM6PP
alles auf WinXP

erstellt am: 14. Dez. 2006 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 holt 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von holt:
Hallo Claus,

anbei ein primitiver Dialog


Hallo Zusammen,

wie kann ich denn jetzt diesen primitiven Dialog über einen Rechts-Klick im Bowser mit Hilfe des Parameters ":menu-action"( des Befehls "sd-browser-add-popup-entry") aufrufen?

Kann mir da jemand weiterhelfen?

Gruß
JC Wasti

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 720
Registriert: 07.08.2003

Lenovo ThinkStation P360
Core i7-12700@2.10 GHz, 32GB
NVIDIA RTX A2000 12 GB
Creo Elements/Direct Modeling 20.5
Creo Elements/Direct Drafting 20.5
Creo Elements/Direct ModelManager 20.5

erstellt am: 14. Dez. 2006 11: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

@Claus:

Jetzt ist mir das auch klar! Da hab ich wohl oft lokale Variable "doppelt" (1x umsonst) deklariert. 

@Wasti:
nur zum Aufrufen des Dialogs:

Code:

:menu-action '(sd-put-buffer "testdialog")


Wenn du auch das angeklickte Objekt übergeben willst (was eigentlich  Sinn der Sache ist), muss eine Variable des Dialogs angesprochen werden:
Code:

:menu-action '(sd-put-buffer (format nil "testdialog :namedervariablen ~S" (BrowserNode-objPath obj)))


ungetestet!

Tut mir leid, wir haben dich einfach ignoriert! 

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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

JC Wasti
Mitglied
Student


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

Beiträge: 52
Registriert: 10.11.2004

ACADR14,Genius14,ACADM6PP
alles auf WinXP

erstellt am: 14. Dez. 2006 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 Nur für holt 10 Unities + Antwort hilfreich


Danke dir Thomas.

10U's4e 

Ich werd das Ganze mal testen.


Gruß
JC Wasti

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