Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Assymetrisch Skalieren - wie geht das?

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
  
CIDEON Sparify - der digitale Ersatzteilkatalog für alle, eine Pressemitteilung
Autor Thema:  Assymetrisch Skalieren - wie geht das? (318 mal gelesen)
aldirosso
Mitglied
Architekt

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

Beiträge: 2
Registriert: 01.02.2005

erstellt am: 01. Feb. 2005 11: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

Ich würde gerne eine Ansicht asymetrisch skalieren.
D.h. die Höhen bleiben 1-1 erhalten, die Längen verkürzen sich aber proportional (da ich im Geländeschnitt schräg auf das Gebäude schaue)

Welches Tool kann man hierfür verwenden ? Kann man beim skalieren angeben, ob entlang der x und y oder nur der x oder nur der y- Achse skaliert wird ?

Danke für Tipps

Gruss

Martin


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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13527
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 01. Feb. 2005 11:19    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 aldirosso 10 Unities + Antwort hilfreich

geht nur über den Zwischenschritt der Blockerstellung und _exploden nach der Skalierung

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

oandres
Mitglied



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

Beiträge: 80
Registriert: 24.05.2004

Windows XP
Acad 2004

erstellt am: 01. Feb. 2005 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 aldirosso 10 Unities + Antwort hilfreich

Dann musst Du aber auch folgendes Lisp hernehmen zum Skalieren in X-Y-Richtung:

(defun INSERT-SCALE (AUSWAHL X Y Z / NAME OBJEKT OBJEKTDATEN BLOCKDEF INDEX)
  (setq NAME(cdr(assoc 2 (entget (ssname AUSWAHL 0)))))
  ; und jetzt alle Blockreferenzen auf Blattebene updaten ..
  (setq INDEX -1)
  (if(setq AUSWAHL (ssget "_X"  '((0 . "INSERT"))))
  ;(ssget "_X" (list '(0 . "INSERT")(cons 2  NAME) ))) funzt nicht bei unbenannten Blöcken !
    (repeat (sslength AUSWAHL)
      (setq OBJEKTDATEN(entget(ssname AUSWAHL(setq INDEX(1+ INDEX)))))
      (if(=(strcase(cdr(assoc 2 OBJEKTDATEN))) (strcase NAME))
        (progn       
          (setq OBJEKTDATEN(subst(cons 41 (* (cdr(assoc 41 OBJEKTDATEN)) X))
                                  (assoc 41 OBJEKTDATEN)
                                  OBJEKTDATEN
                            )
          )
          (setq OBJEKTDATEN(subst(cons 42 (* (cdr(assoc 42 OBJEKTDATEN)) Y))
                                  (assoc 42 OBJEKTDATEN)
                                  OBJEKTDATEN
                            )
          )
          (setq OBJEKTDATEN(subst(cons 43 (* (cdr(assoc 43 OBJEKTDATEN)) Y))
                                  (assoc 43 OBJEKTDATEN)
                                  OBJEKTDATEN
                            )
          )
          (entmod OBJEKTDATEN)
        )
      )
    )
  )
  ; und jetzt alle Blockreferenzen in verschachtelten Blöcken..       
  (while (setq BLOCKDEF (tblnext "BLOCK" (null BLOCKDEF)))
    (if (and(/=(logand(cdr(assoc 70 BLOCKDEF))4)4)
            (or(/= (logand(cdr(assoc 70 BLOCKDEF))1)1)
              (=(substr (cdr(assoc 2 BLOCKDEF)) 1 2) "*U")
            )
        )
      (progn
        (setq OBJEKT (cdr (assoc -2 BLOCKDEF)))
        (while OBJEKT
          (setq OBJEKTDATEN (entget OBJEKT))
          (if (and (=(cdr(assoc 0 OBJEKTDATEN)) "INSERT")
                  (=(cdr(assoc 2 OBJEKTDATEN))    NAME)
            )
          (progn
              (setq OBJEKTDATEN(subst(cons 41 (* (cdr(assoc 41 OBJEKTDATEN)) X))
                                    (assoc 41 OBJEKTDATEN)
                                    OBJEKTDATEN
                              )
              )
              (setq OBJEKTDATEN(subst(cons 42 (* (cdr(assoc 42 OBJEKTDATEN)) Y))
                                    (assoc 42 OBJEKTDATEN)
                                    OBJEKTDATEN
                              )
              )
              (setq OBJEKTDATEN(subst(cons 43 (* (cdr(assoc 43 OBJEKTDATEN)) Z))
                                    (assoc 43 OBJEKTDATEN)
                                    OBJEKTDATEN
                              )
              )
              (entmod OBJEKTDATEN)
            )
          )
          (setq OBJEKT (entnext OBJEKT))
        )
        (entupd (cdr (assoc -2 BLOCKDEF)))
      )
    )
  )
)

(defun C:INSERT-SCALE ( / AUSWAHL X Y Z )
  (if (and(setq AUSWAHL (ssget "_:S" '((0 . "INSERT"))))
          (setq X (getreal "\nRelativen Vergrößerungsfaktor X : "))(> X 0)
          (setq Y (getreal "\nRelativen Vergrößerungsfaktor Y : "))(> Y 0)
          (setq Z (getreal "\nRelativen Vergrößerungsfaktor Z : "))(> Z 0)
      )
    (progn
      (INSERT-SCALE AUSWAHL X Y Z)
      (command "._regen")
    )
    (princ "\nKeine Blockreferenz gewählt!\n")
  )
  (princ)
)

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

aldirosso
Mitglied
Architekt

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

Beiträge: 2
Registriert: 01.02.2005

erstellt am: 01. Feb. 2005 12: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

ok - danke,  werde mein Glück versuchen

Gruss

Martin

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13527
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 01. Feb. 2005 12:16    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 aldirosso 10 Unities + Antwort hilfreich

@Oandres Ja, das Lisp kenne ich. Schöner wärs gewesen, du hättest
diesen Link als Quelle mit angegeben. Na, vielleicht beim nächsten mal ?!

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

oandres
Mitglied



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

Beiträge: 80
Registriert: 24.05.2004

Windows XP
Acad 2004

erstellt am: 01. Feb. 2005 13:09    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 aldirosso 10 Unities + Antwort hilfreich

@cadmium:

Ich hab auf meiner Festplatte mittlerweile eine ganz ordentliche Anzahl an Lisps, leider weiss ich bei einigen nicht mehr wo ich die her hatte - so auch bei diesem.

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)2024 CAD.de | Impressum | Datenschutz