| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| Innovative Werkzeuge – auch in der Konstruktion, ein Anwenderbericht
|
Autor
|
Thema: Oberflaeche anpassen / neuer Befehl (1347 mal gelesen)
|
Stolpmann Mitglied selbständige Konstrukteurin
Beiträge: 59 Registriert: 22.02.2001
|
erstellt am: 07. Dez. 2001 11:00 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich hoffe ihr koennt mir weiterhelfen. Ich moechte gerne ein Icon haben fuer die Funktion Teil/Baugr. bewegen mit zwei Punkten. Unter Anpassen gibt es ja die Moeglichkeit einen zusammengesetzten Befehl aufzuzeichnen. Nun ist aber das Problem, dass man ja zuerst die zu bewegenden Teile definieren muesste. Ich habe also einfach auf ein Teil geklickt (beim Aufzeichnen), dann sagt der SD: "Ihre Aufzeichnung enthaelt Bildschirmklicks. Das fuehrt zu Problemen. Manuelle Nachbearbeitung erforderlich." Wie muss ich das denn nu nachbearbeiten? Sorry, habe leider keine Ahnung von LISP. Ich hoffe, es ist einigermassen ruebergekommen, worum es mir geht. Wenn nicht, dann fragt einfach nach. Gruss, Dagmar
------------------ Stolpmann Konstruktion Auftragsentwicklungen, Schulungen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ludger Mitglied Techniker
Beiträge: 10 Registriert: 20.11.2001
|
erstellt am: 07. Dez. 2001 13:43 <-- editieren / zitieren --> Unities abgeben: Nur für Stolpmann
Hallo, ich habe leider keine Zeit dir die Lösung zu erstellen, ich habe dier hier aber mal was kopiert: ;Material Messing add_toolbox_button "Toolbox" :label "Messing" :action '(material_Messing) complete (defun material_Messing () ** (set_pers_context :none) (set_text_wid_value_f "prompt" "Teil angeben.") (current_part :interactive) (put-buffer "complete") (set_part_inst_color arts :current :color :clr) ; Teileeigenschaften Farbe loeschen (set_part_base_color arts :current :color :rgb 0.991,0.873,0.394) ; Grundeigenschaften Farbe aendern -> Farbangabe aus Propertiemenue -> Inquire (set_part_inst_density arts :current :dens :clr) ; Teileeigenschaften Dichte loeschen (set_part_base_density arts :current :dens 0.00845) ; Grundeigenschaften Dichte aendern (put-buffer "complete") ) Dies ist ein Lisp- Programm mit dem man einen Teil eine bestimmte Farbe zuordnet. In der Zeile mit denn ** findest du Ansätze zur lösung deines Problems. Viel Erfolg ------------------ MfG Ludger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Markus Kuehl Mitglied
Beiträge: 165 Registriert: 22.06.2001
|
erstellt am: 07. Dez. 2001 14:27 <-- editieren / zitieren --> Unities abgeben: Nur für Stolpmann
Hallo Dagmar, die richtig korrekte Loesung zu Deinem Problem ist, dass Du einen kleinen sd-defdialog schreibst, sequentiell, mit 3 Variablen: Part/Assembly Selection, Punkt1 und Punkt2. In der ok-action wird dann das SD Kommando position_pa gerufen. Hack-maessig koennte man das ganze auch wie folgt erreichen, allerdings mit einem gravierenden Nachteil: Der Ansatz ist nicht supportet und auch fehleranfaellig (z.B. kannst Du die Ansicht nicht aendern, wenn Du zur Selektion des Parts/Assy aufgefordert wirst.) Nachdem Du die Fehlermeldung "... Manuelle Nacharbeit erforderlich" bekommen hast, schreibe einfach folgendes als "Command Action": (position_pa : part_assembly update_screen :interactive :translate :two_ptv :interactive-rest) ;; OHNE Leerzeichen zwischen : und part_assembly (Smilies ...) Probier's mal aus. Vielleicht kannst Du ja mit den Einschraenkungen leben, die dieser Ansatz mit sich bringt. Viele Gruesse, Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stolpmann Mitglied selbständige Konstrukteurin
Beiträge: 59 Registriert: 22.02.2001
|
erstellt am: 07. Dez. 2001 22:12 <-- editieren / zitieren --> Unities abgeben:
Hallo! Schon mal danke für Eure Antworten. Hab´s leider noch nicht hinbekommen, bin jetzt auch zu müde um noch weiter rumzuprobieren. Ich werde Euch nächste Woche noch etwas löchern, bin jetzt aber erstmal bis Dienstag weg. Gruß, Dagmar ------------------ Stolpmann Konstruktion Auftragsentwicklungen, Schulungen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
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: 08. Dez. 2001 17:03 <-- editieren / zitieren --> Unities abgeben: Nur für Stolpmann
Zitat: Original erstellt von Stolpmann: Schon mal danke für Eure Antworten. Hab´s leider noch nicht hinbekommen...
Bin normalerweise kein LISP-Programmierer, aber die Methode via sd-defdialog, die Markus vorgeschlagen hat, ist wirklich sehr simpel, also habe ich das schnell selbst ausprobiert. Das Ergebnis ist angehaengt und demonstriert hoffentlich, wie einfach das geht. Die Datei hat die Endung .lsp.txt, weil das Forum .lsp-Dateien nicht erlaubt, also vor dem Laden in SD am besten die Datei umbenennen. Noch stromlinienfoermiger wird das Kurzkommando, wenn Du : dialog-control : sequential benutzt wie im Kommentar angegeben - dann erscheint kein Dialog, sondern der Anwender wird per Prompts durch die Eingaben geleitet, und nach der Eingabe des Zielpunktes wird das Kommando automatisch ausgefuehrt. clausb [Diese Nachricht wurde von clausb am 08. Dezember 2001 editiert.]
[Diese Nachricht wurde von clausb am 11. Dezember 2001 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stolpmann Mitglied selbständige Konstrukteurin
Beiträge: 59 Registriert: 22.02.2001
|
erstellt am: 11. Dez. 2001 10:24 <-- editieren / zitieren --> Unities abgeben:
Hallo clausb! Erstmal vielen Dank für das Makro. Eigentlich hatte ich an etwas gedacht, dass ich im Anpassen-Menue eintippen kann, so dass ich es nachher als Icon habe. Dein Makro kann ich laden und hab es dann in der Werkzeugkiste. Leider kann ich mit Deinem Makro nur ein einzelnes Teil bewegen und nicht mehere gleichzietig. Kann man das noch entsprechend ändern? Gruß, Dagmar ------------------ Stolpmann Konstruktion Auftragsentwicklungen, Schulungen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.6, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook Fury 16 G9, Windows 10 Pro 64
|
erstellt am: 11. Dez. 2001 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für Stolpmann
Das beigefügte Makro ist entsprechend erweitert. Der Aufruf über ein Icon ist dann schon etwas komplizierter: Dazu sollte man sich zuerst eine Kopie von der Datei sd_avail_cmds.cmd anlegen (im SDUSERCUSTOMIZEDIR oder SDCORPCUSTOMIZEDIR) und auch vom Ordner "Bitmaps". Dort kann man dann eigene Befehle definieren und auch mit Icons versehen. Alles was dort drinnen steht, hat man nachher mit "Anpassen" zur Verfügung. Im konkreten Fall sollte der Eintrag so aussehen (z.B. in der Rubrik "Miscellaneous"): ("Mein-Bewegen-2-Punkte" :title "Teil/Bgr 2Pkt" :action (frame2::put-buffer "move_part_by_two_pts") :description "Bewegt Teile/Baugruppen 2 Punkte" :image "SolidDesigner/Miscellaneous/meinicon" ) Die bmp-Datei "meinicon" kann man z.B. mit Paint erzeugen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
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. Dez. 2001 14:42 <-- editieren / zitieren --> Unities abgeben: Nur für Stolpmann
Zitat: Original erstellt von Stolpmann: Erstmal vielen Dank für das Makro. Eigentlich hatte ich an etwas gedacht, dass ich im Anpassen-Menue eintippen kann, so dass ich es nachher als Icon habe. Dein Makro kann ich laden und hab es dann in der Werkzeugkiste. Leider kann ich mit Deinem Makro nur ein einzelnes Teil bewegen und nicht mehere gleichzietig. Kann man das noch entsprechend ändern?
Klar kann man das. Man fuege nur die Option ": multiple-items t" zur Dialogdefinition hinzu (Leerzeichen zwischen : und m entfernen, musste sein wegen Smileyautomatik) und passe eventuell den Rest des Dialoges an. Siehe dazu die Dokumentation zum Integration Kit oder eben Walters Beispiel. Walter hat in Kurzform ja schon beschrieben, wie man einen selbstdefinierten Dialog in die Liste der vorhandenen Kommandos einfuegt, Icons dazu bastelt und in eine Werkzeugleiste bringt. In erschoepfendem Detail steht das auch nochmal im "Customization Guide" in der Onlinehilfe. clausb
[Diese Nachricht wurde von clausb am 11. Dezember 2001 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Markus Kuehl Mitglied
Beiträge: 165 Registriert: 22.06.2001
|
erstellt am: 11. Dez. 2001 14:58 <-- editieren / zitieren --> Unities abgeben: Nur für Stolpmann
Hallo Walter, ein paar Anmerkungen zu Deinem Beitrag: Zitat: Das beigefügte Makro ist entsprechend erweitert. Der Aufruf über ein Icon ist dann schon etwas komplizierter: Dazu sollte man sich zuerst eine Kopie von der Datei sd_avail_cmds.cmd anlegen (im SDUSERCUSTOMIZEDIR oder SDCORPCUSTOMIZEDIR) und auch vom Ordner "Bitmaps". Dort kann man dann eigene Befehle definieren und auch mit Icons versehen. Alles was dort drinnen steht, hat man nachher mit "Anpassen" zur Verfügung. Im konkreten Fall sollte der Eintrag so aussehen (z.B. in der Rubrik "Miscellaneous"): ("Mein-Bewegen-2-Punkte" :title "Teil/Bgr 2Pkt" :action (frame2:: put-buffer "move_part_by_two_pts") :description "Bewegt Teile/Baugruppen 2 Punkte" :image "SolidDesigner/Miscellaneous/meinicon" ) Die bmp-Datei "meinicon" kann man z.B. mit Paint erzeugen.
1. BITTE ein (in-package ...) Statement als erste Zeile in jeder LISP Datei (das gilt auch fuer Claus ). Damit verhindert man ungewollte Package Konflikte, die man nur sehr muehsam findet! 2. Man muss nicht die gesamte sd_avail_cmds.cmd Datei ins eigene Customization Directory kopieren. Es reicht dort eine Datai mit diesem Namen anzulegen, die NUR die Aenderungen bzw. neuen Kommandos enthaelt. 3. Bitte auch den Bitmaps Ordner nicht kopieren, denn sonst "ueberschreibt" diese Kopie jegliche Verbesserungen, die wir mit einem neuen Release einbringen werden. Deshalb, bitte NUR neue bzw. veraenderte Bitmaps im persoenlichen Customization Directory ablegen. 4. Als VIEL BESSERE Alternative zu Kommentar 3. und 4. gibt es seit SolidDesigner 2001 (rev 9.0X) die Moeglichkeit, neue Kommandos nebst Bitmaps interaktiv im SolidDesigner zu erstellen (Anpassen ... -> Kommandos -> Neu ...). Dies hatte Dagmar ja auch schon gemacht, jedoch muss sie jetzt nur noch ihrem neuen Kommando die richtige Action unterjubeln, d.h. als Befehlsaktion einfach move_part_by_two_pts eintragen. Viele Gruesse, Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stolpmann Mitglied selbständige Konstrukteurin
Beiträge: 59 Registriert: 22.02.2001
|
erstellt am: 11. Dez. 2001 16:37 <-- editieren / zitieren --> Unities abgeben:
Vielen, vielen herzlichen Dank! Ihr seit wirklich spitze! Besonderen Dank an clausb für das Makro, Walter für die Makro-Erweiterung und Markus für den Hinweis, wie ich das einfach in ein Icon packe. Jetzt habe ich das so, wie ich das haben wollte. Irgendwann muß ich mich doch mal mit LISP auseinandersetzen. Grüße, Dagmar ------------------ Stolpmann Konstruktion Auftragsentwicklungen, Schulungen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
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. Dez. 2001 18:45 <-- editieren / zitieren --> Unities abgeben: Nur für Stolpmann
Zitat: Original erstellt von Markus Kuehl: 1. BITTE ein (in-package ...) Statement als erste Zeile in jeder LISP Datei (das gilt auch fuer Claus ). Damit verhindert man ungewollte Package Konflikte, die man nur sehr muehsam findet!
Weise Worte. Ich habe in meinem Beitrag das LISP-Beispiel entsprechend abgeaendert. clausb Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.6, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook Fury 16 G9, Windows 10 Pro 64
|
erstellt am: 12. Dez. 2001 11:47 <-- editieren / zitieren --> Unities abgeben: Nur für Stolpmann
An Markus Die von Dir vorgeschlagene Anpassung interaktiv übers "Anpassen"-Menü durchzuführen klingt ja verlockend. Nur: Wo "verewigt" sich die dann, im persönlichen Profil und in der gerne überbordenden Registry? Unter Windoof ist mir die Anpassung auf die "harte" Tour und in der CORPCUSOMIZEDIR/sd_avail_cmds.cmd lieber, da habe ich alle User auf einen Schlag und die volle Kontrolle über die Konfiguration. Aber jedenfalls danke für den Hinweis, daß man nur die geänderten Befehle und Icons dort ablegen braucht! Beim Makro war ich zugegebener Weise schlampig und habe das (in-package ...) vergessen vor lauter Begeisterung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
woho Mitglied im (Un)Ruhestand
Beiträge: 1479 Registriert: 05.09.2000 von SolidDesigner ab 1.0 ueber Precision Engineering Dynamic Modeling ueber CoCreate Modeling bis Creo Elements/Direct 20.x
|
erstellt am: 12. Dez. 2001 12:02 <-- editieren / zitieren --> Unities abgeben: Nur für Stolpmann
Wenn man im SD interaktiv neue Kommandos, neue Icons, neue Toolbars, ... erstellt, so kann man all dies exportieren mit Werkzeuge / Benutzeroberflaechenvorgaben / Anpassungen exportieren Da wird man auch darauf hingewiesen, wohin die Daten geschrieben werden. Da wird dann die Bitmap-Datei hineingeschrieben und eine eigene Datei user_avail_cmds.cmd verwendet, in der die neuen Befehle fuer den Benutzer reingeschrieben werden. Den Inhalt von user_avail_cmds.cmd kann man ja fuer allgemeine Anwendungen fuer alle Benutzer im sd_avail_commands.cmd in SDSITECUSTOMIZEDIR oder SDCORPCUSTOMIZEDIR verwenden. Auch die angelegten Icons muss man nur mehr kopieren. Mit SD 9.x hat sich da schon einiges sehr vereinfacht und interaktiv hat man in kuerzester Zeit alles erstellt, wofuer man frueher schon einigen Durchblick haben musste. Gruss von WoHo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Markus Kuehl Mitglied
Beiträge: 165 Registriert: 22.06.2001
|
erstellt am: 12. Dez. 2001 15:19 <-- editieren / zitieren --> Unities abgeben: Nur für Stolpmann
Hallo WoHo, Dein Beitrag ist "fast" richtig . Allerdings braucht man um die interaktiv erstellten/modifizierten Kommandos KEIN "Werkzeuge / Benutzeroberflaechenvorgaben / Anpassungen exportieren" durchfuehren. Die Datei "user_avail_cmds.cmd" wird voellig automatisch und transparent fuer den Benutzer geschrieben, sobald sie/er ein neues Kommando erstellt oder eins modifiziert hat. Die Datei liegt dann im persoenlichen Profiles Directory und nicht irgendwo in der Registry. "Anpassungen exportieren" ist nur sinnvoll, wenn man die Inhalte der Toolbars/Menubar/Context Menus von einer SD Version zur naechsten retten will. Da laeuft man aber Gefahr, Neuerungen, die wir mit einer neuen Version einbauen, nicht zu sehen, da ja die exportierten Anpassungen verwendet werden. Deshalb gibt es seit 9.0X versionsabhaengige persoenliche sd_customize Verzeichnisse. Damit ist es dann ein manueller (bewusster) Schritt, "alte" Anpassungen auch in die neue Version zu uebernehmen. Viele Gruesse, Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |