| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Interaktives Schieben mit Abbruchfunktion (637 mal gelesen)
|
Jonapap Mitglied
Beiträge: 206 Registriert: 18.08.2006 ACAD 13 bis 2012 Accurender4 IMOS 9 Rhinoceros 4&5beta Mastercam X5
|
erstellt am: 21. Sep. 2006 12:29 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte mit dem Befehl "schieben" den Anwender ein zuvor automatisch erstelltes Objekt interaktiv (Objekt dockt am Mauszeiger an) verschieben lassen. (command "schieben" (entlast) "" BasisP pause) Das funktioniert auch ganz gut. Wenn der Benutzer die rechte Maustaste drückt soll dann der Befehl abgebrochen werden. Das geht leider nicht - das Objekt wird dann scheinbar willkürlich an irgendeinen Punkt verschoben. Gibt es da eine Möglichkeit?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonapap Mitglied
Beiträge: 206 Registriert: 18.08.2006
|
erstellt am: 21. Sep. 2006 13:58 <-- editieren / zitieren --> Unities abgeben:
Ich nochmal: Hab mittlerweile herausgefunden, dass beim Verschieben wenn kein zweiter Punkt angegeben wird, die Verschiebung vom Nullpunkt bis zum ersten Punkt durchgeführt wird. Gibt es einen internen Lisp-Befehl, mit dem ich ein Objekt interaktiv verschieben kann? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 21. Sep. 2006 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für Jonapap
Hallo Jonapap, Du könntest den Inhalt der Variablen "LASTPOINT" dazu nutzen, nach dem schieben zu fragen, ob ein zweiter Punkt eingegeben worden ist. Wenn nicht, dann wird das Objekt wieder zurückgeschoben. Code:
(setq pkt1 (getvar "LASTPOINT") pkt2 (cdr(assoc 10 (entget (entlast))))) (command "_.move" (entlast) "" BasisP pause) (if (=(distance pkt1 (getvar "LASTPOINT"))0.0) (command "_.move" (entlast) "" (cdr(assoc 10 (entget (entlast)))) pkt2))
------------------ viele Grüße Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonapap Mitglied
Beiträge: 206 Registriert: 18.08.2006
|
erstellt am: 21. Sep. 2006 14:08 <-- editieren / zitieren --> Unities abgeben:
Ich bin der Lösung wieder ein Stückchen näher gekommen: Wenn ich das BKS einfach vor dem Schieben-Befehl auf den ersten Punkt setze, wird beim zweiten Punkt nach einem Rechtklick nichts verschoben. Neue Frage: Wie kann ich vom BKS den ersten Punkt wieder abziehen, damit das BKS wieder auf seinem ursprünglichen Punkt liegt? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonapap Mitglied
Beiträge: 206 Registriert: 18.08.2006 ACAD 13 bis 2012 Accurender4 IMOS 9 Rhinoceros 4&5beta Mastercam X5
|
erstellt am: 21. Sep. 2006 14:12 <-- editieren / zitieren --> Unities abgeben:
|
mkl-cad Mitglied Technischer Zeichner
Beiträge: 378 Registriert: 23.07.2003 ACAD 2002 Express Tools 1-9 Architektural Desktop Windows XP Server Windows 2003 3 GHz Rechner 1 GB RAM 80 GB Festplatte ATI FireGL V3100 2 17" Flachbildschirme
|
erstellt am: 21. Sep. 2006 15:39 <-- editieren / zitieren --> Unities abgeben: Nur für Jonapap
|
Jonapap Mitglied
Beiträge: 206 Registriert: 18.08.2006
|
erstellt am: 21. Sep. 2006 17:06 <-- editieren / zitieren --> Unities abgeben:
|