Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  drehung objekte

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  drehung objekte (644 mal gelesen)
c@s
Mitglied
cad kommunikation


Sehen Sie sich das Profil von c@s an!   Senden Sie eine Private Message an c@s  Schreiben Sie einen Gästebucheintrag für c@s

Beiträge: 269
Registriert: 07.08.2002

win 10<P>
AutoCad 2018

erstellt am: 17. Jun. 2004 15:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo
mit einem buttonmacro möchte ich gerne gewählte objekte
um ihr eigenes zentrum um 90° nach links drehen.
wie kann das aussehen kriegs nicht hin.

danke für euer interesse
gruss jochen

------------------
  N
W-|-O
  S

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

balduin
Mitglied
architekt


Sehen Sie sich das Profil von balduin an!   Senden Sie eine Private Message an balduin  Schreiben Sie einen Gästebucheintrag für balduin

Beiträge: 79
Registriert: 29.06.2003

AutoCAD 2002/2004, Windows 2000

erstellt am: 17. Jun. 2004 15:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für c@s 10 Unities + Antwort hilfreich

^C^C(if(setq as(entget(car(entsel))))(command "_rotate" (cdr(assoc -1 as))""(cdr(assoc 10 as)) "90"))

Gruß balduin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

c@s
Mitglied
cad kommunikation


Sehen Sie sich das Profil von c@s an!   Senden Sie eine Private Message an c@s  Schreiben Sie einen Gästebucheintrag für c@s

Beiträge: 269
Registriert: 07.08.2002

win 10<P>
AutoCad 2018

erstellt am: 17. Jun. 2004 16:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo balduin
funkt
geht das auch mit objektauswahl vor befehl ?

------------------
  N
W-|-O
  S

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADchup
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von CADchup an!   Senden Sie eine Private Message an CADchup  Schreiben Sie einen Gästebucheintrag für CADchup

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 18. Jun. 2004 08:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für c@s 10 Unities + Antwort hilfreich

Hi,

heiße nicht Balduin, antworte aber trotzdem mal. 
Auch wenn das als Buttonmakro gehen könnte, es würde sehr lang (vielleicht zu lang?) und unübersichtlich werden.
Und da es sich so oder so um Lisp-Code handelt:

Code:

(defun c:Rot90 (/ ss c ent)
  (if (setq ss (cadr (ssgetfirst)))
    (progn
      (RotSelSet ss "90")
      (sssetfirst nil ss)
    )
    (RotSelSet (ssget) "90")
  )
)

(defun RotSelSet (ss ang / ent c)
  (repeat (sslength ss)
    (setq ent (entget (ssname ss
      (setq c (if c
(1+ c)
0
      )
      )
      )
      )
    )
    (command "_rotate"
     (cdr (assoc -1 ent))
     ""
     (cdr (assoc 10 ent))
     ang
    )
  )
)



Pack das in eine Lisp-Datei und ruf die mit dem Buttonmakro (ohne ^C^C)auf.


Gruß
CADchup

------------------
www.cadditions.de

