Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Auswahlsatz richtig erstellen

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:  Auswahlsatz richtig erstellen (1678 mal gelesen)
MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 18. Jul. 2013 14:03    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!

Hab nach langer Pause wieder mal ein Problem.
Folgendes zusammenkopierte Lisp funktioniert soweit recht gut. Nur Wenn ich Objekte aus einer Gruppe kopiere werden beim verschieben die je Objekte verschoben die der Gruppe angehören, nicht die neu kopierten.
Dies hat sicher mit dem Auswahlsatz zu tun. Nur ich krieg das einfach nicht hin damit mir die kopierten Objekte und nicht jene Objekte die im ersten Auswahlsatz gewählt wurden verschoben werden.
Bitte um eure Hilfe.

lg. Martin

(defun C:COROs (/ AWS P1 P2 Abfrage orth Point2New AWS)
  (setq orth (getvar "orthomode")) ; Systemeinstellungen sichern (Ortho);
  (setvar "ORTHOMODE" 0)
  (if (or (setq AWS (ssget "I"))
  (setq AWS (ssget))
      )
    (progn
      (setq P1 (getpoint "\nBasispunkt : "))
      (command "_copy" AWS "" '(0 0 0) '(0 0 0))
      (command "_move" AWS "" P1 "spur")
      (while (/= (getvar "CMDACTIVE") 0) (command pause))
      (setvar "ORTHOMODE" 1)
      (setq P2 (getvar "LASTPOINT"))
      (command "_rotate" AWS "" P2)
      (while (/= (getvar "CMDACTIVE") 0) (command pause))
    )
  )
;---------------------abfrage spiegeln
  (initget "Ja Nein")
  (setq Abfrage (getkword "noch Spiegeln? [Ja/Nein] <Nein>:"))
  (if (not Abfrage)
    (setq Abfrage "Nein")
  )
  ;;if
  (if (= Abfrage "Nein")
    ;;bei nein abbrechen und ausschrift
    (progn
    ;; alles bei NEIN machen
    )
    (progn ;; alles bei JA machen
  (setq P2 (trans P2 1 0))
;;;;;;;;;;;;;;;;;;-------------------------WKS transformieren
  (setq Point2New (trans P2 0 1))
;----------------Punkt ins neue BKS transformieren
  (command "spiegeln" "V" "" Point2New Pause "J")
    )
  )
  (setvar "orthomode" orth) ; Wiederherstellen des ursprünglichen Ortho

)

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 18. Jul. 2013 14:29    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 MARTINLE 10 Unities + Antwort hilfreich

letztes Objekt merken
neue Objekte erstellen
schauen welche neu sind..

Code:
(progn
(setq Obj (entlast))
;<erstelle Objekte>
(command "_.copy" "_l" "" "0,0" "5,0")
;end
(setq AWSneu (ssadd))
(while (setq OBJ (entnext Obj))
  (ssadd OBJ AWSneu)
)
(alert (strcat(rtos (sslength AWSneu) 2 0) " neue Objekte gefunden"))
(sssetfirst nil AWSneu)
)

------------------
Link: User:FAQ (einiges Wissenswertes über AutoCAD)

[Diese Nachricht wurde von cadffm am 18. Jul. 2013 editiert.]

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 18. Jul. 2013 14:51    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 CADfm

Leider funzt es nicht.
Was mach ich falsch?
lg. Martin

(defun C:COROs (/ AWS P1 P2 Abfrage orth Point2New AWS OBJ LastObj AWSneu)
  (setq orth (getvar "orthomode")) ; Systemeinstellungen sichern (Ortho);
  (setvar "ORTHOMODE" 0)
  (if (or (setq AWS (ssget "I"))
  (setq AWS (ssget))
      )
    (progn
      (setq P1 (getpoint "\nBasispunkt : "))
(setq LastObj (entlast));<erstelle Objekte>
        (command "_.copy" "_l" "" "0,0" "5,0" "10,0" "") ;end
(setq AWSneu (ssadd))
(while (setq OBJ (entnext LastObj))
    (ssadd OBJ AWSneu)
  );;;;;;;;;;;;;;;;;;;;;;;;
      (command "_move" AWSneu "" P1 "spur")
      (while (/= (getvar "CMDACTIVE") 0) (command pause))
      (setvar "ORTHOMODE" 1)
      (setq P2 (getvar "LASTPOINT"))
      (command "_rotate" AWSneu "" P2)
      (while (/= (getvar "CMDACTIVE") 0) (command pause))
    )
  )
;---------------------abfrage spiegeln
  (initget "Ja Nein")
  (setq Abfrage (getkword "noch Spiegeln? [Ja/Nein] <Nein>:"))
  (if (not Abfrage)
    (setq Abfrage "Nein")
  )
  ;;if
  (if (= Abfrage "Nein")
    ;;bei nein abbrechen und ausschrift
    (progn
    ;; alles bei NEIN machen
    )
    (progn ;; alles bei JA machen
  (setq P2 (trans P2 1 0))
;;;;;;;;;;;;;;;;;;-------------------------WKS transformieren
  (setq Point2New (trans P2 0 1))
;----------------Punkt ins neue BKS transformieren
  (command "spiegeln" "V" "" Point2New Pause "J")
    )
  )
  (setvar "orthomode" orth) ; Wiederherstellen des ursprünglichen Ortho

)

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 18. Jul. 2013 15:10    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 MARTINLE 10 Unities + Antwort hilfreich

[EDIT]
weil ich mehrere Fehler eingebaut habe und hoffte das du die Strukur erkennst und selbst nachproggen könntest 
Späßchen, mein Fehler - oben geändert

------------------
Link: User:FAQ (einiges Wissenswertes über AutoCAD)

[Diese Nachricht wurde von cadffm am 18. Jul. 2013 editiert.]

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 18. Jul. 2013 15:22    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!

Nach der Abfrage Basispunkt der Verschiebung verabschiedet sich ACAD ins "Nirwana"
Warum?

lg. Martin

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 18. Jul. 2013 15:28    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 MARTINLE 10 Unities + Antwort hilfreich

Nehme dir Zeit, gehe die Sache Schritt für Schritt durch (in der Befehlszeile oder mit der VLIDE ,
dann kommst du schon dahinter.

Ich sehe ja nicht was du gemacht hast   

Du mußt dir das letzte Objekt merken befür du neue erstellst,
dann erstellt du neue,
dann sammelst du alle neuen Objekte ein und stopfst die in den neuen Auswahlsatz AWSneu.

------------------
Link: User:FAQ (einiges Wissenswertes über AutoCAD)

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 18. Jul. 2013 15: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

Hallo an alle nicht im Urlaub befindlichen und diese Hitze ertragenden fleißigen Arbeiter.

Wer kann noch weiterhelfen.
Krieg das einfach nicht zum laufen.
Danke.
lg. Martin

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 18. Jul. 2013 16: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 MARTINLE 10 Unities + Antwort hilfreich


deine Zeile

Code:
(command "_copy" AWS "" '(0 0 0) '(0 0 0))

durch

Code:
(setq Obj (entlast))
(command "_copy" AWS "" '(0 0 0) '(0 0 0))
(setq AWS (ssadd))
(while (setq OBJ (entnext Obj))
  (ssadd OBJ AWS)
)


ersetzen

(in deinem ursprünglichem Code natürlich)

------------------
Link: User:FAQ (einiges Wissenswertes über AutoCAD)

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 18. Jul. 2013 16:21    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

Hy Cadfm

Du bist Spitze!!!!!!!!!!!!!!!!
Trotz der Hitze!!!!!!!!!!!
Hast wahrscheinlich immer einen kühlen Kopf

Tausend Dank

Uuuuus sind unterwegs!

lg. Martin

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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 01. Aug. 2013 14: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 MARTINLE 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von cadffm:
Code:
(setq Obj (entlast))
(command "_copy" AWS "" '(0 0 0) '(0 0 0))
(setq AWS (ssadd))
(while (setq OBJ (entnext Obj))
  (ssadd OBJ AWS)
)


der vollständigkeit halber
Sollte das letzte Element nämlich ein Block mit Attributen sein, muss man diese auch noch durchlaufen, um wirklich auf dem letzten Element zu stehen (Sequend)

Code:

(setq Obj (entlast))
(while (and Obj (entnedxt Obj )) (setq Obj (entnext Obj )))
(command "_copy" AWS "" '(0 0 0) '(0 0 0))
(setq AWS (ssadd))
(while (setq OBJ (entnext Obj))
 (ssadd OBJ AWS)
)


[Diese Nachricht wurde von fuchsi am 01. Aug. 2013 editiert.]

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