| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Zeigereingabe in Lips auswerten (1571 mal gelesen)
|
joeycool Mitglied Ingenieur TGA
Beiträge: 1455 Registriert: 01.06.2004 MEP/ACAD 2008,..., 2013, 2014, 2015, 2016 und 2017 REVIT MEP 2017 WIN7 64 bit i7 3,4 GHZ, SSD Platte, 16 GB Ram NVDIA Quadro K 2200
|
erstellt am: 28. Jun. 2012 15:37 <-- editieren / zitieren --> Unities abgeben:
Geht sowas? Bei der Zeigereingabe führe ich nach Befehlsaufruf und Objektauswahl (oder andersrum) die Maus in eine Richtung und gebe einen Abstand über die Tastatur ein. Wäre jetzt nur diese Bewegung der Maus zur Richtungsangabe in einem Lisp weiterverarbeitbar; alles andere wie der Abstand ist im Makro programmiert. Eine echte Benutzereingabe wie sie im Makro "\" abgefragt wird, ist das ja nicht, da sie nicht beendet wird. Geht das, oder braucht es Umwege? Joeycool 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 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 28. Jun. 2012 16:16 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
|
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 28. Jun. 2012 16:41 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
|
joeycool Mitglied Ingenieur TGA
Beiträge: 1455 Registriert: 01.06.2004 MEP/ACAD 2008,..., 2013, 2014, 2015, 2016 und 2017 REVIT MEP 2017 WIN7 64 bit i7 3,4 GHZ, SSD Platte, 16 GB Ram NVDIA Quadro K 2200
|
erstellt am: 28. Jun. 2012 16:47 <-- editieren / zitieren --> Unities abgeben:
Hallo Henning, habe hier mal danach geschaut, aber ich glaube, das hilft nicht: Ich brauche ja nicht die Länge, sondern den Winkel also 0, 90, 180, 270 Grad. Es müsste also eine Variable sein, die irgendwie "getangle" oder so heißt... Außerdem gibt es ja (erstmal) gar kein Objekt von dem man Länge bzw. Winkel abfragen könnte, erstmal wird ja mit der Maus nur die Richtung gezeigt. Aber vielleicht muss man ja sogar diesen Umweg gehen, also: mit der Mausbewegung eine Linie zeichnen (vorher ortho ein) Winkel dieser Linie ermitteln und an Variable übergeben eigentlichen befehl ausführen Linie wieder löschen
Hört sich aber (zumindest für mich newbie) extremst komplex an, oder scheint das nur so?
Joeycool Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6052 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 28. Jun. 2012 16:56 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
Hallo joeycool, Darf ich Dich darauf aufmerksam machen, daß es hier bei cad.de ein eigenes Brett für LISP gibt? Nicht daß Dir hier nicht geholfen würde, aber dort tummeln sich die wahren Meister mit hoher Kompetenz. Jürgen 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 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 28. Jun. 2012 16:58 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
oh, zu schnell gelesen... Versuch mal "getpoint": Code: (setq p2 (getpoint (setq p1 (getpoint)) "Richtung und Länge zeigen")) (alert (strcat "Länge: " (rtos (distance p1 p2))" , Winkel: " (rtos (angle p1 p2))))
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 |
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 28. Jun. 2012 17:28 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
|
joeycool Mitglied Ingenieur TGA
Beiträge: 1455 Registriert: 01.06.2004 MEP/ACAD 2008,..., 2013, 2014, 2015, 2016 und 2017 REVIT MEP 2017 WIN7 64 bit i7 3,4 GHZ, SSD Platte, 16 GB Ram NVDIA Quadro K 2200
|
erstellt am: 28. Jun. 2012 17:59 <-- editieren / zitieren --> Unities abgeben:
Super, mit getangle krieg ich den Winkel (sogar ohne Line zeichnen) jetzt muss ich den noch von Bogenmaß umrechnen (mal schauen, ob ich das mit meinen neu erworbenen Kenntnissen hinbekomme) und dann müsste sich daraus was machen lassen. Ich geh jetzt erstmal basteln.... @henning: Bei Deiner Routine meldet er mir einen Fehler: Befehl: (setq p2 (getpoint (setq p1 (getpoint)) "Richtung und Länge zeigen")) (alert (strcat "Länge: " (rtos (distance p1 p2))" , Winkel: " (rtos (angle p1 p2)))) Kann nicht zu LISP zurückkehren. Ungültiger Punkt. Richtung und Länge zeigen(-10135.0 -9383.19 0.0)
aber ich glaube mit getangle schau ich jetzt erst mal weiter.... @jupa: in das andere Forum trau ich mich nicht mit meine Fragen, kommt mir vor, als würde ich mit einem Minigolfschläger bei den German Masters auflaufen.... Joeycool Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 29. Jun. 2012 07:54 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
Zitat: Original erstellt von joeycool:
@jupa: in das andere Forum trau ich mich nicht mit meine Fragen, kommt mir vor, als würde ich mit einem Minigolfschläger bei den German Masters auflaufen....
Auch komm, keine Angst , da sind im Wesentlichen die selben Leute unterwegs, wie hier. Die beissen nicht (und haben alle auch irgendwann mal angefangen) Gruß Thomas 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 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 29. Jun. 2012 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
Zitat: Original erstellt von joeycool: @henning: Bei Deiner Routine meldet er mir einen Fehler:
sollten ja nur ein paar Beispielzeilen sein. Innerhalb eines Testbefehls z.B. so: Code: (defun c:Abstand-und-Winkel () (setq p2 (getpoint (setq p1 (getpoint "Basispunkt:")) "Richtung und Länge zeigen:")) (alert (strcat "gezeigte Länge: " (rtos (distance p1 p2))" , gezeigter Winkel: " (rtos (angle p1 p2)))) )
Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure
http://www.voxelman.de [Diese Nachricht wurde von wronzky am 02. Jul. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meldin Mitglied
Beiträge: 398 Registriert: 15.07.2011 ACA2020 Windows10
|
erstellt am: 30. Jun. 2012 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
Hallo da wäre noch interessant zu wissen was du für einen Befehl vorher ausführst oder zu was es dienen soll. Damit man entscheiden kann welcher Befehl (grread getpoint ...) besser angewendet werden kann. ------------------ Gruß Wolfgang Alias: Rabbit007 und Wolli1 die aus unerklärlichen Gründen aus dem System hier gelöscht wurden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 02. Jul. 2012 08:45 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
Hallo Joeycool, Zitat: Original erstellt von joeycool:
... jetzt muss ich den noch von Bogenmaß umrechnen (mal schauen, ob ich das mit meinen neu erworbenen Kenntnissen hinbekomme) und dann müsste sich daraus was machen lassen.
Hiermit mache ich das: (setq rwingr (atof (angtos 0.785398))) Viele Grüße Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joeycool Mitglied Ingenieur TGA
Beiträge: 1455 Registriert: 01.06.2004 MEP/ACAD 2008,..., 2013, 2014, 2015, 2016 und 2017 REVIT MEP 2017 WIN7 64 bit i7 3,4 GHZ, SSD Platte, 16 GB Ram NVDIA Quadro K 2200
|
erstellt am: 02. Jul. 2012 10:43 <-- editieren / zitieren --> Unities abgeben:
So, neue Woche und mit der Ruhe des WEs habe ich es geschafft, Alles hinzukriegen; geholfen haben dabei neben den zahlreichen Tips hier noch Dies und Das. Das Ergebnis meines ersten Lehrlingsstückes ist das hier: zum Kopieren (setq ss (ssget))(command "ortho" "ein")(princ "Richtung picken") (setq ang (getangle ))(setq winkel (* 180 (/ ang pi))) (command "_copy" ss """0,0" (strcat "@" vers "<"(rtos winkel))) und das zum Pannen (command "ortho" "ein")(princ "Richtung picken")(setq ang (getangle )) (setq winkel (+ 180 (* 180 (/ ang pi)))) (command "_pan" "0,0" (strcat "@" vers "<"(rtos winkel))) Die Variable "vers" wird in der acaddoc.lsp aus dem Wert einer benutzerspezifischen Variable erzeugt (ich hoffe nicht, daß durch die aus optischen Gründen gesetzten Zeilenumbrüche irgendwas vergurkt ist). Sinn des Ganzen ist der Folgende: Bei uns werden bei kleineren Projekten alle Arch- Grundrisse in einer Datei angeordnet, ob neben- oder übereinander und in welchem Abstand hängt von größe und Form der Grundrisse ab. Und mit diesen beiden Befehlen lässt sich dann mit 2,3 Klicks schnell kopieren und zwischen den Etagen hin- und her springen. Ist wie gesagt meine erste Funktion, die über ein simples script oder Makro hinausgeht, daß die noch Luft nach oben haben, und sich sicherlich eleganter umsetzen liessen, glaube ich gerne, ist für mich im Moment aber (noch) nicht wirklich wichtig. Und @all: Werde mich nach diesem Lehrlingsstück ab jetzt mit diesbezüglich Fragen nur noch in dem dafür vorgesehenen Forum rumtreiben, versprochen. Eine schöne Woche wünscht Joeycool Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |