| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: 3D Drehen um Basispunkt (9799 mal gelesen)
|
HiWiCAD Mitglied
Beiträge: 12 Registriert: 11.09.2008
|
erstellt am: 11. Sep. 2008 10:10 <-- editieren / zitieren --> Unities abgeben:
hallo da draußen, gibt es einen Trick, wie man viele Objekte (Texte und Blöcke) mit dem Befehl 3DDrehen aufeinmal dreht - allerdings jedesmal um den Basispunkt des jeweiligen Objektes. in einem der Beiträge habe ich die lsp-Routine "Rotator" gefunden, welche super funktioniert, leider aber nicht für die 3DRotation Vielleicht kann mir ja jemand helfen ... PS: ich muss viele Objekte um die X Achse Drehen um 90 Grad Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 11. Sep. 2008 10:14 <-- editieren / zitieren --> Unities abgeben: Nur für HiWiCAD
|
HiWiCAD Mitglied
Beiträge: 12 Registriert: 11.09.2008
|
erstellt am: 11. Sep. 2008 10:50 <-- editieren / zitieren --> Unities abgeben:
Hab ich probiert - funktioniert nicht zum Verständniss: ich habe eine vorgegebene Zeichnung, in der alle Blöcke und Texte auf einer Linie quer im Raum liegen (allerdings mit verschiedenen Z-Koordinaten)- um konstruieren zu können, musste ich also ein neues BKS schaffen (Objekt war die Bezugslinie auf der alles lag) anschließend habe ich das neue BKS um 90 Grad gedreht, sodass die Elemente mit der Z Koordinate sichtbar werden. Man sieht auch alles, aber eben ganz platt. Drum wollte ich alle Elemente nach der Verschiebung des neuen BKS um 90 Grad um die X Achse drehen. Einzeln funktioniert es ja über den Befehl 3DDrehen, dann wählt man das Objekt, dann die Rotationsachse und dann den Punkt auf der X-Achse (welcher dann eben nicht der 0,0,0 sein soll, sondern der Basispunkt) und dann wählt man ja nur noch den Drehwinkel einzeln ist alles gut, aber bei 400 Elementen ?? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HiWiCAD Mitglied
Beiträge: 12 Registriert: 11.09.2008
|
erstellt am: 11. Sep. 2008 15:07 <-- editieren / zitieren --> Unities abgeben:
hat keiner eine Idee ?? Vielleicht kann mir einer sagen, wie die Lisp Routine aussieht für das 3DDrehen? dann kann man vielleicht die Abfrage "Punkt angeben auf der X-Achse<0,0,0>: " ersetzen durch Basispunkt ich habe leider keine Ahnung von Programmierung Vielleicht kann mir irgendwer helfen ?? Ich habe auch schon allmöglichen Versuche unternommen, das BKS anders anzuordnen, aber es funktioniert nicht. Vielen Dank schon mal vorab ... Gruß HiWi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THE_ONE Mitglied Student, Alter:23
Beiträge: 299 Registriert: 27.04.2005 AMD XP 2000, 512MB-RAM, WIN XP Pro Readon 9600Pro VIZ 2005, Autocad 2009
|
erstellt am: 11. Sep. 2008 17:09 <-- editieren / zitieren --> Unities abgeben: Nur für HiWiCAD
1.Vielleicht wäre es leichter zu verstehen wenn du eine Zeichnung reinstellen würdest, mit Hilfe derer man das ganze etwas besser verstehe könnte. 2.Du schreibst was von 400 Elementen, sind das alle Objekte in der Zeichnung, oder gibt es noch welche die nicht gedreht werden dürfen. 3.Wenn nur bestimmte Objekte zu drehen sind, wie willst du sie auswählen? Willst du jedes einzelnen Objekt anklicken und dann den Rotationsbefehl ausführen? 4. Vielleicht kannst ja mal die DWG reinstellen (lösch halt alles Firmeninterne raus aus der Zeichnung), würde vielleicht auch helfen für ein bessers Verständnis. Lg THE_ONE
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: 11. Sep. 2008 17:26 <-- editieren / zitieren --> Unities abgeben: Nur für HiWiCAD
Bei den Blöcken könntest Du ja die Blockdefinition entsprechend ändern: Block anklicken, Block auf Stelle bearbeiten (3d-drehen geht ja nicht im Blockeditor), entsprechend drehen und Änderungen speichern. Aber beim Text fällt mir auch nichts ein. 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 |
HiWiCAD Mitglied
Beiträge: 12 Registriert: 11.09.2008
|
erstellt am: 12. Sep. 2008 08:53 <-- editieren / zitieren --> Unities abgeben:
upload der Test-Datei funktioniert nicht ... leider In meiner Datei sieht man alle Elemente auf der Basislinie liegen (aber in unterschiedlichen Höhen). Im Welt BKS liegt die Basislinie = Basisebene schräg im Raum. Somit musste ich erst ein neues BKS erzeugen, mit Ursprung am unteren Linienende. Dieses BKS drehe ich dann noch um 90 Grad um die X-Achse und bekomme so alle meine Elemente zu sehen - natürlich aber nicht lesbar. (platt) Mit dem Befehl 3ddrehen kann ich alle Elemente einzeln um die X-Achse und den Basispunkt drehen. Bei über 400 Elementen ist das aber sehr zeitaufwendig! PS: wichtig an der Sache ist, das die Drehung um den Basispunkt erfolgt, da die Koordinaten der Blöcke und Texte erhalten bleiben müssen! Vielleicht kann man das jetzt besser verstehen? Viele Grüße HiWiCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 12. Sep. 2008 09:04 <-- editieren / zitieren --> Unities abgeben: Nur für HiWiCAD
Ich verstehe dich und das ließe sich auch relativ einfach automatisieren z.b. mit einer Lisp Routine. Man muss aber einschränken, das unterschiedliche AutoCAD-Objekte unterschiedlich behandelt werden müssen. 2D Objekte (wie z.B. Kreise) haben eine eigenes Objektkoordinatensystem, die müssen anders behandelt werden als z.B. Textobjekte oder 3D Objekte. Ein allgemeingültiges Programm mit Fehlerbehandlung ist da schon aufwändiger (und übersteigt nach meiner Meinung die Forenhilfe), vielleicht gibts aber schon eine fertige Lösung. Für Quick & Dirty braucht man ein Testbeispiel (DWG), damit man sich wenigstens den Aufwand, selbst ein geeignetes Testscenario zu erstellen, spart. ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HiWiCAD Mitglied
Beiträge: 12 Registriert: 11.09.2008
|
erstellt am: 12. Sep. 2008 09:54 <-- editieren / zitieren --> Unities abgeben:
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 12. Sep. 2008 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für HiWiCAD
|
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 12. Sep. 2008 10:17 <-- editieren / zitieren --> Unities abgeben: Nur für HiWiCAD
ich habe mal ein rudimentäres (aber funktionierendes) Makro in Lisp dafür geschrieben. Bitte selbst Testen und weiterbearbeiten. Code: ; Objekte drehen um 90 grad un die X-Achse des aktuellen BKS (defun C:3DROT ( / cnt aw pkt ename osmd) ; nur mit Text und Blöcken getestet. ; dreht Objekte 90 grad um die X-Achse des aktuellen BKS ; Ofang deakt. (if (< (setq osmd (getvar "OSMODE")) 16384) (setvar "OSMODE" (+ 16384 osmd))) (if (setq aw (ssget)) (progn (setq cnt (sslength aw)) (while (>= (setq cnt (1- cnt)) 0) (print (setq pkt (cdr (assoc 10 (entget (setq ename (ssname aw cnt))))))) (command "_ucs" "_origin" (trans pkt ename 1)) (command "_rotate3D" ename "" '(0.0 0.0 0.0) '(1.0 0.0 0.0) (angtos (* 0.5 Pi))) (command "_ucs" "_prev") ) ) ) (setvar "OSMODE" osmd) (princ) )
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HiWiCAD Mitglied
Beiträge: 12 Registriert: 11.09.2008
|
erstellt am: 12. Sep. 2008 10:19 <-- editieren / zitieren --> Unities abgeben:
|
HiWiCAD Mitglied
Beiträge: 12 Registriert: 11.09.2008
|
erstellt am: 12. Sep. 2008 10:30 <-- editieren / zitieren --> Unities abgeben:
|