Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Layer von Text in Blöcken ändern

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:  Layer von Text in Blöcken ändern (2683 mal gelesen)
die_Pat
Mitglied
Bauzeichnerin


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

Beiträge: 81
Registriert: 12.03.2004

hp Workstation Z200
Win 7
ACA 2014
Revit 2014

erstellt am: 11. Sep. 2013 07: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

Guten Morgen!

Ich habe Blöcke in einer Zeichnung, die jeweils eine Schraffur, Textobjekte und Attribute beinhalten. Die Blockelemente sind alle auf Layer 0 gezeichnet. Soweit so gut.

Zum Problem:
Die Texte und Attribute sollen auf den Planausdrucken nicht erscheinen. Sie dienen lediglich als Info in der Datei. Die Attribute kann ich über attmode dementsprechend sichtbar oder unsichtbar schalten. Die Texte jedoch nicht.

Ich würde nun gern die Texte (und Attribute) auf einen eigenen Layer schieben, der dann unplotbar geschalten wird.
Ist das irgendwie möglich oder muss ich alle Blöcke (es sind bisher schon weit über 200 und werden in der weiteren Planbearbeitung noch mehr) einzeln anfassen und ändern?

Neue Blöcke kann ich ja gleich in der Form erstellen, aber was mach ich mit den bestehenden?

Vielen Dank schon mal für evtl. Lösungsansätze!

die_Pat

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

Entsorger01
Moderator
Techniker




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

Beiträge: 3263
Registriert: 07.07.2006

ACAD 2021
Acrobat Prof.
Creative Suite
WIN10

erstellt am: 11. Sep. 2013 07:53    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 die_Pat 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von die_Pat:
es sind bisher schon weit über 200

200 Block-Definitionen oder 200 Block-Referenzen?

Es reicht ja die Blockdefinition(en) anzupassen.

------------------
Gruß

Michi

"Es ist schon alles gesagt, nur noch nicht von allen." (Karl Valentin)

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

AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM
Inventor AutoCAD 2022, AIP 4-2022
Win 10

erstellt am: 11. Sep. 2013 08:25    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 die_Pat 10 Unities + Antwort hilfreich

Hier ein Grundgerüst zur Programmierung:
http://ww3.cad.de/foren/ubb/Forum145/HTML/002941.shtml#000010
Die Routine zum Löschen der Schraffuren könnte man mit wenigen Handgriffen so umschreiben, so dass TEXT und MTEXT Objekte auf einen bestimmten Layer verlegt werden.

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

die_Pat
Mitglied
Bauzeichnerin


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

Beiträge: 81
Registriert: 12.03.2004

hp Workstation Z200
Win 7
ACA 2014
Revit 2014

erstellt am: 11. Sep. 2013 08:49    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

Danke für die schnellen Antworten! 

@Michi: Es sind so viele verschiedene Block-Definitionen.

@Udo: Das könnte mir helfen, bin allerdings eine 0 im Schreiben/Umschreiben von Programmierungen. 

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: 11. Sep. 2013 09:06    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 die_Pat 10 Unities + Antwort hilfreich

