| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Drehen eines Elementes (644 mal gelesen)
|
StefanW Mitglied Techniker
Beiträge: 147 Registriert: 17.04.2003
|
erstellt am: 20. Jul. 2004 14:16 <-- editieren / zitieren --> Unities abgeben:
Hallo ! Ich hab folgendes Problem: mit dem Code (princ "\nAusschnitt drehen oder Winkel eingeben:") (command "_rotate" elem "" p1 pause) drehe ich ein vorher gezeichnetes Element um den Punkt p1 mit dem vom Benutzer eingegeben Winkel. Nun möchte ich aber gerne den Winkel, den der Benutzer eingegeben oder gezeigt hat, für weitere Berechnungen nutzen. Nur komm ich an den Wert nicht ran ('lastangle' bringt nichts). Den Befehl "_rotate" wollte ich aber schon gerne einsetzten, da das Element 'online' nachgezogen wird und so dem Benutzer die Eingabe erleichtert. Bin für jede brauchbare Idee dankbar. Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 20. Jul. 2004 14:25 <-- editieren / zitieren --> Unities abgeben: Nur für StefanW
Vielleicht so : ? (setq Winkel (getangle "Winkel eingeben")) oder 3x (getpoint) und Winkel über (tan) ausrechnen ? und dann: (command "_rotate" elem "" p1 Winkel) ------------------ - Thomas - [Diese Nachricht wurde von CADmium am 20. Jul. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanW Mitglied Techniker
Beiträge: 147 Registriert: 17.04.2003
|
erstellt am: 20. Jul. 2004 14:43 <-- editieren / zitieren --> Unities abgeben:
Hallo CADmium ! So geht das natürlich auch. Ich wollte aber gerne den 'Online'-Effekt des Befehls "drehen" ausnutzen (man sieht halt genau, was mit dem Elemnt passiert). Trotzdem Danke! Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 20. Jul. 2004 14:58 <-- editieren / zitieren --> Unities abgeben: Nur für StefanW
Stefan, ich sehe da keine Möglichkeit: Lastangle kann gar nicht funktionieren, denn diese Variable ist nur für den Endwinkel des zuletzt gezeichneten Bogens zuständig (Linie-Bogen-Wechselmodus). Und da 'pause' als Symbol definiert ist (mit einem Backslash als Wert), bringt auch (setq w pause) nichts. Da bleibt dir nicht anders übrig, als den Drehwinkel vorher zu speichern und hinterher zu berechnen - ein reichlich mühsames Geschäft:-( Praktikabel wäre es vielleicht, vor dem Drehen XDaten mit den GCs 1013,1023,1033 eine Welt-Richtung von (0 0 0) an das Entity zu kleben und diese nach dem Drehen auszulesen und wieder zu löschen. Diese XDaten werden beim Drehen von AutoCAD automatisch aktualisiert. Gruß, Axel Strube-Zettler ------------------ Meine AutoLisp-Seiten Meine private Homepage Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanW Mitglied Techniker
Beiträge: 147 Registriert: 17.04.2003
|
erstellt am: 20. Jul. 2004 15:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Axel ! Ich denke, Du hast recht, es wird etwas aufwendiger . Ich versuche es mal mit dem Auslesen der Polylinenstützpunkte (es handelt sich immer um ein Rechteck) und verwende die dann, um den Winkel zu berechnen. Jedenfalls hat Deine Antwort mich auf eine mögliche Idee gebracht ! Danke für alle Antworten. Gruß aus (dem trüben) Kassel Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 20. Jul. 2004 15:14 <-- editieren / zitieren --> Unities abgeben: Nur für StefanW
Eine "Idee" wäre auch : die zu drehenden Elemente in einen Block packen, Drehbefehl ausführen, Winkel der Blockrefenz auslesen und merken, Block auflösen und bereinigen.. ??? (allerdings geht das "etwas" über eine "Command-Programmierung" hinaus ------------------ - Thomas - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 20. Jul. 2004 23:21 <-- editieren / zitieren --> Unities abgeben: Nur für StefanW
|
StefanW Mitglied Techniker
Beiträge: 147 Registriert: 17.04.2003
|
erstellt am: 21. Jul. 2004 09:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Axel ! Ich hab das Problem mitlerweile gelöst, indem ich die Stützpunkte der PL ausgelesen hab und die zur weiteren Berechnung nutze (CADWiesel hat da einen schönen fertigen Code). Trotz allem hat die Diskussion hier mich erst auf den richtigen Weg gebracht, und ich denke, dazu ist ein solches Forum ja gedacht. Besten Dank an alle ! Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |