Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Elemente auf eine definierte Einfügehöhe verschieben

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:  Elemente auf eine definierte Einfügehöhe verschieben (1382 mal gelesen)
ChristianBermpohl
Mitglied
Administrator

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

Beiträge: 7
Registriert: 15.03.2016

AutoCAD2012

erstellt am: 15. Mrz. 2016 14: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

Hallo,

vor langer Zeit habe ich mir mal eine LISP-Routine geschrieben die Elemente wie Linien, Bögen, Kreise usw. auf eine bestimmte Einfügehöhe verschiebt. Das war noch unter AutoCAD 2006. Mit dem Wechsel auf AutoCAD 2012 klappt das Verschieben der Kreise leider nicht mehr. Allen anderen Elemente wie Linien, Böden usw. werden wie gewünscht verschoben.

Das Verschieben der Element erfolgt im Reactor :vlr-CommandWillStart Funktion: before bzw. :VLR-OBJECTAPPENDED . workElement

Die Funktion >workElement< setzt dann die Z-Koordinate auf den gewünschten Wert. Beim Element "CIRCLE" scheint mir der DXF Group codes 10 zu dem Zeitpunkt nicht mehr gefüllt zu sein... Wie kann das sein? Hat jemand eine Idee was ich machen kann?


Schon mal BESTEN DANK für eure Hilfe!!


Hier mein Code:


#############################################################################################################

; Schaltet einen Layers innerhalb einer
; Callback-Funktionen ein.
(defun todo_Reaktor (todoName / i)

  (setq i 0)
  (setq s todoName)
 
  ; Zeiger auf aktuelle Dokument
  (setq acadDocument (vla-get-activedocument (vlax-get-acad-object)))
  ; Alle Layer holen
(setq Layers (vla-get-layers acadDocument))
  ; Schleife über alle Layer
(repeat (vla-get-count Layers)
  (setq aLayer (vla-item Layers i))
  ; Name auslesen
(setq aName  (vla-get-Name aLayer))
  ; finden wir den Layer >*name*< in der Liste...
  (if (= aName s)
  ; und wir tauen den Layer
  (vla-put-freeze aLayer :vlax-false)

);endif
(setq i (1+ i))
 
  );repeat

);endLayerMap

