| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Frage zu dcl (1524 mal gelesen)
|
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 08. Dez. 2011 20:32 <-- editieren / zitieren --> Unities abgeben:
Hallo. Frage: ich benutze ein lsp welche über eine dcl ein Menü aufbaut. Das erscheinende Menü stellt sich ungünstiger Weise immer in den Bilschirmmittelpunkt. Kann ich einstellen das das Menü am Rand erscheint. Ist es möglich das ganze Menü zu verkleinern oder woher kommt die Schriftgrößen im Menü. ------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Dez. 2011 22:23 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 08. Dez. 2011 22:28 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Hallo, Dialog positionieren geht. Dabei mußt Du nur beim Aufruf die Bildschirm(pixel-) Koordinaten mit angeben: Zitat: (new_dialog dlgname dcl_id [action [screen-pt]]).... .... screen-pt A 2D point list that specifies the X,Y location of the dialog box on the screen. The point specifies the upper-left corner of the dialog box. If you pass the point as'(-1 -1), the dialog box is opened in the default position (the center of the AutoCAD drawing area).
Du kannst sogar Dir die Dialogposition merken und beim nächsten Aufruf den Dialog wieder an genau der selben Stelle erscheinen lassen, da die Funktion (done_dialog) als Rückgabewert die Koordinaten beinhaltet. Die Schrift allerdings kannst Du nicht beeinflussen.... Grüsse, Henning
------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 11. Dez. 2011 13:49 <-- editieren / zitieren --> Unities abgeben:
Danke für die Hinweise hatte bis jetzt keinen Erfolg, bitte schaut euch nochmal an wo der fehler liegt. Hier den Anfang der dcl. Ich hab sicher was falsch gemacht. fl2dialog : dialog { (new_dialog dlgname dcl_id [action [500,500]]) label = "Weitere Teilfläche"; : boxed_row { label = "Methode"; : button { label = "Eckpunkte"; key = "bt2_eck"; alignment = left; width = 20; } Unklar ist mir noch wieso ich über "width" nur eine Verlängerung der Buttons erreiche und keine Verkleinerung. Bei einigen Schaltern ist das Feld viel Länger als der darin enthaltene Text es notwendig macht. Hatte gedacht wenn ich alle "width" halbiere erreiche ich ein Zusammenziehen des gesamten Menüs, aber da tut sich gar nichts? ------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 11. Dez. 2011 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
|
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 11. Dez. 2011 21:07 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Hallo, vielleicht helfen Dir die Beispielzeilen weiter: ;; -------- Dialog 2 --------- (defun NC_DIALOG2 (/ DAT_2 OK) (if (null POS) (setq POS '(-1 -1)) ) ;_ end of if (setq DAT_2 (load_dialog "SW_Z2NCB.DCL")) (if (null (new_dialog "Z2NCB2_TOOL" DAT_2 "" POS)) (alert "\nLaden der Dialogbox nicht möglich!") ) ... ... Wenn nun das Menü verschoben wurde, kommt es beim nächsten Aufruf an die verschobene Stelle. Gruß Theodor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 14. Dez. 2011 09:44 <-- editieren / zitieren --> Unities abgeben:
Muss leider nochmal dumm nachfragen, habe die Zeile (new_dialog dlgname dcl_id [action [500, 500]]) genau so und in allen möglichen anderen dummen Variationen in die lsp eingesetzt und die dort bereits stehende abgeschaltet. Leider ohne den gewünschten Erfolg. Auch die Befehlsfolge mit "DIALOG2" ist mir gelungen einzubauen, nur wird bei neuem Programmstart wieder in der Mitte die dcl gestartet. Bitte gebt mir doch nochmal einen Hinweis warum die einfache Variante (new_dialog dlgname dcl_id [action [500,500]]) nicht läuft. Da in der lsp die new_dialog Zeile zweimal existiert habe ich diese auch zweimal verändert. Stimmt das mit den eckigen Klammern, oder muss das Komma raus. Habe eigentlich schon alles getestet, leider ihne Erfolg. ------------------ Gruß vom Bauvermesser; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 14. Dez. 2011 10:05 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
siehe Theodor (new_dialog MyDlg "" '(-1 -1)) --> Zentriert glaube ich oder default... oder ggf (new_dialog "blabla" DCL_ID "" '(100 700)))
------------------ Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." [Diese Nachricht wurde von Dorfy am 14. Dez. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 14. Dez. 2011 10:07 <-- editieren / zitieren --> Unities abgeben: Nur für Bauvermesser
Das Problem ist folgendes: Du wirst in der ganzen LISPelei keine [eckige Klammer] finden.VLisp-Hilfe: (new_dialog dlgname dcl_id [action[screen-pt]]) Siehst du beim Theo irgendeine eckige Klammer ? (new_dialog "Z2NCB2_TOOL" DAT_2 "" POS) schreibst du bei strcat die Strings auch in eine eckige Klammer ? VLisp-Hilfe: (strcat [string[string]...])
Oder bei setq den Wert in eckige Klammern ? VLisp-Hilfe: (setq sym expr [sym expr]...) ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bauvermesser Mitglied Vermesser
Beiträge: 460 Registriert: 18.03.2006 AMD 2600, 2024RAM ,WIN XP PROF-SP3, ACAD 2005, Firmenrechner,
|
erstellt am: 15. Dez. 2011 21:29 <-- editieren / zitieren --> Unities abgeben:
|