Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  3D Block rotieren in Z-Achse kopieren

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:  3D Block rotieren in Z-Achse kopieren (1553 mal gelesen)
mbtech
Mitglied
Techniker


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

Beiträge: 79
Registriert: 14.11.2003

erstellt am: 10. Sep. 2004 15:27    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

Hi,
hab hier einen 3D Block von einer Wendeltreppe den ich rotieren nach in die Z-Achse kopieren moechte. Gibt es dafuer einen Befehl oder ne LISP?

Danke schon mal

------------------
ADT 3.3
WinXP (SP1)
Intel Xeon-A 2.66GHz
nVIDIA GeForce Ti 4200

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

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



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

Beiträge: 7085
Registriert: 13.01.2004

Sie nannten ihn google.

erstellt am: 10. Sep. 2004 15:31    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 mbtech 10 Unities + Antwort hilfreich

Hi mbtech,

schon mal _3darray probiert (ist AC Standard) ? Sollte normal das können was du brauchst.

------------------
Grüsse

Thomas

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

mbtech
Mitglied
Techniker


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

Beiträge: 79
Registriert: 14.11.2003

erstellt am: 10. Sep. 2004 16:38    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

Also was genau moecht ist das das Objekt sprialfoermig nach oben kopiert wird. Bei dem Befehl wird nicht nach der hoehe gefragt. Also Polar ist klar, und mittel Punkt und so weiter aber auf die Z-Achse wird nicht eingegangen.

michback

------------------
ADT 3.3
WinXP (SP1)
Intel Xeon-A 2.66GHz
nVIDIA GeForce Ti 4200

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


Ex-Mitglied

erstellt am: 10. Sep. 2004 16:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von mbtech:
Also was genau moecht ist das das Objekt sprialfoermig nach oben kopiert wird. Bei dem Befehl wird nicht nach der hoehe gefragt. Also Polar ist klar, und mittel Punkt und so weiter aber auf die Z-Achse wird nicht eingegangen.

... und was spricht dagegen, das Objekt nacheinander erst zu kopieren und dann zu drehen?

Tom Berger

------------------


tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



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

Beiträge: 7085
Registriert: 13.01.2004

Sie nannten ihn google.

erstellt am: 10. Sep. 2004 17:37    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 mbtech 10 Unities + Antwort hilfreich

;;; 3DSPIRAL.LSP
;    Copyright (C) 1992 by Autodesk, Inc.
;
;    Permission to use, copy, modify, and distribute this software
;    for any purpose and without fee is hereby granted, provided
;    that the above copyright notice appears in all copies and that
;    both that copyright notice and this permission notice appear in
;    all supporting documentation.
;
;    THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED
;    WARRANTY.  ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR
;    PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.
;;; --------------------------------------------------------------------------;
;;; DESCRIPTION
;;;
;;;  This is a programming example.
;;;
;;;  Designed and implemented by Kelvin R. Throop in January 1985
;;;
;;;  This program constructs a spiral. It can be loaded and called
;;;  by typing either "spiral", "3dspiral" or the following:
;;;  (cspiral <# rotations> <base point> <horiz growth per rotation>
;;;            <points per circle> <start radius>
;;;            <vert growth per rotation> ).
;;;
;;; --------------------------------------------------------------------------;

(defun myerror (s)                    ; If an error (such as CTRL-C) occurs
                                      ; while this command is active...
  (if (/= s "Function cancelled")
    (princ (strcat "\nError: " s))
  )
  (setvar "cmdecho" ocmd)            ; Restore saved modes
  (setvar "blipmode" oblp)
  (setq *error* olderr)              ; Restore old *error* handler
  (princ)
)

(defun cspiral (ntimes bpoint hfac lppass strad vfac
                / ang dist tp ainc dhinc dvinc circle dv)

  (setvar "blipmode" 0)              ; turn blipmode off
  (setvar "cmdecho" 0)                ; turn cmdecho off
  (setq circle (* 3.141596235 2))
  (setq ainc (/ circle lppass))
  (setq dhinc (/ hfac lppass))
  (if vfac (setq dvinc (/ vfac lppass)))
  (setq ang 0.0)
  (if vfac
    (setq dist strad dv 0.0)
    (setq dist 0.0)
  )
  (if vfac
    (command "3dpoly")                ; start spiral ...
    (command "pline" bpoint)          ; start spiral from base point and...
  )
  (repeat ntimes
    (repeat lppass
      (setq tp (polar bpoint (setq ang (+ ang ainc))
                      (setq dist (+ dist dhinc))
              )
      )
      (if vfac
          (setq tp (list (car tp) (cadr tp) (+ dv (caddr tp)))
                dv (+ dv dvinc)
          )
      )
      (command tp)                    ; continue to the next point...
    )
  )
  (command "")                        ; until done.
  (princ)
)

;;;
;;;      Interactive spiral generation
;;;

(defun C:SPIRAL (/ olderr ocmd oblp nt bp cf lp)
  ;;;;(setq olderr  *error*
  ;;;;      *error* myerror)
  (setq ocmd (getvar "cmdecho"))
  (setq oblp (getvar "blipmode"))
  (setvar "cmdecho" 0)
  (initget 1)                        ; bp must not be null
  (setq bp (getpoint "\nCenter point: "))
  (initget 7)                        ; nt must not be zero, neg, or null
  (setq nt (getint "\nNumber of rotations: "))
  (initget 3)                        ; cf must not be zero, or null
  (setq cf (getdist "\nGrowth per rotation: "))
  (initget 6)                        ; lp must not be zero or neg
  (setq lp (getint "\nPoints per rotation <30>: "))
  (cond ((null lp) (setq lp 30)))
  (cspiral nt bp cf lp nil nil)
  (setvar "cmdecho" ocmd)
  (setvar "blipmode" oblp)
  (setq *error* olderr)              ; Restore old *error* handler
  (princ)

)

;;;
;;;      Interactive spiral generation
;;;

(defun C:3DSPIRAL (/ olderr ocmd oblp nt bp hg vg sr lp)
  ;;;;(setq olderr  *error*
  ;;;;      *error* myerror)
  (setq ocmd (getvar "cmdecho"))
  (setq oblp (getvar "blipmode"))
  (setvar "cmdecho" 0)
  (initget 1)                        ; bp must not be null
  (setq bp (getpoint "\nCenter point: "))
  (initget 7)                        ; nt must not be zero, neg, or null
  (setq nt (getint "\nNumber of rotations: "))
  (initget 7)                        ; sr must not be zero, neg, or null
  (setq sr (getdist bp "\nStarting radius: "))
  (initget 1)                        ; cf must not be zero, or null
  (setq hg (getdist "\nHorizontal growth per rotation: "))
  (initget 3)                        ; cf must not be zero, or null
  (setq vg (getdist "\nVertical growth per rotation: "))
  (initget 6)                        ; lp must not be zero or neg
  (setq lp (getint "\nPoints per rotation <30>: "))
  (cond ((null lp) (setq lp 30)))
  (cspiral nt bp hg lp sr vg)
  (setvar "cmdecho" ocmd)
  (setvar "blipmode" oblp)
  (setq *error* olderr)              ; Restore old *error* handler
  (princ)

)

;;; --------------------------------------------------------------------------;
(princ "\n\tC:SPIRAL and C:3DSPIRAL loaded. ")
(princ)

Mit dem Tool zeichnest du dir eine 3D-Spirale und dem Befehl _measure oder _divide kannst du dann deinen Block aufteilen lassen und ausrichten (was anderes finde ich nicht, sorry).

------------------
Grüsse

Thomas

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

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



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

Beiträge: 7085
Registriert: 13.01.2004

Sie nannten ihn google.

erstellt am: 11. Sep. 2004 11:56    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 mbtech 10 Unities + Antwort hilfreich

Für diejenigen die mit dem Englischen etwas auf Kriegsfuss stehen, habe ich die Dialogzeilen übersetzt.

Die 3D-Spirale wird im übrigen mit 3DSPIRAL gestartet, die 2D-Spirale mit SPIRAL. Den unten oder oben stehenden Text in eine Textdatei kopieren und diese auf 3DSPIRAL.lsp umbennen, zum Laden _appload starten (oder aus dem Explorer in die AC-Zeichnfläche ziehen).