#############################################################################################################


 
; vor dem Befehl....
(defun before (reatyp befname / )
  (cond
    ((wcmatch (car befname) "XLINE")
; den aktuellen Layer holen
(setq *oldlay* (getvar "CLAYER"))
     
            (setq DEFUN_SETZ (VLR-ACDB-REACTOR "DEFUN_SETZ"
        '((:VLR-OBJECTAPPENDED . workElement)))

);endsetq
     
; den zu setzenden Layer holen
(setq *name* (nth 0 layerNew))
      ; Layer vorab einschalten
      (todo_Reaktor *name*) 
; Layer setzen
    (setvar "CLAYER" *name*)

    )
    ((wcmatch (car befname) "DIM*")
; den aktuellen Layer holen
(setq *oldlay* (getvar "CLAYER"))
; merker für workDimension
    (setq imerk nil)
        (setq DEFUN_DIMENSION (VLR-ACDB-REACTOR "DEFUN_DIMENSION"
        '((:VLR-OBJECTAPPENDED . workDimension)))
);endsetq
   
(if (/= *oldlay* "0")
                    (progn
        ; den zu setzenden Layer holen
(setq ret2 (length layerBlae))
(while (not (zerop ret2))
(setq ret2 (1- ret2))
(setq merk (nth ret2 layerBlae))
(if (= (wcmatch merk "*BEM") T) (setq *name* merk))
)
        ; Layer vorab einschalten
      (todo_Reaktor *name*) 
; Layer setzen
(setvar "CLAYER" *name*)
                    )
);endIF
    );endDIM
    ((wcmatch (car befname) "MTEXT")
   
    ; den aktuellen Layer holen
(setq *oldlay* (getvar "CLAYER"))
      (setq DEFUN_SETZ (VLR-ACDB-REACTOR "DEFUN_SETZ"
        '((:VLR-OBJECTAPPENDED . workElement)))

);endsetq

    (if (/= *oldlay* "0" and /= *oldlay* "SPECIAL_GESBEM")
                    (progn
        ; den zu setzenden Layer holen
(setq ret2 (length layerBlae))
(while (not (zerop ret2))
(setq ret2 (1- ret2))
(setq merk (nth ret2 layerBlae))
(if (= (wcmatch merk "*BEM") T) (setq *name* merk))
)
        ; Layer vorab einschalten
      (todo_Reaktor *name*) 
; Layer setzen
(setvar "CLAYER" *name*)
                    )
);endIF
   
    );endLINE
    ((wcmatch (car befname) "LEADER")
    ; den aktuellen Layer holen
(setq *oldlay* (getvar "CLAYER"))
      (setq DEFUN_SETZ (VLR-ACDB-REACTOR "DEFUN_SETZ"
        '((:VLR-OBJECTAPPENDED . workElement)))

);endsetq

    (if (/= *oldlay* "0")
                    (progn
        ; den zu setzenden Layer holen
(setq ret2 (length layerBlae))
(while (not (zerop ret2))
(setq ret2 (1- ret2))
(setq merk (nth ret2 layerBlae))
(if (= (wcmatch merk "*BEM") T) (setq *name* merk))
)
        ; Layer vorab einschalten
      (todo_Reaktor *name*) 
; Layer setzen
(setvar "CLAYER" *name*)
                    )
);endIF

    );endLEADER
    ((wcmatch (car befname) "QLEADER")
    ; den aktuellen Layer holen
(setq *oldlay* (getvar "CLAYER"))
      (setq DEFUN_SETZ (VLR-ACDB-REACTOR "DEFUN_SETZ"
        '((:VLR-OBJECTAPPENDED . workElement)))

);endsetq

    (if (/= *oldlay* "0")
                    (progn
        ; den zu setzenden Layer holen
(setq ret2 (length layerBlae))
(while (not (zerop ret2))
(setq ret2 (1- ret2))
(setq merk (nth ret2 layerBlae))
(if (= (wcmatch merk "*BEM") T) (setq *name* merk))
)
        ; Layer vorab einschalten
      (todo_Reaktor *name*) 
; Layer setzen
(setvar "CLAYER" *name*)
                    )
);endIF

    );endQLEADER
    ((wcmatch (car befname) "BHATCH")
; den aktuellen Layer holen
(setq *oldlay* (getvar "CLAYER"))
    (setq DEFUN_SETZ (VLR-ACDB-REACTOR "DEFUN_SETZ"
        '((:VLR-OBJECTAPPENDED . workElement)))
);endsetq
   
(if (/= *oldlay* "0")
                    (progn
        ; den zu setzenden Layer holen
(setq ret2 (length layerBlae))
(while (not (zerop ret2))
(setq ret2 (1- ret2))
(setq merk (nth ret2 layerBlae))
(if (= (wcmatch merk "*BEM") T) (setq *name* merk))
)
        ; Layer vorab einschalten
      (todo_Reaktor *name*) 
; Layer setzen
(setvar "CLAYER" *name*)
                    )
);endIF
    );endDIM
    ((wcmatch (car befname) "LINE")
    ; den aktuellen Layer holen
(setq *oldlay* (getvar "CLAYER"))
      (setq DEFUN_SETZ (VLR-ACDB-REACTOR "DEFUN_SETZ"
        '((:VLR-OBJECTAPPENDED . workElement)))

);endsetq
    );endLINE
    ((wcmatch (car befname) "ARC")
    ; den aktuellen Layer holen
(setq *oldlay* (getvar "CLAYER"))
      (setq DEFUN_SETZ (VLR-ACDB-REACTOR "DEFUN_SETZ"
        '((:VLR-OBJECTAPPENDED . workElement)))

);endsetq
    );endLINE
    ((wcmatch (car befname) "CIRCLE")
    ; den aktuellen Layer holen
(setq *oldlay* (getvar "CLAYER"))
      (setq DEFUN_SETZ (VLR-ACDB-REACTOR "DEFUN_SETZ"
        '((:VLR-OBJECTAPPENDED . workElement)))

);endsetq
    );endLINE   
  )
)

#############################################################################################################


(defun workElement (reatyp Data /)


        (princ "\n Bearbeite Element...")
(setq  z_Set z_koor) ;wert aus Variable holen
(setq lastAcadObjekt (last Data))
(setq lastAcadObjekt (entget lastAcadObjekt))

(cond
    ((= (cdr (assoc 0 lastAcadObjekt)) "LINE")
      (if (/= z_koor 0.0)
(progn
    (princ "\n Ändere Z-Höhe Linie...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (EH_WORK lastAcadObjekt 11 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      ) 
    ) ;end Linie
    ((= (cdr (assoc 0 lastAcadObjekt)) "XLINE")
      (if (/= z_koor 0.0)
(progn
(princ "\n Ändere Z-Höhe Hilfslinie...")
(EH_WORK lastAcadObjekt 10 z_Set)
      (EH_WORK lastAcadObjekt 11 0.0) 
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )   
    ) ;end Hilfslinie
    ((= (cdr (assoc 0 lastAcadObjekt)) "ARC")
      (if (/= z_koor 0.0)
(progn
  (princ "\n Ändere Z-Höhe Bogen...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )     
    ) ;end Bogen
    ((= (cdr (assoc 0 lastAcadObjekt)) "CIRCLE")
      (if (/= z_koor 0.0)
(progn
  (princ "\n Ändere Z-Höhe Kreis...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )  
    ) ;end Kreis
    ((= (cdr (assoc 0 lastAcadObjekt)) "MTEXT")
      (if (/= z_koor 0.0)
(progn
      (princ "\n Ändere Z-Höhe Text...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )    
      (setq tb (boundingBox lastAcadObjekt 10.0))
      (princ "\n Setze 4 Punkte um Text...")
      (setq p1 (nth 0 tb))
      (setq p2 (nth 1 tb))
      (setq p3 (nth 2 tb))
      (setq p4 (nth 3 tb))

      ; Koordinatens. auf welt setzen...
      (command "bks" "")
     
      (command "punkt" p1)
      (command "punkt" p2)
      (command "punkt" p3)
      (command "punkt" p4)
    ) ;end Text
    ((= (cdr (assoc 0 lastAcadObjekt)) "QLEADER")
      (if (/= z_koor 0.0)
(progn
      (princ "\n Ändere Z-Höhe Schnellführung-Text...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )  
    ) ;end Schnellführung-Text    
    ((= (cdr (assoc 0 lastAcadObjekt)) "LEADER")
      (if (/= z_koor 0.0)
(progn
      (princ "\n Ändere Z-Höhe Bezugslinie...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )  
    ) ;end Schraffur
    ((= (cdr (assoc 0 lastAcadObjekt)) "HATCH")
      (if (/= z_koor 0.0)
(progn
      (princ "\n Ändere Z-Höhe Text...")
(EH_WORK lastAcadObjekt 10 z_Set)
      (EH_WORK lastAcadObjekt 11 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )  
    ) ;end Schraffur
    (t nil)
);endcond
);endworkElement 

#############################################################################################################

(defun workDimension (reatyp Data /)

  ;wert aus Variable holen
  (setq  z_Set z_koor)
 
  (setq merk (last Data))
(setq merk (entget merk))
; Type...
  (setq dimtyp (cdr (assoc 0 merk)))
 
(if (= dimtyp "DIMENSION")
    (progn
        (setq lastAcadObjekt merk)
        (princ "\n Bearbeite Dimension...")
      (EH_WORK lastAcadObjekt 10 z_Set)
        (EH_WORK lastAcadObjekt 11 z_Set)
(if (/= (cdr (assoc 16 lastAcadObjekt)) nil )
    (progn
        (EH_WORK lastAcadObjekt 16 z_Set)
    )
);endIF
        (setq list_elem (cons lastAcadObjekt list_elem ))
      );endprogn 
);endIF
);endworkDimension


#############################################################################################################


 
;Initialisierung des Reactors
(defun reaload ()

  (princ "\n Aktiviere Callback-Funktion...")
  (vl-load-com)
  (if (not *DEFUN_TODO*)
    (progn
            (vlr-command-reactor nil
'((:vlr-CommandWillStart . before))
    ) 
    (vlr-command-reactor nil 
                '((:vlr-commandEnded . after))
    )
            (vlr-command-reactor nil 
'((:vlr-commandCancelled . cancel))
    ) 
    (setq *DEFUN_TODO* 'T)
  );endprogn
  );endif
);endreaload


#############################################################################################################


;*************************************************************************
;
; Konstruktionshöhe aus einem vom Anwender gewählten 3DPunkt auslesen und
; der Variable >z_koor< zuweisen.
; Elemente wie Linien / Bögen usw. werden jetzt in der gesetzten Einfügehöhe
; plaziert.
; --> siehe coe_special_kitschen.lsp  Reaktor-Funktionen
;
;*************************************************************************

(defun C:ZHoehe(/ 3D_Point test)

(setvar "cmdecho" 0) ; Deaktiviere die Protokollierung von command...

  (setq bks_ZPos (caddr(trans '(0.0 0.0 0.0) 1 0 )))
; wir holen uns die Z-Höhe
(setq 3D_Point (getpoint "\nZ-Höhe für Nachfolgende Eingaben: "))
(setq z_koor (caddr 3D_Point))
  (setq z_koor (+ bks_ZPos z_koor))

  (command "setvar" "USERS1" z_koor)
 
;COUNTING ROUTINE
;******************************************************************************************************
(princ "\n Lade Funktion C:ZHoehe... ") ; wir schreiben in die Befehlszeile
(setvar "cmdecho" 1) ; Aktiviere die Protokollierung von command...     
);endZHoehe

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: 15. Mrz. 2016 15: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 ChristianBermpohl 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von ChristianBermpohl:
Die Funktion >workElement<
FEHLT!

setzt dann die Z-Koordinate auf den gewünschten Wert. Beim Element "CIRCLE" scheint mir der DXF Group codes 10 zu dem Zeitpunkt nicht mehr gefüllt zu sein... Wie kann das sein?




Gar nicht, also ist die Frage wie du darauf kommst?
Teste zunächst ob die Funktion überhaupt aufgerufen wird
(debuggen im vlide oder einfach mal ein ALERT in die Funktion schreiben)

(alert(vl-princ-to-string (assoc 10 lastAcadObjekt )))

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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: 15. Mrz. 2016 15:47    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 ChristianBermpohl 10 Unities + Antwort hilfreich

Es fehlen die Funktionen
- AFTER
- EH_WORK

Command Ausdrücke funktionieren nicht in Reactorfunktionen. (workElement)
Die Reactorfunktionen werden mehrfach durchlaufen, da die Reaktoren nicht in einer Globalen Variable definiert wurden, die auf Vorhandensein abgeprüft wird, somit werden mehrfache gleiche Reaktoren aktiviert.

Aber Grundsätzlich funktioniert das Programm - auch unter 2012

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

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

ChristianBermpohl
Mitglied
Administrator

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

Beiträge: 7
Registriert: 15.03.2016

AutoCAD2012

erstellt am: 15. Mrz. 2016 16:47    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


CIRCLE.PNG

 
Es ist richtig, grundsätzlich läuft das Programm unter 2012.

Nur eben nicht beim Zeichnen von einem Kreis ("CIRCLE") . Das ist mein Problem. Die Funktion >EH_WORK< setzt die neue Z-Position auf den Wert >z_Set<.  Siehe Anhang...

Aufgefallen ist mir das der DXF code 10 zu dem Zeitpunkt keine XYZ-Koordinaten hat, steht immer auf 0,0,0. Das ist bei allen anderen Elementen nicht so.

Oder gibt es eine andere Möglichkeit den Kreis zu verschieben?


Sorry, hier die fehlenden Funktionen....

#########################################################################################################################


(defun workElement (reatyp Data /)


        (princ "\n Bearbeite Element...")
(setq  z_Set z_koor) ;wert aus Variable holen
(setq lastAcadObjekt (last Data))
(setq lastAcadObjekt (entget lastAcadObjekt))

(cond
    ((= (cdr (assoc 0 lastAcadObjekt)) "LINE")
      (if (/= z_koor 0.0)
(progn
    (princ "\n Ändere Z-Höhe Linie...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (EH_WORK lastAcadObjekt 11 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      ) 
    ) ;end Linie
    ((= (cdr (assoc 0 lastAcadObjekt)) "XLINE")
      (if (/= z_koor 0.0)
(progn
(princ "\n Ändere Z-Höhe Hilfslinie...")
(EH_WORK lastAcadObjekt 10 z_Set)
      (EH_WORK lastAcadObjekt 11 0.0) 
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )   
    ) ;end Hilfslinie
    ((= (cdr (assoc 0 lastAcadObjekt)) "ARC")
      (if (/= z_koor 0.0)
(progn
  (princ "\n Ändere Z-Höhe Bogen...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )     
    ) ;end Bogen
    ((= (cdr (assoc 0 lastAcadObjekt)) "CIRCLE")
      (if (/= z_koor 0.0)
(progn
  (princ "\n Ändere Z-Höhe Kreis...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )  
    ) ;end Kreis
    ((= (cdr (assoc 0 lastAcadObjekt)) "MTEXT")
      (if (/= z_koor 0.0)
(progn
      (princ "\n Ändere Z-Höhe Text...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )    
      (setq tb (boundingBox lastAcadObjekt 10.0))
      (princ "\n Setze 4 Punkte um Text...")
      (setq p1 (nth 0 tb))
      (setq p2 (nth 1 tb))
      (setq p3 (nth 2 tb))
      (setq p4 (nth 3 tb))

      ; Koordinatens. auf welt setzen...
      (command "bks" "")
     
      (command "punkt" p1)
      (command "punkt" p2)
      (command "punkt" p3)
      (command "punkt" p4)
    ) ;end Text
    ((= (cdr (assoc 0 lastAcadObjekt)) "QLEADER")
      (if (/= z_koor 0.0)
(progn
      (princ "\n Ändere Z-Höhe Schnellführung-Text...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )  
    ) ;end Schnellführung-Text    
    ((= (cdr (assoc 0 lastAcadObjekt)) "LEADER")
      (if (/= z_koor 0.0)
(progn
      (princ "\n Ändere Z-Höhe Bezugslinie...")
      (EH_WORK lastAcadObjekt 10 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )  
    ) ;end Schraffur
    ((= (cdr (assoc 0 lastAcadObjekt)) "HATCH")
      (if (/= z_koor 0.0)
(progn
      (princ "\n Ändere Z-Höhe Text...")
(EH_WORK lastAcadObjekt 10 z_Set)
      (EH_WORK lastAcadObjekt 11 z_Set)
      (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )  
    ) ;end Schraffur
    (t nil)
);endcond
);endworkElement 

#################################################################################################################################


; nach dem Befehl....
(defun after(reatyp befname /)
  (cond
    ((and
      (wcmatch (car befname) "XLINE" ) *oldlay* )
      ; Layer setzen
            (setvar "CLAYER" *oldlay*)
            (setq *oldlay* nil)
    )
    ((and
      (wcmatch (car befname) "DIM*" ) *oldlay* )
      ; Layer setzen
            (setvar "CLAYER" *oldlay*)
            (setq *oldlay* nil)
    )
    ((and   
      (wcmatch (car befname) "MTEXT" ) *oldlay* )
      ; Layer setzen
            (setvar "CLAYER" *oldlay*)
            (setq *oldlay* nil)
    )   
    ((and   
      (wcmatch (car befname) "QLEADER" ) *oldlay* )
      ; Layer setzen
            (setvar "CLAYER" *oldlay*)
            (setq *oldlay* nil)
    )   
    );endcond

  ; und die geänderten Elemente neu setzen
  (setq ret2 (length list_elem))
  (while (not (zerop ret2))
(setq ret2 (1- ret2))
(setq merk (nth ret2 list_elem))
(entmod merk)
  )
 
  (setq list_elem nil)
  (vlr-remove-all :VLR-ACDB-REACTOR)
)

#################################################################################################################################


 
; Von Element >ENT< DXF-Code >NR< bearbeiten
(defun EH_WORK (ENT NR EH_Z_NEU)
(setq EH_XYZ (cdr (assoc NR ENT))) ; assoc --> Liste >ENT< durchsuchen nach NR
(if (/= EH_Z_NEU (caddr EH_XYZ))
(progn (setq EH_NEU (list (car EH_XYZ) (cadr EH_XYZ) EH_Z_NEU))
  (ENITY-CHANGE ENT EH_NEU NR)
  (setq lastAcadObjekt NEW)
);progn
);endif 
) ;_ end defun

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: 15. Mrz. 2016 17:02    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 ChristianBermpohl 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von ChristianBermpohl:
XYZ-Koordinaten hat, steht immer auf 0,0,0.


0.0 0.0 0.0 sind die Koordinaten welche XY&Z darstellen - und zwar die schönsten  

Du schließt aber in deinem Programm explizit aus Objekte zu bearbeiten welche auf Z=0 im Startpunkt haben,
also liegt es an dir..

(if (/= z_koor 0.0) 

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

ChristianBermpohl
Mitglied
Administrator

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

Beiträge: 7
Registriert: 15.03.2016

AutoCAD2012

erstellt am: 16. Mrz. 2016 07:34    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

Es ist richtig, nur bei einer gesetzten Erhebung sollen die Elememnte verschoben werden.
Gesetzt wird die Variable >z_koor< vom Anwender mit Hilfe folgender Funktion.


#####################################################################################################################################


;*************************************************************************
;
; Konstruktionshöhe aus einem vom Anwender gewählten 3DPunkt auslesen und
; der Variable >z_koor< zuweisen.
; Elemente wie Linien / Bögen usw. werden jetzt in der gesetzten Einfügehöhe
; plaziert.
; --> siehe coe_special_kitschen.lsp  Reaktor-Funktionen
;
;*************************************************************************

(defun C:ZHoehe(/ 3D_Point test)

(setvar "cmdecho" 0) ; Deaktiviere die Protokollierung von command...

  (setq bks_ZPos (caddr(trans '(0.0 0.0 0.0) 1 0 )))
; wir holen uns die Z-Höhe
(setq 3D_Point (getpoint "\nZ-Höhe für Nachfolgende Eingaben: "))
(setq z_koor (caddr 3D_Point))
  (setq z_koor (+ bks_ZPos z_koor))

  (command "setvar" "USERS1" z_koor)
 
;COUNTING ROUTINE
;******************************************************************************************************
(princ "\n Lade Funktion C:ZHoehe... ") ; wir schreiben in die Befehlszeile
(setvar "cmdecho" 1) ; Aktiviere die Protokollierung...     
);endZHoehe


############################################################################################################################################


Bei Elementen wie Linien, Bögen, Texte usw. klappt das Verschieben auf die Höhe >z_koor< problemlos. Nur der Kreis geht nicht. Die neue Z-Höhe wird zwar auch richtig in den DXF codes 10 übernommen. Der Kreis wird aber nicht in der DWG gezeichnet. Da bin ich kompl. überfragt wie ich das beheben kann....zumal ja alle anderen Elemente richtig verschoben werden. Also meine Logik ja Grundsätzlich funktioniert.

Vielleicht hat ja noch jemand eine Idee wie ich das Problem lösen könnte.
Schon mal besten DANKE !!


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: 16. Mrz. 2016 07:46    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 ChristianBermpohl 10 Unities + Antwort hilfreich

Das hört sich schon ganz anders an, dann würde ich raten das die Kreise sehr wohl geändert werden(und auch angezeigt).

Vermutlich berücksichtigst du den Gruppencode210 nicht und erwartest ein anderes Ergebnis?

Mit einer DWG würdest du aber nicht unnötig Zeit und Arbeitskraft binden, darin dann bitte nur EINEN Kreis-- mehr nicht.

Das wird noch..
Zom Option Objekt - zeigt dir den Kreis bestimmt an?

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

ChristianBermpohl
Mitglied
Administrator

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

Beiträge: 7
Registriert: 15.03.2016

AutoCAD2012

erstellt am: 17. Mrz. 2016 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


CIRCLE_2.PNG

 
Eine DWG wird nicht helfen. Es ist definitiv kein Kreis da.

Rausgefunden habe ich das der Wert an dem Objekt Kreis nicht stimmen kann. Siehe Anlage...
Im DXF-Code 10 steht mein geänderter Wert 800 an der Z-Koordinate. Vielleicht muss ich da ansetzen, nur wie?
Wie wird denn der {Mittelpunkt} {7.65379e013 2500,0 0,0} gebildet ?

Unter AutoCAD 2006 stand hier der selektierte Mittelpunkt aber mit der vom Programm geänderten Z-Koordinate.


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: 17. Mrz. 2016 15:50    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 ChristianBermpohl 10 Unities + Antwort hilfreich

Wenn du keine Hilfe möchtest, dann bekommst du auch keine 

Ich möchte natürlich die Datei VOR Befehlslauf haben, Inhalt: EIN KREIS mit dem man es nachvollziehen kann.

"Wie wird denn der {Mittelpunkt} {7.65379e013 2500,0 0,0} gebildet ? "
Wie, "gebildet"?

Das ist der Mittelpunkt wie bisher auch schon immer, X,Y und Z-Wert im WKS,
wo es angezeigt wird hängt noch vom Objektkoordinatensystem ab - in deinem Screenshot zeigt
die Normale/gc210 das alle sauber dem WKS entspricht, daran liegt die Verwunderung schon mal nicht,

oder ob etwas angezeigt wird, da gibt es ja mehrer Möglichkeiten die einwirken,
dein Programm betreffend kann es aber nur Schnittebenen betreffen.

"Rausgefunden habe ich das der Wert an dem Objekt Kreis nicht stimmen kann. Siehe Anlage..."
Wie soll ich diese Aussage aus dem Bild herauslesen,
ich sehe das in einer Variable ein anderer Wert(Liste) gespeichert ist wie die Entity-Liste welche ein Objekt aktuell definiert.

Und beim dem Wert aus dem "ACAD CIRCLE" Fenster weis ich auch nicht ob es aktuell ist.

Mache es dir einfach, poste eine DWG mit Anleitung zum nachvollziehen,
ansonsten bin ich raus.

Mit recht großer Sicherheit ist kein Voodoo im Spiel.
PS: " Es ist definitiv kein Kreis da. " bedeutet nicht existent,
bedeutet (entget(handent"A68")) liefert NIL zurück?
Das würde mich doch SEHR interessieren 

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 17. Mrz. 2016 16: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 ChristianBermpohl 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von ChristianBermpohl:
Eine DWG wird nicht helfen. ...

Doch würde dolle helfen. Interessanterweise ist der Radius Deines Kreises laut DXF-Code 40 0.0 (da kann man ihn nicht sehen), lt. "Radius" aber 608.692
Also am besten zwei Dateien nur mit dem Kreis hochladen, einmal vor dem Progranmmlauf, einmal danach.

Gruß
Thomas

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: 17. Mrz. 2016 16: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 Nur für ChristianBermpohl 10 Unities + Antwort hilfreich

Die Variable kann alte Daten inne haben
Das  Kontrollfenster von "Acad Circle" kann ebenso veraltet sein
und entsprechend kann das tatsächliche CAD-Objekt wiederum ganz andere Werte haben.

So ein Jpeg ist halt ne tolle Grundlage   [EDIT: PNG!]

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

ChristianBermpohl
Mitglied
Administrator

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

Beiträge: 7
Registriert: 15.03.2016

AutoCAD2012

erstellt am: 17. Mrz. 2016 16:46    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


00001550VOR.DWG


00001550NACH.DWG

 
Sorry, Verwirrung zu schaffen ist ganz bestimmt nicht meine Absicht!! Ich bin wirklich für jede Hilfe dankbar...

Ich versuche es mal mit der Anleitung.


1.) Die Datei  coe_special_kitchen.dcl/lsp laden
2.) Den Befehl cadtop ausführen
3.) im Dialog
    --> "Special Ein" selektieren
    --> "Layergruppe" Langteile auswählen
    --> Unter BKS-Z  zum Beispiel den Wert 800 eingeben
    --> Den Dialog mit OK verlassen
4.) Das Programm verschiebt nun Linien, Bögen usw. auf die eingegebene Z-Höhe 800
    Nur eben nicht das Element KREIS...


Im Anhang:
Die kompl. LISP-Datei
Die zugehörige Dialog-Datei
Die DWG vorm Erstellen eines Kreise
Die DWG nach dem Erstellen

Ich hoffe so ist mein Anliegen verständlicher.


BESTEN DANK


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

ChristianBermpohl
Mitglied
Administrator

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

Beiträge: 7
Registriert: 15.03.2016

AutoCAD2012

erstellt am: 17. Mrz. 2016 16:50    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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 17. Mrz. 2016 17: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 ChristianBermpohl 10 Unities + Antwort hilfreich

Also in der Datei "nach" gibt es einen Kreis auf Höhe 800. Zentrum: 0, 0, 800  Durchmesser 0

Zu finden über die Schnellauswahl, wenn Du ihm dort einen anderen Durchmesser gibst, kannst Du ihn auch sehen.

Also: Fehlersuche im Lisp starten, hier passiert irgendwas mit dem Kreis.

HTH
Gruß
Thomas

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: 17. Mrz. 2016 22:01    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 ChristianBermpohl 10 Unities + Antwort hilfreich

Ich habe es nun auch nicht näher untersucht, kann aber die Sache bestätigen - wenn auch wie erwartet etwas anders wie du selbst.

Der Kreis wird erstellt.
Er bekommt die richtige Höhe.

Das Problem ist wohl wirklich das bei deinem Reactorkonstrukt die Daten des Circles noch nicht korrekt vom Programm geliefert werden (anstatt der richtigen XY Werte wird 0 0 geliefert von Acad).
Demenstprechend erstellt du Kreise immer an Position 0,0,angegebenerZwert.

Ich muss aber auch sagen das kaum jmand diesen Reactortyp nutzt, für gewöhnlich lassen die Leute entweder die Objekte erstellen und bearbeiten im Nachgang das Objekt,
oder ermittelt die benötigten Daten(getpoint usw) und erstellt das Objekt selbst(mit entmake zB).

Wenn das Programm in 2006 auch mit Kreisen korrekt arbeitet hast du nun festgestellt das es ab Version XY so nicht mehr geht, ändern kann man an Acad nichts,
du hast keinen "Fehler" drin,
also komplett andere Lösung wählen.

Schau im Forum mal nach dem Klassiker Schraffur oder Bemassung auf richtigen Layer legen(per Reaktor),
ich nehme an das diese Varianten kein Problem produzieren.

Getestet mit Acad2013

Sorry. Vielleicht schau ich morgen auch noch mal genauer hin..

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

ChristianBermpohl
Mitglied
Administrator

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

Beiträge: 7
Registriert: 15.03.2016

AutoCAD2012

erstellt am: 18. Mrz. 2016 16:52    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

Schön das mein Problem jetzt verstanden wurde. Sorry nochmal für meine wohl nicht immer verständliche Formulierung.

Da die Daten für einen Circle wohl erst zu einem späteren Zeitpunkt von AutoCAD geliefert werden habe versucht die Logik in den Reaktor :vlr-commandEnded zu implementieren.

Hier meine erweiterte Funktion "after"

#################################################################################################################################

; nach dem Befehl....
(defun after(reatyp befname /)


 
  (cond
    ; Die Einfügehöhe vom Kreis jetzt hier ändern. In der Funktion
    ((wcmatch (car befname) "CIRCLE")
          (if (/= z_koor 0.0)
(progn
  (setq SSH:ENTGET (entget(entlast)))
  (EH_WORK SSH:ENTGET 10 z_koor)
    (setq list_elem (cons lastAcadObjekt list_elem ))
)
      )
    )
    ((and
      (wcmatch (car befname) "XLINE" ) *oldlay* )
      ; Layer setzen
            (setvar "CLAYER" *oldlay*)
            (setq *oldlay* nil)
    )
    ((and
      (wcmatch (car befname) "DIM*" ) *oldlay* )
      ; Layer setzen
            (setvar "CLAYER" *oldlay*)
            (setq *oldlay* nil)
    )
    ((and   
      (wcmatch (car befname) "MTEXT" ) *oldlay* )
      ; Layer setzen
            (setvar "CLAYER" *oldlay*)
            (setq *oldlay* nil)
    )   
    ((and   
      (wcmatch (car befname) "QLEADER" ) *oldlay* )
      ; Layer setzen
            (setvar "CLAYER" *oldlay*)
            (setq *oldlay* nil)
    )   
    );endcond

  ; und die geänderten Elemente neu setzen
  (setq ret2 (length list_elem))
  (while (not (zerop ret2))
(setq ret2 (1- ret2))
(setq merk (nth ret2 list_elem))
(entmod merk)
  )
 
  (setq list_elem nil)
  (vlr-remove-all :VLR-ACDB-REACTOR)
)

#################################################################################################################################


Das funktioniert soweit auch erst einmal. Entscheidend ist natürlich was die Anwender sagen, ich werde die Erweiterung jetzt erst einmal so verteilen.

Der Vorschlag eine kompl. andere Lösung zu wählen wäre sicherlich auch denkbar. Wie das allerdings gehen soll (vergleichbar beim Layer setzen)ist mir nicht klar.

Nochmal besten DANK für eure Unterstützung. Ich habe jetzt erst einmal eine Woche Urlaub. Also wenn meine Lösung doch nicht erfolgreich sein sollte muss ich nochmal nach Ostern auf euch zukommen...

Fröhliche OSTERN !!

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. Mrz. 2016 17: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 ChristianBermpohl 10 Unities + Antwort hilfreich

Zitat:
Der Vorschlag eine kompl. andere Lösung zu wählen wäre sicherlich auch denkbar.
Wie das allerdings gehen soll (vergleichbar beim Layer setzen)ist mir nicht klar. [/i]

Ich meinte mit anderer Lösung, wie es hier auch viele Beispiele im Forum gibt - zB. für das autom.Layer setzen, folgendes:

Lasse das Objekt erst in Ruhe erstellen, ganz normal auf aktuellem Layer, Höhe und so weiter,
einfach "in Ruhe" erstellen lassen, also nichts "before",
nach dem CommandEnd änderst du dann das Objekt nach deinen wünschen,
checkst die Layer, erstellst unter Umständen neue,
änderst den Bemaßungstil usw.

Aber an der Stelle bin ich raus - mit einem "timingProblem" zwischen Reactor und Acad lege ich mich nicht an 

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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