Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Fremdpläne anpassen

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:  Fremdpläne anpassen (2994 mal gelesen)
Maese
Mitglied
Konstrukteur


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

Beiträge: 26
Registriert: 16.06.2003

erstellt am: 12. Okt. 2004 14:59    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

Allzuoft muss ich externe Pläne als Grundlage in die Zeichnung als xref einfügen. Vorher ist aber mühlelige Fleissarbeit angesagt. Ich komme leider zu keinem Ziel mit meinen wenigen Lisp-Erfahrungen.

Ich suche eine Lisp-Routine, die mir zuerst alle Attribute auflöst und deren Inhalt wieder zurück schreibt. Dann sollten alle Xref's gebunden werden und als nächstes müssen alle Blöcke im Modell und in den verschiedenen Layouts aufgelöst werden. Zum Schluss sollten alle Objekte der Zeichnung noch auf die Farbe "grau" geändert werden.

Gruss Maese
Bin nun schon seit Wochen am probieren und zusammensuchen. Vieleicht kann mir einer von euch Profis da ein bisschen weiterhelfen.

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 12. Okt. 2004 15: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 Maese 10 Unities + Antwort hilfreich

BURST aus den EXPRESSTOOLS
(Um Blöcke mit Attribute zu zerlegen, wobei der Attributinhalt in Text umgewandelt wird)
Zum Binden von XREFS
-XREF Binden *
und NUKE.lsp (bei CADwiesel.de)
zum setzen aller Blockelemente auf Vonlayer.

(wie lange suchst du schon?  )

Wozu das auf allen Layouts passieren soll, wenn die Zeichnung nur als XREF genutzt wird ist mir aber ein Rätsel.

Mit freundlichem Gruß

Udo Hübner

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: 12. Okt. 2004 15:18    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 Maese 10 Unities + Antwort hilfreich

Hallo Maese,

warum willst du alle Attribute und Blöcke auflösen? Ich weiss nicht ob es sinnvoll ist, Fremdzeichnungen so zu "zerkloppen".

Das "grau" setzen der Elemente kannst Du auch in Deiner Zeichnung, in die du die Fremdzeichnung als xref einfügst. Einfach alle xref|layer auf grau setzen, Systemvariable visretain=1, dann merkt sich die Zeichnung das auch. Setzt voraus, dass alle Elemente in der Fremdzeichnung die Farbe "vonlayer" haben, aber das ist ja schnell erledigt. Für Elemente von Blöcken geht das mit dem lisp "block_konvert.lsp" von ??? (einfach mal nach suchen).

Viele Grüße
spider

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

Maese
Mitglied
Konstrukteur


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

Beiträge: 26
Registriert: 16.06.2003

erstellt am: 12. Okt. 2004 15:39    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

Da die Blöcke und Attribute eine feste Farbe zugewiesen haben, soll diese nun geändert werden. Deshalb alles auflösen. Und Udo hat recht. Ich muss die Xrefs und die Blöcke in den Layouts nicht binden und auflöse, sondern entfernen. Danke.

Das Lisp "block_konvert.lsp" kann ich leider nicht finden. Wo hast du das her, Spider?

Gruss Maese

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 12. Okt. 2004 16:05    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 Maese 10 Unities + Antwort hilfreich

Original von mir 2 Beiträge höher
Zitat:

und NUKE.lsp (bei CADwiesel.de)
zum setzen aller Blockelemente auf Vonlayer.


Na, das ich mich selbst zitieren muss  .

Das Auflösen der Blöcke kann man sich genau mit diesem Tool ersparen, denn hier werden alle Farben auf vonlayer zurückgesetzt und dann läßt sich die Zeichnung prima als XREF mit einer Farbe verwenden.

Es hat sich hier im Formum schon oft als nützlich erwiesen, nicht nur eine Detailfrage zu stellen, sondern das Problem bzw. die Aufgabenstellung zu beschreiben. Manchmal haben andere schon intelligentere Lösungen auf Lager als einem selbst einfallen.
(damit meine ich nicht unbedingt meine Lösungen).

Mit feundlichem Gruß

Udo Hübner

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

michelangelo
Mitglied



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

Beiträge: 158
Registriert: 08.04.2004

Win XP, ACAD 2002 ExpressTool vom ACAD 2000

erstellt am: 12. Okt. 2004 16: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 Nur für Maese 10 Unities + Antwort hilfreich

habe das nuke ausprobiert das geht nicht. ich weiss nicht warum aber es geht nicht bei allen fremdzeichnungen und blöcken. deshalb habe ich mit hilfe dieses forums mein eigens lisp kreiert.

(command "BEREINIG" "AL" "" "N")
(command "_AUDIT" "J")
(C:as2isocp)
;
;as2isocp setzt alle schriftstile auf isocp
;
(command "_.LAYER" "FA" "8" "*" "T" "*" "")
;;;  (setq Index -1)
;;;  (repeat (sslength (setq aws (ssget "_X" '((0 . "DIM*")))))
;;;    (command "_.explode"
;;;    (ssname aws (Setq Index (1+ Index)))
;;;    )
;;;  )
  (C:EXPLODE_ALL)
  (command "ändern" "alle" "" "E" "Fa" "VONLAYER" "")
;
(command "-BEREINIG" "AL" "" "N")
(command "_audit" "j")
(command "filedia" "1")
(command "_qsave")

(command "_qsave")
) ;ende von aufbereiten
(defun C:EXPLODE_ALL (/ INDEX AUSWAHLSATZ OBJFILTER ASLENGTH)
  (command "_.-layer" "_thaw" "*" "_unlock" "*" "_on" "*" "")
  (setq OBJFILTER (cons 0 "DIM*,INSERT,*POLYLINE,HATCH"))
  (if (not (setq AUSWAHLSATZ
                  (ssget "_I"
                        (list OBJFILTER (cons 410 (getvar "ctab")))
                  ) ;_ end of ssget
          ) ;_ end of setq
      ) ;_ wenn kein pickset vorh.
    (progn
      (setq AUSWAHLSATZ
            (ssget
              "_X"
              (list OBJFILTER (cons 410 (getvar "ctab")))
            ) ;_ end of ssget
      )                            ; nimm alle
      (if AUSWAHLSATZ
        (progn
          (setq INDEX    -1
                ASLENGTH (sslength AUSWAHLSATZ)
          ) ;_ end of if
          (repeat ASLENGTH ;_ end of sslength
            (command "_.explode"
                    (ssname AUSWAHLSATZ (setq INDEX (1+ INDEX)))
            ) ;_ end of command
          ) ;_ end of repeat
          (princ (strcat "\n>> "
                        (itoa ASLENGTH)
                        " << Objekt(e) aufgelöst. "
                ) ;_ end of strcat
          ) ;_ end of princ
        ) ;_ end of progn
        (princ "\nKeine auflösbaren Objekte gefunden!")
      ) ;_ end of if
    ) ;_ end of progn
  ) ;_ end of if
  (princ)
)
;
;© 03.04.2004 mic & mit hilfe von cad.de

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: 12. Okt. 2004 16: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 Nur für Maese 10 Unities + Antwort hilfreich


Block_konv3.lsp.txt

 
Zitat:
Original erstellt von Maese:

Das Lisp "block_konvert.lsp" kann ich leider nicht finden. Wo hast du das her


weiss ich auch nicht mehr,
steht auch nichts drin, somit vielen Dank unbekannterweise an den ursprünglichen "erzeuger".

ich habe es noch so angepasst, dass es die elemente wahlweise auch auf den aktuellen layer legt und auch unbenannte blöcke behandelt.
anbei mal meine Version davon.

Gruß
spider

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: 13508
Registriert: 30.11.2003

.

erstellt am: 12. Okt. 2004 17:13    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 Maese 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von spider_dd:
weiss ich auch nicht mehr,
steht auch nichts drin, somit vielen Dank unbekannterweise an den ursprünglichen "erzeuger".

Ich oute mich mal  , war von mir .. und Dank angenommen..


Hier ist auch noch ne andere Version davon. den Originalbeitrag find ich momentan auch nicht <sorry>
------------------
  - Thomas -
"Bei 99% aller Problemen ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

[Diese Nachricht wurde von CADmium am 12. Okt. 2004 editiert.]

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

Maese
Mitglied
Konstrukteur


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

Beiträge: 26
Registriert: 16.06.2003

erstellt am: 13. Okt. 2004 08:43    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

Der Code von michelangelo funktioniert soweit bestens, nur die Attribute (Höhenkoten mit Pfeil) lassen sich nicht über "BURST" bearbeiten. Lisp in Lisp. Auch wenn "burst" zuerst geladen wird. Hat mir da noch jemand einen Tipp, wie man das bewerkstelligen kann. Durch auflösen der Attribute in den Ursrung würden sehr viele Infos verlorengehen!

Besten Dank an euch alle.

Gruss Maese 

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

AsSchu
Ehrenmitglied
Konstrukteur


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

Beiträge: 1632
Registriert: 27.06.2003

ACAD 2007,cadMANdu
Win 2000 XP

erstellt am: 13. Okt. 2004 11:36    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 Maese 10 Unities + Antwort hilfreich

Hallo,

habe da ein tool was Attribute in Text umwandelt.

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

Maese
Mitglied
Konstrukteur


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

Beiträge: 26
Registriert: 16.06.2003

erstellt am: 13. Okt. 2004 13: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

Ja, super. Und, würdest du es mir zur verfügung stellen.

Danke im voraus. Maese

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

AsSchu
Ehrenmitglied
Konstrukteur


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

Beiträge: 1632
Registriert: 27.06.2003

ACAD 2007,cadMANdu
Win 2000 XP

erstellt am: 13. Okt. 2004 14:00    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 Maese 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Maese:
Ja, super. Und, würdest du es mir zur verfügung stellen.

Danke im voraus. Maese


hier ist es.

;*************************************************************************
;** Datei ATTRTXT.LSP
;** Dient zum Umwandeln von sichtbaren Blockattributen in Text
;*************************************************************************
;** Funktionen
;** C:ATTRTOTXT_EXP    Wandelt sichtbare Blockattribute in Text um und
;**                    zerlegt den Block
;** C:ATTRTOTXT_NOEXP  Wandelt sichtbare Blockattribute in Text und setzt
;**                    alle Attributwerte des Blocks auf "", der Block
;**                    wird nicht zerlegt
;*************************************************************************
;** Autor: NAVRATIL Heinz
;** Stand: 04.11.1998
;** Ver.:  4.2 -- AutoCAD Ver. 13 / 14, 2000,2002
;** email: hnavratil@KGH.KABA.com
;*************************************************************************

;** ----------------------------------------------------------------------
;** C:ATTRTOTXT_EXP
;** ----------------------------------------------------------------------
(defun C:attrtotxt_exp( / as i e el bn nl l1 l2)
  (if (setq as (ssget))
    (progn
      (setq i 0)
      (while (setq e (ssname as i))
        (setq el (entget e))
        (if (/= (assoc 66 el) nil)
          (progn
            (setq bn e)
            (while (/= (cdr (assoc 0 (setq el (entget e)))) "SEQEND")
              (if (and (= (cdr (assoc 0 el)) "ATTRIB")
                      (/= (logand (cdr (assoc 70 el)) 1) 1)
                  )
                (progn
                  (setq nl (cdr el))
                  (setq nl (subst '(0 . "TEXT") (assoc 0 nl) nl))
                  (setq l1 (cdr (member (assoc 2 nl) nl)))
                  (setq l2 (reverse (cdr (member (assoc 2 nl) (reverse nl)))))
                  (setq nl (append l2 l1))
                  (setq l1 (cdr (member (assoc 70 nl) nl)))
                  (setq l2 (reverse (cdr (member (assoc 70 nl) (reverse nl)))))
                  (setq nl (append l2 l1))
                  (setq nl (subst (cons 73 (cdr (assoc 74 nl))) (assoc 74 nl) nl))
                  (entmake nl)
                )
              )
              (setq e (entnext e))
            )
            (setq le (entlast))
            (command "._EXPLODE" bn)
            (while (setq le (entnext le))
              (if (= (cdr (assoc 0 (entget le))) "ATTDEF")
                (entdel le)
              )
            )
          )
        )
        (setq i (1+ i))
      )
      (command "._REGEN")
    )
  )
  'DANKE
)


;** ----------------------------------------------------------------------
;** C:ATTRTOTXT_NOEXP
;** ----------------------------------------------------------------------
(defun C:attrtotxt_noexp( / as i e el bn nl l1 l2)
  (if (setq as (ssget))
    (progn
      (setq i 0)
      (while (setq e (ssname as i))
        (setq el (entget e))
        (if (/= (assoc 66 el) nil)
          (progn
            (setq bn e)
            (while (/= (cdr (assoc 0 (setq el (entget e)))) "SEQEND")
              (if (and (= (cdr (assoc 0 el)) "ATTRIB")
                      (/= (logand (cdr (assoc 70 el)) 1) 1)
                  )
                (progn
                  (setq nl (cdr el))
                  (setq nl (subst '(0 . "TEXT") (assoc 0 nl) nl))
                  (setq l1 (cdr (member (assoc 2 nl) nl)))
                  (setq l2 (reverse (cdr (member (assoc 2 nl) (reverse nl)))))
                  (setq nl (append l2 l1))
                  (setq l1 (cdr (member (assoc 70 nl) nl)))
                  (setq l2 (reverse (cdr (member (assoc 70 nl) (reverse nl)))))
                  (setq nl (append l2 l1))
                  (setq nl (subst (cons 73 (cdr (assoc 74 nl))) (assoc 74 nl) nl))
                  (entmake nl)
                  (setq el (subst '(1 . "") (assoc 2 el) el))
                  (entmod el)
                )
              )
              (setq e (entnext e))
            )
          )
        )
        (entupd bn)
        (setq i (1+ i))
      )
      (command "._REGEN")
    )
  )
  'DANKE
)


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