|
OneSpace Modeling : Lisp
Dorothea am 11.12.2002 um 12:29 Uhr (0)
Hallo Mirko, Man muss dem Dialog sagen, dass eine oder mehr Variablen optional sind. In der ok-action fragt man dann ab, ob die Variablen wirklich ausgewaehlt wurden, sprich einen Wert haben, oder nur nil . Optionale Variablen erhaelt man mit dem Keyword :initial-optional t bei der entsprechenden Variablendefinition. Alternativ kann man :toggle-type :indicator-toggle-data verwenden. Dann erscheint im UI zusaetzlich ein Boolean-Knopf, den der Benutzer dann an oder aus schalten kann. Gruss Dorothea
|
| In das Form OneSpace Modeling wechseln |
|
OneSpace Modeling : laden von dokumenten aus wm (lisp)
Dorothea am 28.01.2004 um 13:12 Uhr (0)
Hallo Steffen, Zum Laden im speziellen aus dem Workmanager kann ich dir nichts sagen. Aber das Stueckchen Code, was du abgebildet hast, das kann/darf so nicht tun. Generell gilt im Integration Kit: Will man einen Dialog aus einem anderen Dialog heraus aufrufen, dann muss man den Aufruf mit dem Makro: sd-call-cmds umgeben. Das ist wie gesagt nicht spezifisch fuer Workmanager sondern gilt fuer alles was du programmierst. Mehr Infos gibt es unter: integration_kit/reference/sd-call-cmds.html#sd-call-cmds Gruss ...
|
| In das Form OneSpace Modeling wechseln |
|
Makro Programmierung : name conflict beim Laden von Lisp-Files
Dorothea am 26.04.2005 um 16:03 Uhr (0)
Hallo Heiko, Wenn du dann morgen wieder startest ist hoffentlich ueber Nacht alles wieder in Ordnung geraten....... (Hoffen kann man doch, oder?) Falls nicht, starte doch mal mit der -v Option. Dann sieht du zumindest schon mal, welches File geladen wird, wenn der Fehler auftaucht. Dann schau dir an, welche Files alle vorher geladen wurden. Mit dem Fehler-produzierenden File anfangen und dann die anderen anschauen. Das waere glaube ich der beste Anfang dein Problem einzukreisen! Gruss Dorothea
|
| In das Form Makro Programmierung wechseln |
|
OneSpace Modeling : Lisp
Dorothea am 11.12.2002 um 13:52 Uhr (0)
Hallo Mirko, Das ist wieder wie so oft ein Problem mit den Klammern. Ist meist eine gute Sache, einfach mal die Klammern durchzuzaehlen. Manche Editoren bieten da ganz gute Unterstuetzung. Jedenfalls ist :failure ein Parameter fuer sd-call-cmds und muss deshalb innerhalb der schliessenden Klammer fuer sd-call-cmds sein. (sd-call-cmds (AM_LOAD_DRAWING :filename (first V1)) :failure (setf error-case t) ) Zitat: Woher weisst du das alles? Hast du eine Schulung hinter dir oder alles selbst beige ...
|
| In das Form OneSpace Modeling wechseln |
|
Makro Programmierung : Lisp um Flächenteile zu löschen?
Dorothea am 04.07.2003 um 12:57 Uhr (0)
Hallo Heiko, Im Integration Kit gibt es eine Funktion die testet, ob eine Teil ein Flaechenteil ist oder nicht: sd-inq-face-part-p. Damit und mit get_selection kann man sich einen kleinen Dialog zusammen basteln. Ich habe einen Versuch mal rangehaengt. Das mit den leeren Baugruppen ist etwas komplizierter. Da muss man dann naemlich aufpassen, dass man nicht erst eine Oberbaugruppe wegloescht und danach dann eins der Kinder. Dann bekommt man ein Problem im System. Das kann dir mit meinem kleinen Dialog na ...
|
| In das Form Makro Programmierung wechseln |
|
OneSpace Modeling : Lisp-Editor
Dorothea am 17.03.2004 um 10:39 Uhr (0)
Hallo Rainer, Ich hatte mir mal eine Liste mit Befehlen, die mich interessieren, angelegt. (Ist aber bei einer neuen Version mal verloren gegangen.) Doch nach ein paar Tagen Arbeit habe ich das damals wieder abgeschaltet. Ach so, ich arbeite mit emacs. Der emacs liefert fuer verschiedene Sprachen Listen mit sprachspezifischen Schluesselwoertern, die dann unterschiedlich (benutzerdefinierbar) eingefaerbt werden. Zusaetzlich werden keywoerter eingefaerbt. Und so ist alles schon bunt genug - aber fuer mich se ...
|
| In das Form OneSpace Modeling wechseln |
|
Makro Programmierung : Benutzer über den Pfad abfragen
Dorothea am 31.08.2004 um 16:31 Uhr (0)
Hallo Inkognito, Du koenntest z.B. in deinen Dialog eine Variable einfuegen, die den Nutzer einen Filenamen eingeben laesst. Dieser Filename enthaelt dann auch das Verzeichnis. Und das Ergebnis-Bild heisst dann nicht notwendigerweise rotate.gif sonden so wie der Nutzer einen Filenamen ausgewaehlt hat. Viele Infos ueber Filenamen findest du im Developers Kit bei :value-type :filename (documentation/integration_kit/reference/dg_manual.html#file-selection) Die unnoetigen Files koenntest du evtl. mit Standar ...
|
| In das Form Makro Programmierung wechseln |
|
OneSpace Modeling : Brauche mal kurz Hilfe für Lisp (if then oder cond?)
Dorothea am 14.09.2004 um 13:57 Uhr (0)
Hallo Michael, Wenn nach eine if -Anweisung mehr als ein Aufruf erfolgen soll, dann muss man diese Aufrufe zusammenfassen, z.B. mit progn. Bei dir steht im Moment: (if Fase ( (sd-call-cmds Diese zweite Klammer nach Fase sagt nichts aus, ist falsch dort. Ersetze sie durch (if Fase (progn (sd-call-cmds Dann sollte dieses Problem geloest sein. progn wird auch ganz normal durch eine schliessende Klammer wieder beendet. Diese Klammer ist glaube ich in deinem Programm schon drinne. Gruss Do ...
|
| In das Form OneSpace Modeling wechseln |
|
Makro Programmierung : LISP-Dialog: :after-input wird nicht ausgeführt
Dorothea am 15.02.2006 um 15:14 Uhr (0)
Zitat:heißt das, dass ich die Initialisierung doppelt machen muss?1.) Wenn Teil aktiv ist bei :after-initialization2.) Wenn Teil interaktiv gewählt wurde, bei :after-inputDu musst den Code zweimal hinschreiben. Er wird nicht doppelt ausgefuehrt. Ueblicherweise schreibe ich deshalb solche Funktionalitaet in eine :local-function und rufe diese dann an 2 Stellen auf. Denk dran, du musst einen check einbauen, ob die Variable wirklich initialisiert wurde. Gibt es zum Beispiel kein actives Teil, dann kannst du ...
|
| In das Form Makro Programmierung wechseln |
|
OneSpace Modeling : Eigenes Menu
Dorothea am 28.04.2004 um 14:47 Uhr (0)
Hallo Michael, Wenn man in deinem Menue auf den Knopf drueckt, dann wird jedes mal das File welle07.lsp geladen (der Dialog LOAD_WELLE mit dem entsprechenden filenamen aufgerufen). Das ist glaube ich nicht das, was du haben willst, stimmt s? Ich habe das so verstanden, dass im File welle07.lsp Lisp-Code steht. Und der definiert einen Dialog Welle07. Ist das richtig so? Dann sollte es doch eher so sein: Lade irgendwann mal dein File welle07.lsp z.B. dort, wo du das Menue definierst. Und dann trage in das ...
|
| In das Form OneSpace Modeling wechseln |
|
Makro Programmierung : selbstgedenggeltes Attribut an SDPart hängen
Dorothea am 15.01.2004 um 07:34 Uhr (0)
Hallo, (sd-attach-item-attribute nd_part eigene-attribute ... (set_part_base_density : parts nd_part :dens (setq solid_dichte (Dichte))) ... Beim Attribut erhalte ich den angehängten Fehler. Der Dialog set_part_base_desity verlangt eine Liste von Teilen. Wenn das bei dir funktioniert, dann enthaelt deine Variable nd_part eine Liste von sel_item s. Die Funktion sd-attach-item-attribute verlangt als ersten Parameter ein einzelnes Part. Deshalb kann man da nicht direkt die Variable nd_part verwenden so ...
|
| In das Form Makro Programmierung wechseln |
|
Makro Programmierung : Lisp: Teile entfernen funktioniert nicht
Dorothea am 04.03.2005 um 08:38 Uhr (0)
Hallo Thomas, Du hast sicherlich mal interaktiv mit dem Teiledialog gearbeitet. Ist dir da aufgefallen, dass bei der Auswahl immer alle Teile automatisch in der Liste waren, die auch Referenz von der Teilegruppe sind? Der Dialog ist so geschrieben, dass der Auswahldialog als initiale Liste die aktuell von der Teilegruppe referenzierten Teile bekommt. Wenn du nun programmatisch den Teiledialog aufrufst, musst du genau das beachten. Als erste Parameter fuer die Auswahl loesche also die initiale Liste und geb ...
|
| In das Form Makro Programmierung wechseln |
|
OneSpace Modeling : LISP: Teilebaum erfassen
Dorothea am 24.05.2005 um 09:27 Uhr (0)
Hallo, Generell muss man ein bisschen aufpassen, wenn man den gesamten Teilebaum bescannt. Die Loesung mit der rekursiven Selektion ist super wenn man weiss, dass es nicht hunderte von Teilen und Baugruppen sind, die man bekommt. Diese eine Liste wuerde naemlich auf einmal vom Selektor zurueck gegeben werden. Dass das Programm da moeglicherweise die Backen aufplustert ist wohl nachvollziehbar. Wenn man sich ebenenweise voran tasted (z.B. mit sd-inq-obj-children) und die Ergebisse immer mit nconc in eine ...
|
| In das Form OneSpace Modeling wechseln |