[Diese Nachricht wurde von CADchup am 18. Jun. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADwiesel
Moderator
CAD4FM UG




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 18. Jun. 2004 08:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für c@s 10 Unities + Antwort hilfreich

Ich will ja nicht kleinlich sein, aber um das Zentrum, so wie vom Fragensteller gefordert dreht sich hier nix.

Oder ist das Zentrum der GC 10 ?

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADchup
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von CADchup an!   Senden Sie eine Private Message an CADchup  Schreiben Sie einen Gästebucheintrag für CADchup

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 18. Jun. 2004 09:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für c@s 10 Unities + Antwort hilfreich

Hi,

schon klar, aber c@s war mit Balduins Drehung um GC 10 einverstanden.

Also?


Gruß
CADchup

------------------
www.cadditions.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

T_Kaulen
Mitglied
Architekt


Sehen Sie sich das Profil von T_Kaulen an!   Senden Sie eine Private Message an T_Kaulen  Schreiben Sie einen Gästebucheintrag für T_Kaulen

Beiträge: 122
Registriert: 04.06.2004

erstellt am: 18. Jun. 2004 09:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für c@s 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von c@s:
hallo
mit einem buttonmacro möchte ich gerne gewählte objekte
um ihr eigenes zentrum um 90° nach links drehen.
wie kann das aussehen kriegs nicht hin.

danke für euer interesse
gruss jochen


Hallo,

nachfolgende Lisp benutze ich um eingefügte Elemente um die "Standardwinkel" 45°, 90°,180°,270°, auf einen der Orthogonalwerte des aktuellen BKS, Drehen mit Bezugspunkten oder drehen mit Bezugspunkten und Kopie des Originals.
Die eingebaute Option "Fang" ermöglicht voreingestellte Fangoptionen zu aktivieren zu ändern oder auszuschalten, kann bei Bedarf natürlich auch ganz weggelassen werden.
"Auswahl" spricht für sich....

Die Lisproutinen haben bei mir keinen Anspruch auf "saubere Porgrammierung" aber sie funktionieren.
Verbesserungsvorschläge nehme ich natürlich gerne an.

;Drehung auf einen der Orthogonalen Winkel des aktuellen BKS
(defun c:dr0 ()
(setq pio (getvar "pickstyle"))
(setvar "pickstyle" 0)
(defun *error* (msg)
(setvar "cmdecho" 1)
(setvar "osmode" 0)
(setvar "orthomode" 0)
(princ msg)
(princ)
)
(setq OS (getvar "osmode"))
(AUSWAHL)
(FANGEN)
(princ "\nBitte den ersten Drehpunkt wählen: ")
(setq pt1 (getpoint))
(princ "\nBitte den Referenzpunkt-1 wählen: ")
(setq pt2 (getpoint))
(setvar "osmode" 0)
(setvar "orthomode" 1)
(command "._rotate" ausw "" pt1 "_reference" pt1 pt2 pause)
(print)
(setvar "pickstyle" pio)  ; Variablen werden zurückgesetzt
(setvar "osmode" OS)
(setvar "cmdecho" 1)
)

;Drehung um 90°
(defun c:dr90 ()
(defun *error* (msg)
(setvar "cmdecho" 1)
(setvar "osmode" 0)
(setvar "orthomode" 0)
(princ msg)
(princ)
)
(setq OS (getvar "osmode"))
(AUSWAHL)
(FANGEN)
(princ "\nBitte den Drehpunkt wählen: ")
(setq pt1 (getpoint))
(setvar "osmode" 0)
(command "._rotate" ausw "" pt1 "90")
(setvar "osmode" OS)
(setvar "cmdecho" 1)
)

;Drehung um 45°
(defun c:dr45 ()
(defun *error* (msg)
(setvar "cmdecho" 1)
(setvar "osmode" 0)
(setvar "orthomode" 0)
(princ msg)
(princ)
)
(setq OS (getvar "osmode"))
(AUSWAHL)
(FANGEN)
(princ "\nBitte den Drehpunkt wählen: ")
(setq pt1 (getpoint))
(setvar "osmode" 0)
(command "._rotate" ausw "" pt1 "45")
(setvar "osmode" OS)
(setvar "cmdecho" 1)
)

;Drehung um 180°
(defun c:dr18 ()
(defun *error* (msg)
(setvar "cmdecho" 1)
(setvar "osmode" 0)
(setvar "orthomode" 0)
(princ msg)
(princ)
)
(setq OS (getvar "osmode"))
(AUSWAHL)
(FANGEN)
(princ "\nBitte den Drehpunkt wählen: ")
(setq pt1 (getpoint))
(setvar "osmode" 0)
(command "._rotate" ausw "" pt1 "180")
(setvar "osmode" OS)
(setvar "cmdecho" 1)
)

;Drehung um 270°
(defun c:dr27 ()
(defun *error* (msg)
(setvar "cmdecho" 1)
(setvar "osmode" 0)
(setvar "orthomode" 0)
(princ msg)
(princ)
)
(setq OS (getvar "osmode"))
(AUSWAHL)
(FANGEN)
(princ "\nBitte den Drehpunkt wählen: ")
(setq pt1 (getpoint))
(setvar "osmode" 0)
(command "._rotate" ausw "" pt1 "270")
(setvar "osmode" OS)
(setvar "cmdecho" 1)
)

;Drehung mit festen Bezugspunkten
(defun c:dr1 ()
(defun *error* (msg)
(setvar "cmdecho" 1)
(setvar "osmode" 0)
(setvar "orthomode" 0)
(princ msg)
(princ)
)
(setq OS (getvar "osmode"))
(setvar "cmdecho" 1)
(setvar "osmode" 0)
(setq ausw (ssget))
(setvar "osmode" 33)
(princ "\nBitte den ersten Drehpunkt wählen: ")
(setq pt1 (getpoint))
(princ "\nBitte den Referenzpunkt-1 wählen: ")
(setq pt2 (getpoint))
(princ "\nBitte den Referenzpunkt-2 wählen: ")
(setq pt3 (getpoint))
(setvar "osmode" 0)
(command "._rotate" ausw "" pt1 "_reference" pt1 pt2 pt3)
(setvar "osmode" OS)
(setvar "cmdecho" 1)
)

;Drehung mit festen Bezugspunken und Kopie
(defun c:drk1 ()
(defun *error* (msg)
(setvar "cmdecho" 1)
(setvar "osmode" 0)
(setvar "orthomode" 0)
(princ msg)
(princ)
)
(setq OS (getvar "osmode"))
(setvar "cmdecho" 1)
(setvar "osmode" 0)
(setq ausw (ssget))
(setvar "osmode" 33)
(princ "\nBitte den Drehpunkt wählen: ")
(setq pt1 (getpoint))
(princ "\nBitte den Referenzpunkt-1 wählen: ")
(setq pt2 (getpoint))
(princ "\nBitte den Referenzpunkt-2 wählen: ")
(setq pt3 (getpoint))
(setvar "osmode" 0)
(command "_copy" ausw "" "0,0,0" "0,0,0")
(command "._rotate" "_p" "" pt1 "_reference" pt1 pt2 pt3)
(setvar "osmode" OS)
(setvar "cmdecho" 1)
)

; Definition der voreingestellten Fangwete
(defun FANGEN ()
(defun *error* (msg)
(setvar "cmdecho" 1)
(setvar "osmode" 0)
(setvar "orthomode" 0)
(setvar "blipmode" 1)
(princ msg)
(princ)
)
(if (not *OF)(setq *OF "_end,_mid,_int")
  )
(setvar "cmdecho" 0)
(setq OS (getvar "OSMODE"))
(setvar "blipmode" 1)
(princ "\nDie augenblickliche Voreinstellung für die Fang-Option")
(princ  "lautet <")
(princ    *OF)
(setq FA (getstring (strcat ">: " )))
(if (= FA "")(setq FA *OF)
(if (= Fa "st")
(progn (setq *OF st)
      (setq FA (strcase "_end,_mid,_int" T)))
(setq *OF FA)
)
  )
(command "-ofang" FA)
(setvar "cmdecho" 1)
(graphscr)
)

;Auswahl der zu bearbeitenden Elemente
(defun AUSWAHL ()
(princ "\nBitte die zu bearbeitenden Elemente auswählen" )
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(setq ausw(ssget))
)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz