Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Liste in LISP sortieren

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:  Liste in LISP sortieren (2827 mal gelesen)
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: 23. Feb. 2007 11: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 Zusammen,

folgendes Problem:
Ich hab ne Liste und möchte die sortieren, und zwar zuerst nach der Spalte5 und dann nach Spalte1!

Die Liste sieht folgendermaßen aus:
(
  (name01 1 A0 1:1 1)
  (name01 1 A0 1:1 2.1)
  (name01 2 A0 1:1 5)
  (name01 2 A0 1:1 10.1)
  (name01 2 A0 1:1 15.A)
  (name01 2 A0 1:1 17)
  (name01 2 A0 1:1 17.1)
  (name01 2 A0 1:1 18)
  (name01 2 A0 1:1 18.A)
  (name01 2 A0 1:1 18.Z)
  (name01 2 A0 1:1 18.AA)
  (name05 1 A4 1:2 1)
  (name05 1 A4 1:2 3)
  (name05 1 A4 1:2 10)
  (name07 2 A3 1:5 A)
  (name07 2 A3 1:5 A.1)
  (name07 2 A3 1:5 C)
  (name07 2 A3 1:5 Z)
  (name07 2 A3 1:5 AA)
)

Gruß
JC Wasti


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: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 23. Feb. 2007 12: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 JC Wasti 10 Unities + Antwort hilfreich

Das geht mit (stable-sort) und einem selbstgestrickten Sortierkriterium:
Code:

  (setf sortlist
  (stable-sort list
    #'(lambda (vor nach)
      (let ()
        (if (string< (nth 4 vor) (nth 4 nach)) t nil)
      );;let
      );;lambda
  );;sort
  );;setf
  (setf sortlist
  (stable-sort sortlist
    #'(lambda (vor nach)
      (let ()
        (if (string< (nth 0 vor) (nth 0 nach)) t nil)
      );;let
      );;lambda
  );;sort
  );;setf

------------------
meine LISP-Makros sind auf osd.cad.de
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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. Feb. 2007 14: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 JC Wasti 10 Unities + Antwort hilfreich

Code:
(if (string< (nth 4 vor) (nth 4 nach)) t nil)

ist identisch mit
Code:
(string< (nth 4 vor) (nth 4 nach))

Ausserdem sind die let-Statements ueberfluessig - man koennte den Code also noch kuerzen.

Allerdings vermute ich, dass er nicht das tut, was eigentlich beabsichtigt war, denn er sortiert die komplette Liste erst nach einem Kriterium und dann nach einem ganz anderen durch. Ich vermute, dass eigentlich so etwas wie dieses gemeint war:

Code:

(setf sortedlist
  (stable-sort l
                #'(lambda (vor nach)
                    (if (string< (nth 4 vor) (nth 4 nach))
                      t
                      (if (string= (nth 4 vor) (nth 4 nach))
                          (string< (nth 0 vor) (nth 0 nach)))))
                ))

Claus

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

[Diese Nachricht wurde von clausb am 23. Feb. 2007 editiert.]

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: 23. Feb. 2007 14:16    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 vorerst mal für eure Tipps mit dem stable-sort.

Jetzt hab ich nur noch das Problem, dass bei einer String-Sortierung die Zahl 18.1 vor der Zahl 2 kommt!

Gibt es irgendwie eine Möglichkeit dass die Zahlen und die Strings richtig sortiert werden?
Oder muss ich das ganze mit Hilfe des Punktes trennen und dann sortieren?

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: 23. Feb. 2007 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 Nur für JC Wasti 10 Unities + Antwort hilfreich

Grundsaetzlich: Wie sortiert wird, kann man im Sortierpraedikat von stable-sort festlegen, da hat man alle Freiheiten. Du musst halt bestimmen, wie Du's gerne haettest, und dann eine passende Vergleichsfunktion schreiben. Solche Funktionen sind trivial fuer Zahlen und Strings (einfach < oder string< nehmen).

Mir ist nicht klar, was in der Beispielliste tatsaechlich als String gedacht ist und was nicht. Was bedeutet denn zum Beispiel ein "18.A" in der fuenften Spalte?

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: 23. Feb. 2007 14:39    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

Eigentlich ist alles ein String!

OK, dann schreib ich mir ne passende Vergleichsfunktion.
Habe nur gedacht, dass es vielleicht irgendeine Funktion gibt, die das erledigt!

Danke Euch.


Gruß
JC Wasti

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 26. Feb. 2007 19: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 JC Wasti 10 Unities + Antwort hilfreich

ich habe ein ähnliches "problem". und zwar muss ich die Strings in Variablen sortieren und zurückschreiben.
also, ich habe variablen ZAHL1 = 2, ZAHL2 = 5, ZAHL3 = 4, ZAHL4= 1
die sollen dann zurück geschrieben werden in die Variablen
NEU1 = 1, NEU2 = 2, NEU3 = 4, NEU4 = 5

geht das auch irgendwie?

------------------
OSD 13.2

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: 26. Feb. 2007 20: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 JC Wasti 10 Unities + Antwort hilfreich

Sicher geht auch das - aber es ist vermutlich sehr viel einfacher, wenn Du statt n Variablen einfach eine Liste oder ein Array mit n Einträgen nimmst. Dann kannst Du einfach (sort) oder (stable-sort) direkt darauf loslassen:

Code:

  (setf sorted (stable-sort array #'< ))

Allerdings: Du sprichst einmal von Strings und dann aber von Zahlenwerten. Was enthalten die Variablen wirklich?

Wenn ich annehme, dass in Wahrheit eigentlich Zahlen in den Variablen stecken und dass aus irgendeinem Grund keine Liste und auch kein Array benutzt werden kann, dann könnte man das so lösen (Vorsicht, diese kleine Monstrosität gefährdet das Augenlicht):

Code:

  (setf sorted (stable-sort (list zahl1 zahl2 zahl3 zahl4) #'< ))
  (mapc #'(lambda(place val)
            (setf (symbol-value place) val))
      (list 'neu1 'neu2 'neu3 'neu4) sorted)

Einfacher formuliert, aber weniger allgemein:

Code:

  (setf sorted (stable-sort (list zahl1 zahl2 zahl3 zahl4) #'< ))
  (setf neu1 (first sorted)
        neu2 (second sorted)
        neu3 (third sorted)
        neu4 (fourth sorted))

Oder auch:

Code:

(multiple-value-bind (neu1 neu2 neu3 neu4)
  (values-list (stable-sort (list zahl1 zahl2 zahl3 zahl4) #'< )))

*schauder*     

Claus

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

[Diese Nachricht wurde von clausb am 26. Feb. 2007 editiert.]

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 01. Mrz. 2007 19:01    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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:

Code:

  (setf sorted (stable-sort (list zahl1 zahl2 zahl3 zahl4) #'< ))
  (mapc #'(lambda(place val)
            (setf (symbol-value place) val))
      (list 'neu1 'neu2 'neu3 'neu4) sorted)



also, hiermit klappt das schon ganz gut. leider habe ich in den variablen auch ab unf zu eine Null drin und die wird logischerweise dann an den anfang sortiert.

Beispiel:

1,3,5,9,2,0,6,0,4,0  wird dann zu
0,0,0,1,2,3,4,6,9

Wie bekomme ich da die Nullen entweder ganz weg, so dass ich dann
1,2,3,4,6,9
bekomme, oder die Nullen ans Ende so dass ich
1,2,3,4,6,9,0,0,0
zurück bekomme?

Gibts da auch nen Lisp-Befehl oder gehts nur mit when-funktion?


------------------
OSD 13.2

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. Mrz. 2007 16: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 JC Wasti 10 Unities + Antwort hilfreich

remove, remove-if, siehe http://www.lisp.org/HyperSpec/Body/fun_removecm__elete-if-not.html

Claus

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

[Diese Nachricht wurde von clausb am 02. Mrz. 2007 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: 04. Mrz. 2007 19: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 JC Wasti 10 Unities + Antwort hilfreich

Und wenn Du schon mehrere nullen hast, dann wirst Du vermutlich auch mal mehrfach die "3" haben, oder?

damit sei Dir auch die Empfehlung gegeben mal bei der Funktion remove-duplicates vorbeizuschauen ggf. in Verbindung mit oli::sd-num-equal-p

------------------
Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 05. Mrz. 2007 18: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 Nur für JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von der_Wolfgang:
Und wenn Du schon mehrere nullen hast, dann wirst Du vermutlich auch mal mehrfach die "3" haben, oder?

damit sei Dir auch die Empfehlung gegeben mal bei der Funktion remove-duplicates vorbeizuschauen ggf. in Verbindung mit oli::sd-num-equal-p


Nein, es sind nur 0en die doppelt sind.

Habe das bisher so gelöst:

  (setf sorted (stable-sort (list zahl1 zahl2 zahl3 zahl4) #'< ))
  (delete 0 sorted)
  (mapc #'(lambda(place val)
            (setf (symbol-value place) val))
      (list 'neu1 'neu2 'neu3 'neu4) sorted)


Wenn vorher die Reihe 1,4,2,0 war, dann müsste ja durch das sortieren (ohne delete) die Reihe 0,1,2,4 werden. Durch die delete-Funktion dann 1,2,4. Was wird dann in neu4 geschrieben? Ist die leer?

Habe mit einer when-funktion bisher einen Ablauf so gelöst:

when (neu4 > 0) (bla bla)

wie kann ich die when-funktion ausführen, wenn die variable leer ist ?


------------------
OSD 13.2

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 29. Jun. 2007 11:59    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 JC Wasti 10 Unities + Antwort hilfreich

Muss das hier leider nochmal vorholen, weil ich es immer noch nicht hinbekommen habe:

Beschreibe die Funtion mal etwas genauer:

Ich habe mir ein LISP gebastelt, welches mir ein Menü in der Hauptleiste anlegt (siehe Bild).
Hier gebe ich Zahlen in unterschiedlicher Reihenfolge ein (Varibalen sind Zahl_1 bis Zahl_20), einige bleiben "0" (wie auch im Bild)

Mit diesen eingegebenen Zahlen muss ich später etwas rechnen (z.B Ergebnis_1 = Zahl_1 * PI)

Wenn ich das nun so durchrappeln lass, sind natürlich die Ergebnisse nicht in Aufsteigender Zahlenfolge.

Daher wollte ich das nach Eingabe der Zahlen (Zahl_1 bis Zahl_n) die Werte sortiert werden und dann einer neuen Variablen zugewiesen werden (zb Zahl_neu_1 bis Zahl_neu_20). Die Folge darf aber nicht mit 0 beginnen, da sonst bei der Ausgabe später auch die Ergebnisse Null sind. Die neuen Variablen müssen am Ende die Nullen haben (-> 1,2,3,4,5,6,7,0,0,0,0,....).

   

[Diese Nachricht wurde von noxx am 29. Jun. 2007 editiert.]

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 29. Jun. 2007 12: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 JC Wasti 10 Unities + Antwort hilfreich

....bitte das löschen

[Diese Nachricht wurde von noxx am 29. Jun. 2007 editiert.]

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 02. Jul. 2007 17:16    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 JC Wasti 10 Unities + Antwort hilfreich

Habe hier mal ein kleines Lisp zum testen gebastelt, vielleicht kann das einer ja editieren, dass es so ist, wie ich es wollte.

Also, wenn man zB folgendes eingibt:

Zahl_1: 2
Zahl_2: 4
Zahl_3: 1
Zahl_4: 7
Zahl_5: 3
den Rest 0

soll am Ende diese Folge rauskommen
1
2
3
4
7
0
0
0
0
0


Code:

(sd-defdialog 'am-sortieren
              :dialog-title "Testmakro Sortieren"
              :variables
              '(

 
("Eingabe")
  (Zahl_1 :value-type :distance
    :title "Zahl 1"
    :Prompt-text "1. Zahl angeben."
    :initial-value 0)
  (Zahl_2 :value-type :distance
    :title "Zahl 2"
    :Prompt-text "2. Zahl angeben."
    :initial-value 0)
  (Zahl_3 :value-type :distance
    :title "Zahl 3"
    :Prompt-text "3. Zahl angeben."
    :initial-value 0)
  (Zahl_4 :value-type :distance
    :title "Zahl 4"
    :Prompt-text "4. Zahl angeben."
    :initial-value 0)
  (Zahl_5 :value-type :distance
    :title "Zahl 5"
    :Prompt-text "5. Zahl angeben."
    :initial-value 0)
  (Zahl_6 :value-type :distance
    :title "Zahl 6"
    :Prompt-text "6. Zahl angeben."
    :initial-value 0)
  (Zahl_7 :value-type :distance
    :title "Zahl 7"
    :Prompt-text "7. Zahl angeben."
    :initial-value 0)
  (Zahl_8 :value-type :distance
    :title "Zahl 8"
    :Prompt-text "8. Zahl angeben."
    :initial-value 0)
  (Zahl_9 :value-type :distance
    :title "Zahl 9"
    :Prompt-text "9. Zahl angeben."
    :initial-value 0)
  (Zahl_10 :value-type :distance
    :title "Zahl 10"
    :Prompt-text "10. Zahl angeben."
    :initial-value 0)


   
         
);variables

    :Ok-action
    '(progn
    (display Zahl_1)
    (display Zahl_2)
    (display Zahl_3)
    (display Zahl_4)
    (display Zahl_5)
    (display Zahl_6)
    (display Zahl_7)
    (display Zahl_8)
    (display Zahl_9)
    (display Zahl_10)


);progn
);sd-def


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. Jul. 2007 19: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 JC Wasti 10 Unities + Antwort hilfreich

Wozu brauchst Du die Nullen am Ende?

Ich verstehe nach wie vor nicht, warum statt einer Variable, in der eine Liste der eingegebenen und sortierten Werte steht, unbedingt zwanzig Variablen füllen willst. Ich glaube, Du machst Dir damit das Leben nur unnötig schwer.

  Claus

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

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 02. Jul. 2007 19:19    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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von clausb:
Wozu brauchst Du die Nullen am Ende?

Ich verstehe nach wie vor nicht, warum statt [b]einer Variable, in der eine Liste der eingegebenen und sortierten Werte steht, unbedingt zwanzig Variablen füllen willst. Ich glaube, Du machst Dir damit das Leben nur unnötig schwer.

  Claus


[/B]


Ich weiss, liegt daran das ich eher der Laie bin. Wenn Du mir sagen würdest wie es besser geht, dann wäre das super. Bin immer für jeden Tipp dankbar 

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. Jul. 2007 19:56    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 JC Wasti 10 Unities + Antwort hilfreich


sortieren.lsp.txt

 
Wie das mit Listen geht, haben wir in diesem Thread bereits recht ausführlich diskutiert, denke ich. Anbei eine entsprechend angepasste Version Deines Testdialogs.

Was genau willst Du denn mit der resultierenden Liste (oder aber den zwanzig/zweiundvierzig/hundertundzwo einzelnen Variablen) anfangen?

Claus


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

[Diese Nachricht wurde von clausb am 02. Jul. 2007 editiert.]

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 03. Jul. 2007 07:12    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 JC Wasti 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von clausb:
Wie das mit Listen geht, haben wir in diesem Thread bereits recht ausführlich diskutiert, denke ich. Anbei eine entsprechend angepasste Version Deines Testdialogs.

Was genau willst Du denn mit der resultierenden Liste (oder aber den zwanzig/zweiundvierzig/hundertundzwo einzelnen Variablen) anfangen? Denke das wird sich wohl am besten über ne Schleife machen lassen, aber wie die programmiert wird, muss ich erst mal gucken. Denke wohl nicht das das so einfach geht.

Claus


Möchte damit rechnen. Später soll diese Liste in einer Tabelle (mit Rahmen) auf dem Zeichnungsblatt (als Skizze) abgelegt werden.

Soll dann vielleicht so aussehen:
   

Also, je nachdem wieviel Zahlen man eingegeben hat, soll dann ne Tabelle gezeichnet werden.
Hatte mir schonmal sowas ähnliches gebastelt, aber inzwischen ist das Teil leider über-gemüllt.
Deshalb möchte ich mit diesem LISP gerne nochmal von vorne anfangen, denke der Lerneffekt ist so etwas besser (soll aber nicht heissen, das ich keine Hilfe gebrauchen könnte) 

Gruss und Danke

[Diese Nachricht wurde von noxx am 03. Jul. 2007 editiert.]

[Diese Nachricht wurde von noxx am 03. Jul. 2007 editiert.]

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: 03. Jul. 2007 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 Nur für JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von noxx:
Möchte damit rechnen. Später soll diese Liste in einer Tabelle (mit Rahmen) auf dem Zeichnungsblatt (als Skizze) abgelegt werden.

Und da die Tabelle eine variable Groesse haben wird, eignet sich dafuer am besten eine variable/dynamische Datenstruktur. Eine Liste also beispielsweise. Die Startvoraussetzungen hast Du nun also.

  Claus

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

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 03. Jul. 2007 16:49    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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von clausb:
Die Startvoraussetzungen hast Du nun also.

  Claus


Ja ?

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: 03. Jul. 2007 17:59    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 JC Wasti 10 Unities + Antwort hilfreich

Bin jetzt nicht ganz sicher, was die Nachfrage bedeuten soll, aber nur zur Sicherheit der Hinweis, dass ich Deinen Beispieldialog modifiziert habe, so dass eine sortierte Liste herauskommt; siehe etwas weiter oben. Das meinte ich mit den Startvoraussetzungen.

Claus

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

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 03. Jul. 2007 18:05    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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von clausb:
Bin jetzt nicht ganz sicher, was die Nachfrage bedeuten soll, aber nur zur Sicherheit der Hinweis, dass ich Deinen Beispieldialog modifiziert habe, so dass eine sortierte Liste herauskommt; siehe etwas weiter oben. Das meinte ich mit den Startvoraussetzungen.

Claus



Achso  Ok danke nochmal.... 10U fur U

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 05. Jul. 2007 08: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 JC Wasti 10 Unities + Antwort hilfreich

Wenn man das ganze als Diagramm darstellt, wäre der Ablauf in etwas so richtig ?

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: 05. Jul. 2007 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 Nur für JC Wasti 10 Unities + Antwort hilfreich

Oder in Pseudocode, an dem Du Dich orientieren kannst:

Code:

(create-sketch)
(create-tableheader)

(let ((row 1))
  (dolist (number sortedlist)
    (write-table-row row number)
    (incf row)))


'sortedlist' hast Du schon (siehe meinen Codevorschlag von neulich). Schreiben musst Du nun also nur noch (create-sketch), (create-tableheader) und (write-table-row).

  Claus

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

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 10. Jul. 2007 14:13    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 JC Wasti 10 Unities + Antwort hilfreich


Aktueller_Stand_sortieren.lsp.txt

 
 
Zitat:
Original erstellt von clausb:
Oder in Pseudocode, an dem Du Dich orientieren kannst:

Code:

(create-sketch)
(create-tableheader)

(let ((row 1))
  (dolist (number sortedlist)
    (write-table-row row number)
    (incf row)))


'sortedlist' hast Du schon (siehe meinen Codevorschlag von neulich). Schreiben musst Du nun also nur noch (create-sketch), (create-tableheader) und (write-table-row).

  Claus



Finde nicht wirklich Infos zu den Befehlen create-tableheader / write-table-row oder sind das diese hier: sd-create-logical-table / sd-write-logical-table-cell

[Diese Nachricht wurde von noxx am 10. Jul. 2007 editiert.]

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: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 10. Jul. 2007 14: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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von noxx:
  Finde nicht wirklich Infos zu den Befehlen create-tableheader / write-table-row

Damit meint Claus ja auch Aufrufe von Routinen, die du noch schreiben müsstest, allerdings tatsächlich unter Verwendung von den von dir gefundenen Funktionen

------------------
meine LISP-Makros sind auf osd.cad.de
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 10. Jul. 2007 15: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 JC Wasti 10 Unities + Antwort hilfreich


Murks_Sortieren.lsp.txt

 
Danke für die schnelle Antwort. Vielleicht kann mal
einer einen Blick auf den Murks werfen den ich da
gerade fabriziere.

Habe noch nicht mal ansatzweise ein Gefühl das ich auf
dem richtigen Weg bin 

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: 10. Jul. 2007 19:19    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 JC Wasti 10 Unities + Antwort hilfreich

Vor einer Woche hast Du geschrieben, dass Du bereits Code hast, der eine Tabelle erzeugt und in eine Zeichnung einfügt. Kannst Du das nicht verwenden und anpassen? Verwendet dieser alte Code denn auch logische Tabellen, wie Du es in Deinem jüngsten Versuch offenbar tust? Wenn nicht, wieso verwendest Du jetzt welche?

Claus

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

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 10. Jul. 2007 22: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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von clausb:
Vor einer Woche hast Du geschrieben, dass Du bereits Code hast, der eine Tabelle erzeugt und in eine Zeichnung einfügt. Kannst Du das nicht verwenden und anpassen? Verwendet dieser alte Code denn auch logische Tabellen, wie Du es in Deinem jüngsten Versuch offenbar tust? Wenn nicht, wieso verwendest Du jetzt welche?

Claus



Weils mit dem sortiern nicht klappt, leider. Deshalb hatte ich ja angefragt und anscheinend ist die programmierung über die Tabelle auch wohl "sauberer". Ausserdem möchte ich auch etwas lernen, bei dieser Aufgabe komme ich aber leider nicht weiter.

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: 10. Jul. 2007 22: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 Nur für JC Wasti 10 Unities + Antwort hilfreich


Murks_Sortieren.lsp.txt

 
Ich dachte, das mit dem Sortieren muesste jetzt wirklich sonnenklar sein, und den Code dafuer habe ich Dir bereits gegeben. Oder muss nochmal was anderes sortiert werden?

Ich haenge nochmal eine Version des Dialogs an, in der nochmal die Sortierung implementiert und ausserdem ein Geruest zur Gesamtloesung vorgegeben ist. Vielleicht hilft's ja bei der Loesung.

Claus


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

[Diese Nachricht wurde von clausb am 10. Jul. 2007 editiert.]

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 11. Jul. 2007 10:55    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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von clausb:
Ich dachte, das mit dem Sortieren muesste jetzt wirklich sonnenklar sein, und den Code dafuer habe ich Dir bereits gegeben. Oder muss nochmal was anderes sortiert werden?

Ich haenge nochmal eine Version des Dialogs an, in der nochmal die Sortierung implementiert und ausserdem ein Geruest zur Gesamtloesung vorgegeben ist. Vielleicht hilft's ja bei der Loesung.

Claus



Danke schön. Hätte aber nochmal ne Frage, weil ich in einigen Teilen nicht ganz versteht was das Makro macht. Vielleicht kannst mir sagen, ob ich bei meinen Annahmen falsch liege.

Zeile: sort-input : Verstehe ich, Variablen werden aufsteigend sortiert, die Nullen gelöscht

Zeile: create-sketch: Verstehe ich auch, Skizze wird erstellt, und auf den "Zielpunkt" positioniert

Zeile: create-tableheader: Hier soll wohl der Tabellenkopf rein. Soll später aus einer Überschrift bestehen und einem Rahmen.

Zeile: write-table-row: Hier wird wohl die Tabelle erzeugt und dann dargestellt. Sind die Varibalen row und number 2 verschiebene Variablen?

Zeile: let...: was hier passiert ist mir leider ein Fragezeichen? Ist das eine Schleife. Ich verstehe auch nicht wie definiert ist, wie oft die Schleife (wenns eine ist) durchläuft?


Gruss und danke nochmal (+10U)

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: 11. Jul. 2007 11: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 JC Wasti 10 Unities + Antwort hilfreich

Mit (let) deklariert man in Lisp eine lokale Variable. (Lisp-Programmierer kraeuselt es bei dieser Ausdrucksweise die Zehennaegel, aber so versteht man es vielleicht leichter. Richtiger waere es zu sagen, dass let lexikalische Bindungen erzeugt, aber das nur nebenbei.)

Die Schleiferei erledigt (dolist). Der Schleifenkoerper wird so oft durchlaufen, wie es Elemente in der (sortierten) Liste gibt.

(write-table-row) ist nichts anderes als der Schritt "Schreibe Zeile x" aus Deinem eigenen Flussdiagramm. 'number' ist eine der vom Anwender eingegebenen Zahlen, kommt also aus der sortierten Liste. 'row' bezeichnet die Tabellenreihe.

Code:

  (let ((row 1))
    (dolist (number (sort-input))
      (write-table-row row number)
      (incf row)))

Dieser Code tut also folgendes:


  • Eine lokale Variable 'row' wird angelegt und mit 1 initialisiert
  • (sort-input) wird gerufen und produziert eine sortierte Liste.
  • (dolist) klappert diese Liste Zahl für Zahl ab
  • Für jede Zahl wird einmal (write-table-row) gerufen
  • Danach wird der Zeilenzähler um eins erhöht, und die nächste
        Schleifenrunde beginnt.

Unter http://www.clausbrod.de/OneSpaceModeling/FaqLearningLisp  findest Du Hinweise zu einführender Literatur zum Programmieren in Lisp. Ich denke, das wäre gut investierte Zeit!

  Claus


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

[Diese Nachricht wurde von clausb am 11. Jul. 2007 editiert.]

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 11. Jul. 2007 11: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 Nur für JC Wasti 10 Unities + Antwort hilfreich

Danke, habs verstanden. Eine allerletzte Frage noch (dann lass ich Euch in Ruhe).

In der Hilfe von OSD steht, das ich mit sd-am-create-geo-straight eine Linie zeichnen kann (damit soll der Tabellenrahmen entstehen). In der Variable Zielpunkt sollten ja die X- und Y- Koordinaten drin sein (hoffe ich). Nun habe ich das mal so aufgebaut (es soll eine Linie gezeichnet werden, beginnend am ZIELPUNKT und 100 lang sein, Besitzer soll die Skizze "2D_Skizze" sein.)

(create-tableheader
(sd-am-create-geo-straight
                          :horizontal (Zielpunkt 100)
                            wner_type :sketch
                            wner 2D_Skizze)
)

Wenn ich nun das Makro starte, bekomme ich ein Fehler ausgegeben:

LISP Fehler
:horizontal is not a varibable

Muss das irgendwie anderes definiert werden?

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: 11. Jul. 2007 17: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 JC Wasti 10 Unities + Antwort hilfreich

noxx,

wenn Du im Abschnitt :local-functions deines Dialogs die Funktion create-tableheader definierst, *SO* wie in Deinem letzten posting geschrieben, hast Du genau da einen syntax fehler eingebaut.

Guck Dir noch mal **genau** an wie die stelle aussieht in der Vorlage die Claus erstellt hast.

.
...
.....
............

immer noch nix gesehen????

ok.. in mimimaler Ergaenzung der Claus'schen Vorlage:

Code:

....
(create-tableheader()
  (pprint "mach mir den header")
  )
....

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

noch ein TIP:
fuer den header wuerde ich :rectangle nehmen
fuer die Zeilen wuerde ich immer ein niedriges, breites U zeichnen, also
          |___________________________|
und zwar unterverwendung von :polygon mit 4 punkten.

Aber jetzt versuch erstmal selber wieder weiter. Du willst ja auch dabei was lernen.

------------------
Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

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: 11. Jul. 2007 17: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 JC Wasti 10 Unities + Antwort hilfreich

was Dir vielleicht auch die Augen oeffnen mag:

(trace oli::sd-am-create-geo-straight)

und natuerlich dann das Konsolen Fenster nicht aus den selbigen verlieren ;-)

------------------
Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 11. Jul. 2007 17:55    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 JC Wasti 10 Unities + Antwort hilfreich

Sorry, aber ich probiert nun schon alles, aber immer kommt ne andere Fehlermeldung 
Auch finde ich Null Infos wie aus dem :docupoint (Zielpunkt) die Koordinaten X+Y bekomme.
Will´s ja gerne lernen, aber die Hilfe in OSD ist leider nicht die beste

Code:

(create-tableheader()
(sd-am-create-geo-straight
:rectangle (gpnt2d ((Zielpunkt) (Zielpunkt) (+ Zielpunkt 100) (+ Zielpunkt -10)))
:Owner_type sketch
:Owner "Sortieren")
)

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: 11. Jul. 2007 18:35    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 JC Wasti 10 Unities + Antwort hilfreich

Das weiss ich jetzt nicht auswendig, aber ich nehme mal an, dass ein :docupoint eine Struktur von Typ gpnt2d ist. Wenn dem so ist, dann gelten dafür die ganz allgemeinen Regeln für Strukturen jedweder Art in Lisp: Für jeden "Slot" in der Struktur werden automatisch Zugriffsfunktionen erzeugt, deren Namen sich aus dem Strukturnamen und dem Slotnamen zusammensetzt. Die Zugriffsfunktion für die x-Koordinate in einer gpnt2d-Struktur heisst dann also "gpnt2d_x". Erzeugt wird eine Struktur immer mit "make-strukturname", in diesem Fall also "make-gpnt2d".

Ohne Zweifel kann man in der Onlinehilfe zu OSM viel verbessern - aber die scheint mir zumindest bisher nicht Dein zentrales Problem zu sein. Bisher waren fast alle Fragen Verständnisprobleme zum Programmieren ganz allgemein oder aber zu Common Lisp im besonderen, und nur wenig war wirklich OSM-spezifisch. Wie gesagt, ich empfehle einen etwas systematischeren Lernansatz (Bücher, Tutorials, Kurse), denn das Stochern hat ja nun schon seit fast einem halben Jahr nicht wirklich zu Durchbrüchen geführt.

Ich find's aber nach wie vor gut, dass Du Dich auf unbekanntes Gelände vorwagst.

  Claus

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

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: 11. Jul. 2007 20: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 JC Wasti 10 Unities + Antwort hilfreich

Ein :docupoint ist kein gpnt2d.


Ein kleiner dialog zeigt ganz fix mit einem pprint, was dahinter steckt:

Code:

(oli::sd-defdialog 'a_am_point :variables '((punkt :value-type :docupoint :after-input (pprint punkt))))

Ein :docupoint ist kein gpnt2d, sondern also ein GPNTDOCU.

Und damit die Lernkurve nicht zu sehr abflacht ;-p, kannst Du jetzt herausfinden wie das so mit Strukuren denn so ist.. ... 


Eine vorhandene OSDModeling Dokumentation, die von "OneSpace Designer Integration Kit - Concepts and Tutorials" verlinkt ist, befasst sich *auch* mit dem Dialoggenerator und 'picks' im Annotation, und deren 'Bestandteile'.

------------------
Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 12. Jul. 2007 10: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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von der_Wolfgang:
Ein :docupoint ist kein gpnt2d.


Ein kleiner dialog zeigt ganz fix mit einem pprint, was dahinter steckt:

Code:

(oli::sd-defdialog 'a_am_point :variables '((punkt :value-type :docupoint :after-input (pprint punkt))))

Ein :docupoint ist kein gpnt2d, sondern also ein GPNTDOCU.

Und damit die Lernkurve nicht zu sehr abflacht ;-p, kannst Du jetzt herausfinden wie das so mit Strukuren denn so ist.. ... 


Eine vorhandene OSDModeling Dokumentation, die von "OneSpace Designer Integration Kit - Concepts and Tutorials" verlinkt ist, befasst sich *auch* mit dem Dialoggenerator und 'picks' im Annotation, und deren 'Bestandteile'.



Danke. Habe mir das mal durchgelesen und aus dem :docupoint ein :docupntcnp gemacht.

Mit dem Befehl
(display (format nil "~A,~A" (gpntdocu_x Zielpunkt)))
sollte er mir da nicht die X-Koordinate auswerfen ?

Hier bekomme ich aber immer den Fehler:

Manchmal auch das FOOBAR:ZIELPUNKT nicht definiert ist, warum auch immer. Diesen sollte er doch eigentlich kennen.

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: 12. Jul. 2007 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 JC Wasti 10 Unities + Antwort hilfreich

Die Fehlermeldung sagt es schon recht klar: Im Package "FOOBAR" (in dem offenbar Dein Testcode implementiert ist) gibt es keine Funktion namens "gpntdocu_x". Es fehlt vermutlich ein geeignetes (use-package). In welchem Package gpntdocu_x definiert ist, weiss ich gerade nicht auswendig, aber vielleicht kann Wolfgang helfen.

Eine huebsche Einfuehrung zu Packages in Common Lisp findest Du unter http://www.flownet.com/gat/packages.pdf

  Claus

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

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 12. Jul. 2007 10:16    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 JC Wasti 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von clausb:
Die Fehlermeldung sagt es schon recht klar: Im Package "FOOBAR" (in dem offenbar Dein Testcode implementiert ist) gibt es keine Funktion namens "gpntdocu_x". Es fehlt vermutlich ein geeignetes (use-package). In welchem Package gpntdocu_x definiert ist, weiss ich gerade nicht auswendig, aber vielleicht kann Wolfgang helfen.

Eine huebsche Einfuehrung zu Packages in Common Lisp findest Du unter http://www.flownet.com/gat/packages.pdf

  Claus



Sind die Packages sowas wie ne Bibliothek ?

Edit: OK, dat Teil ist im Package OLI drin. Diese Fehlermeldung ist nun weg.

Jetzt wollte ich nochmal probieren ein Rechteck zu zeichnen mit

Code:
               
(create-tableheader()
(sd-am-create-geo-straight  :rectangle (list((gpntdocu_x Zielpunkt) (gpntdocu_y Zielpunkt) (+ (gpntdocu_x Zielpunkt) 100) (+ (gpntdocu_y Zielpunkt) 100)))
:Owner_type sketch
:Owner "Sortieren")
)

Aber nun fehlt wohl woanderes was:

Und das verstehe ich nicht ganz. Variable ZIELPUNKT habe ich doch selber definiert mit:

Code:
(in-package :Oli)
(use-package :Oli)

(sd-defdialog 'am-sortieren
              :dialog-title "Testmakro Sortieren"
              :variables
              '(
               
               
                ("Zielpunkt")
                (Zielpunkt :value-type :docupntcnp :toggle-value-type :defundef)


[Diese Nachricht wurde von noxx am 12. Jul. 2007 editiert.]

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: 12. Jul. 2007 12:28    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 JC Wasti 10 Unities + Antwort hilfreich

Dein "Zielpunkt"-Problem hat mit Packages nichts zu tun; die Fehlermeldung ist ja auch diesmal eine ganz andere.

Die Fehlermeldung deutet auf eine fehlerhafte Syntax beim Aufruf von Funktionen hin. Genauer: Du hast den Ausdruck (GPNTDOCU_X ZIELPUNKT) irgendwo angegeben, vermutlich als Liste, wo eigentlich eine Funktion erwartet wird. Passiert gerne mal, wenn man seine Klammern nicht richtig oder im Ueberfluss gesetzt hat. Zur Vermeidung solcher Probleme empfehle ich einen automatisch einrueckenden Editor wie Emacs.

  Claus


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

[Diese Nachricht wurde von clausb am 12. Jul. 2007 editiert.]

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: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 12. Jul. 2007 14: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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von der_Wolfgang:
Eine vorhandene OSDModeling Dokumentation, die von "OneSpace Designer Integration Kit - Concepts and Tutorials" verlinkt ist, befasst sich *auch* mit dem Dialoggenerator und 'picks' im Annotation, und deren 'Bestandteile'.


Eine hervorragend diplomatische Variante von RTFM 

------------------
meine LISP-Makros sind auf osd.cad.de
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 12. Jul. 2007 14: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 JC Wasti 10 Unities + Antwort hilfreich

Ich gebe es erst mal auf. Die Hilfe von OSD bringt einem kein Stück weiter 
Laut Beispiel in dem Int-Kit soll schon dieser Befehl zu einem Erfolg (!) führen:
(sd-am-create-geo-straight :2pos (list 0,0 100,100) :Owner_type :current-frame)

Stattdessen kommt es nur zu einer weiteren Fehlermeldung:

Unzulässiger Aufruf ein Aktionsroutine

Wenn das schon so kompliziert ist ein einfaches Rechteck zu zeichnen, dann sollte
ich wohl die Finger erstmal davon lassen 

Gruss und danke nochmal

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: 12. Jul. 2007 14: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 JC Wasti 10 Unities + Antwort hilfreich

Der "unzulaessige Aufruf" bedeutet meist, dass ein sd-call-cmds zuwenig oder zuviel im Spiel ist.

Sieht so aus, als koennte man diese Funktion nur innerhalb eines Dialogs verwenden. Sehr unschoen. Ich habe das intern als Fehler gemeldet (es sollte wohl wenigstens in der Doku vermerkt werden). Danke fuer die Meldung.

Claus


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

[Diese Nachricht wurde von clausb am 12. Jul. 2007 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: 13. Jul. 2007 00: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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von noxx:
Ich gebe es erst mal auf. Die Hilfe von OSD bringt einem kein Stück weiter  

replace "einem" by "dich im Moment". 

Du rumpelst im Moment an zu vielen Ecken und es fehlen doch ein etwas mehr Kenntnisse als Du vielleicht momentan aus Dir herauswringen kannst. IMvHO versucht Du es im moment etwas mit der Brechstange. Das geht nicht gut. Claus hat Dir schon hinweise auf "Literatur" geliefert.


Zitat:
Laut Beispiel in dem Int-Kit soll schon dieser Befehl zu einem Erfolg (!) führen:
(sd-am-create-geo-straight :2pos (list 0,0 100,100) :Owner_type :current-frame)

tut er auch..

Bau's in mal SO in Deinen Dialog ein.. und schwubs ist die Linie da. Sogar in deinem "Owner", wenn Du magst.


Die Restriktion, das die sd-am-create.... Funktionen nur von innerhalb eines Dialoges gerufen werden können, sehe ich momentan auch nirgends dokumentiert.

Code:

(create-tableheader()
(sd-am-create-geo-straight  :rectangle (list((gpntdocu_x Zielpunkt) (gpntdocu_y Zielpunkt) (+ (gpntdocu_x Zielpunkt) 100) (+ (gpntdocu_y Zielpunkt) 100)))


das ist ungesund, was Du da zusammen klammerst..  ersetze "sd-am-create-geo-straight  :rectangle" mal durch "pprint" um diese liste zu sehen.  ....  so soll diese liste aber gar nicht aussehen.


[mit Geduld und Spucke...]
Hmmmmm... Geduld hast Du schon gezeigt...  Spucke auch schon investiert..

------------------
Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

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: 13. Jul. 2007 00: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 JC Wasti 10 Unities + Antwort hilfreich

Jetzt habe ich doch noch was vergessen..

Bei der docu zu oli::sd-am-create-geo-straight wird auf ein 80 zeiliges Beispiel verwiesen, hast du das mal in Ruhe seziert?

------------------
Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

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

noxx
Mitglied
Steuerzahler


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

Beiträge: 801
Registriert: 13.12.2004

OS: Win 7 Ultimate 64 bit SP1
Speicher: 30 GB RAM
Grafik: nVidia Quadro 4000
Creo Modelling v17.0

erstellt am: 13. Jul. 2007 08: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 JC Wasti 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von der_Wolfgang:
Jetzt habe ich doch noch was vergessen..

Bei der docu zu oli::sd-am-create-geo-straight wird auf ein 80 zeiliges Beispiel verwiesen, hast du das mal in Ruhe seziert?


Nicht nur 1x 

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