Hier mal was...
Code:
(defun c:layer_n_plot( / Layername aw blnamen item block)
(setq Layername "NICHT_DRUCKEN")
(if(not(tblobjname"LAYER" Layername))
  (command "_layer""_M" Layername "")
  )
(if(setq aw(ssget '((0 . "INSERT"))))
  (progn
    (mapcar '(lambda(x / n)
              (and
                    (=(type x)'ENAME)
                    (setq item(vlax-ename->vla-object x))
                    (if (vlax-property-available-p ITEM 'EffectiveName)
                    (if(not(member (setq n(strcase (vla-get-EffectiveName ITEM)))
                            blnamen
                            ))(setq blnamen(cons n blnamen)))
                    (if(not(member (setq n(strcase (vla-get-name ITEM)))
                            blnamen
                            ))(setq blnamen(cons n blnamen)))
                    )
                   
                    )
              )
            (mapcar 'cadr(ssnamex aw))
            )
    (mapcar '(lambda (Block)
    (vlax-for item
  (vl-catch-all-apply
                              'vla-item
                              (list (vla-get-blocks
                                      (vla-get-activedocument (vlax-get-acad-object))
                                      ) ;_ end of vla-get-blocks
                                    Block
                                    ) ;_ end of list
                              ) ;_ end of vl-catch-all-apply
          (if(member (strcase (vla-get-objectname ITEM))
                          '("ACDBTEXT" "ACDBMTEXT")
                          )
            (vl-catch-all-error-p(vl-catch-all-apply 'vla-put-layer (list item Layername)))
            )
          )
        (command "_attsync" "_N" (vla-get-name item))
              )
            blnamen
            )
    )
  )
  (princ)
  )

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

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

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

erstellt am: 11. Sep. 2013 09: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 die_Pat 10 Unities + Antwort hilfreich

hmm und die anderen Eigenschaften der Texte ?  Sind die fest vergeben oder "VonLayer"  .. müssen die im Zuge der "Umlayerung" auf den Layer "NoPlot" "Fest in Abhängigkeit vom Ursprungslayer zugewiesen werden" ?

Ansonsten auch noch ein Code von mir:
(defun C:TEXT2LAYER(/ BLOCK ITEM ATTRIBUTLIST ATTRIBUT MACHWAS)
  (vl-load-com)
  (defun MACHWAS (ITEM)
    (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-layer (list ITEM "NOPLOTLAYER")))     
  )
  (if(or(tblobjname "LAYER" "NOPLOTLAYER")
        (vl-catch-all-error-p
          (vl-catch-all-apply       
          'vla-add (list (vla-get-layers
                          (vla-get-activedocument(vlax-get-acad-object))
                        )
                        "NOPLOTLAYER"
                  )
          )
        )
    ) 
    (vlax-for BLOCK (vla-get-blocks(vla-get-activedocument(vlax-get-acad-object)))
      (vlax-for ITEM BLOCK         
        (if (member(strcase(vla-get-ObjectName ITEM)) '("ACDBBLOCKREFERENCE" "ACDBMINSERTBLOCK"))
          (if(and(=(vla-get-hasattributes ITEM) :vlax-true)
                (setq ATTRIBUTLIST (vlax-variant-value(vla-getattributes ITEM)))
                (=(vlax-safearray-get-dim ATTRIBUTLIST)1)
                (<=(vlax-safearray-get-l-bound ATTRIBUTLIST 1)
                    (vlax-safearray-get-u-bound ATTRIBUTLIST 1)
                )
                (setq ATTRIBUTLIST(vlax-safearray->list ATTRIBUTLIST))
            )
            (foreach ATTRIBUT ATTRIBUTLIST
              (MACHWAS ATTRIBUT)
            ) 
          )
        )
        (if(member(strcase(vla-get-ObjectName ITEM)) '("ACDBTEXT" "ACDBMTEXT" "ACDBATTRIBUTDEFINITION"))
          (MACHWAS ITEM)
        ) 
      )
    ) 
  )
  (vla-regen(vla-get-activedocument (vlax-get-acad-object)) acAllViewports)
)

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

die_Pat
Mitglied
Bauzeichnerin


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

Beiträge: 81
Registriert: 12.03.2004

hp Workstation Z200
Win 7
ACA 2014
Revit 2014

erstellt am: 11. Sep. 2013 10: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

Wow, super, vielen vielen Dank!

Beide Lisps laufen wunderbar.

Für meine Zwecke wäre wohl eine Mischung aus beiden das Richtige!
Aber ich denke, ich komm auch so klar.

Bei der Lösung von CADwiesel kann man die Blöcke, die geändert werden sollen, einzeln auswählen.
Ist bei dieser Zeichnung von Vorteil, da hier auch noch Blöcke mit Texten rumfliegen, bei denen die Texte weiterhin sichtbar/lesbar/plotbar sein müssen.

Und bei der Lösung von CADmium (die Lisp saust ja nur so durch die Zeichnung, dass man's erst gar nicht merkt  ), ist besser dass die Eigenschaften der Texte vonLayer sind und man die Geschichte global erledigen kann (aber halt bei dieser Zeichnung leider nicht).

Ich trau mich gar nicht fragen, aber wäre es möglich, die Attribute auch mit auf den nicht zu druckenden Layer zu schieben?
Natürlich reicht die Sichtbarkeitseinstellung mit attmode auch aus, aber die Blöcke wären dann layermässig aufgeräumter...bzw. wären dann an die neu zu erstellenden Blöcke (dort haben Texte und Attribute einen gemeinsamen Layer z.B. 001-TXT) angeglichen.

Nochmal vielen Dank für die superschnelle Hilfe!

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