;;; 3DSPIRAL.LSP
;    Copyright (C) 1992 by Autodesk, Inc.
;
;    Permission to use, copy, modify, and distribute this software
;    for any purpose and without fee is hereby granted, provided
;    that the above copyright notice appears in all copies and that
;    both that copyright notice and this permission notice appear in
;    all supporting documentation.
;
;    THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED
;    WARRANTY.  ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR
;    PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.
;;; --------------------------------------------------------------------------;
;;; DESCRIPTION
;;;
;;;  This is a programming example.
;;;
;;;  Designed and implemented by Kelvin R. Throop in January 1985
;;;
;;;  This program constructs a spiral. It can be loaded and called
;;;  by typing either "spiral", "3dspiral" or the following:
;;;  (cspiral <# rotations> <base point> <horiz growth per rotation>
;;;            <points per circle> <start radius>
;;;            <vert growth per rotation> ).
;;;
;;; --------------------------------------------------------------------------;
(defun myerror (s)                    ; If an error (such as CTRL-C) occurs
                                      ; while this command is active...
  (if (/= s "Function cancelled")
    (princ (strcat "\nError: " s))
  )
  (setvar "cmdecho" ocmd)            ; Restore saved modes
  (setvar "blipmode" oblp)
  (setq *error* olderr)              ; Restore old *error* handler
  (princ)
)

(defun cspiral (ntimes bpoint hfac lppass strad vfac
                / ang dist tp ainc dhinc dvinc circle dv)

  (setvar "blipmode" 0)              ; turn blipmode off
  (setvar "cmdecho" 0)                ; turn cmdecho off
  (setq circle (* 3.141596235 2))
  (setq ainc (/ circle lppass))
  (setq dhinc (/ hfac lppass))
  (if vfac (setq dvinc (/ vfac lppass)))
  (setq ang 0.0)
  (if vfac
    (setq dist strad dv 0.0)
    (setq dist 0.0)
  )
  (if vfac
    (command "3dpoly")                ; start spiral ...
    (command "pline" bpoint)          ; start spiral from base point and...
  )
  (repeat ntimes
    (repeat lppass
      (setq tp (polar bpoint (setq ang (+ ang ainc))
                      (setq dist (+ dist dhinc))
              )
      )
      (if vfac
          (setq tp (list (car tp) (cadr tp) (+ dv (caddr tp)))
                dv (+ dv dvinc)
          )
      )
      (command tp)                    ; continue to the next point...
    )
  )
  (command "")                        ; until done.
  (princ)
)

;;;
;;;      Interactive spiral generation
;;;

(defun C:SPIRAL (/ olderr ocmd oblp nt bp cf lp)
  ;;;;(setq olderr  *error*
  ;;;;      *error* myerror)
  (setq ocmd (getvar "cmdecho"))
  (setq oblp (getvar "blipmode"))
  (setvar "cmdecho" 0)
  (initget 1)                        ; bp must not be null
  (setq bp (getpoint "\nMittelpunkt: "))
  (initget 7)                        ; nt must not be zero, neg, or null
  (setq nt (getint "\nAnzahl der Umdrehungen: "))
  (initget 3)                        ; cf must not be zero, or null
  (setq cf (getdist "\nZuwachs pro Umdrehung: "))
  (initget 6)                        ; lp must not be zero or neg
  (setq lp (getint "\nPoints per rotation <30>: "))
  (cond ((null lp) (setq lp 30)))
  (cspiral nt bp cf lp nil nil)
  (setvar "cmdecho" ocmd)
  (setvar "blipmode" oblp)
  (setq *error* olderr)              ; Restore old *error* handler
  (princ)

)

;;;
;;;      Interactive spiral generation
;;;

(defun C:3DSPIRAL (/ olderr ocmd oblp nt bp hg vg sr lp)
  ;;;;(setq olderr  *error*
  ;;;;      *error* myerror)
  (setq ocmd (getvar "cmdecho"))
  (setq oblp (getvar "blipmode"))
  (setvar "cmdecho" 0)
  (initget 1)                        ; bp must not be null
  (setq bp (getpoint "\nMitelpunkt: "))
  (initget 7)                        ; nt must not be zero, neg, or null
  (setq nt (getint "\nAnzahl der Umdrehugen: "))
  (initget 7)                        ; sr must not be zero, neg, or null
  (setq sr (getdist bp "\nAnfangsradius: "))
  (initget 1)                        ; cf must not be zero, or null
  (setq hg (getdist "\nHorizontaler Zuwachs pro Umdrehung (delta r): "))
  (initget 3)                        ; cf must not be zero, or null
  (setq vg (getdist "\nVertikaler Zuwachs pro Umdrehung (Delta Z): "))
  (initget 6)                        ; lp must not be zero or neg
  (setq lp (getint "\nPunkte pro Umdrehung <30>: "))
  (cond ((null lp) (setq lp 30)))
  (cspiral nt bp hg lp sr vg)
  (setvar "cmdecho" ocmd)
  (setvar "blipmode" oblp)
  (setq *error* olderr)              ; Restore old *error* handler
  (princ)

)

------------------
Grüsse

Thomas

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