Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Möglichkeiten bei der Blockerstellung (Blockplatzhalter, Attribute, Schriftfelder...)

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:  Möglichkeiten bei der Blockerstellung (Blockplatzhalter, Attribute, Schriftfelder...) (1456 mal gelesen)
PB2
Mitglied


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

Beiträge: 5
Registriert: 09.08.2016

Windows 10 (32-bit)
Autocad Architecture 2008

erstellt am: 07. Aug. 2017 19: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


BSK_Block.zip

 
Einen schönen guten Abend!

Ich habe eher ein paar allgemeine Fragen, als ein spezielles Problem, mit denen ich mich an euch richte. Mittlerweile habe ich doch schon eine ganze Menge Beiträge hier im Forum, aber auch extern durchforstet. Einige Unstimmigkeiten konnte ich dadurch schon lösen, aber bei einigen Dingen bin ich doch noch etwas ratlos. Darum mein Post hier im Forum.

Derzeit erstelle ich diverse Blocksymbole, die zur Kennzeichnung für Bauteile in der Elektro- und Lüftungstechnik fungieren sollen. Allerdings zielen meine Fragen eher auf den allgemeinen Umgang von Blöcken mit Attributen und die Nutzung von Schriftfeldern ab.

Beispielsweise habe ich das Symbol einer Brandschutzklappe als dynamischen Block angelegt (Name: BSK), wobei sich hier die grafische Darstellung je nach Bautyp unterscheidet (motorsteuerung, thermische Steuerung...). Soweit auch noch kein Problem. Da aber das Exportieren der Attribute ("attout") etwas kompliziert ist, wegen der Einzelbenennung als "*Uxxx" statt des Blocknamens "BSK" ausgegeben wird, möchte ich ein zusätzliches Attribut einfügen. Dieses soll sich aus zwei Teilen zusammensetzen: Zum einen aus dem Namen des Blocks & dem Attribut für die Nummer der Klappe.
Dafür habe ich ein neues Attribut erstellt, welches als Vorgabe zwei Schriftfelder besitzt.
1. Schriftfeld > Objekte > Blockplatzhalter > Name = "EffectiveName"
2. Schriftfeld > Objekte > Objekt > Attribute definieren > Wert (hier habe ich als Referenz eben das Attribut ausgewählt, in dem die Nummer der Klappe manuell eingegeben werden soll)

Problem: Das zweite Schriftfeld aktualisiert sich nicht auf eine eingegebene Nummer, auch nicht nach syncronisierung im battman oder attsync

Um es jetzt vielleicht nicht übermäßig kompliziert zu machen hier die Frage: Lässt sich ein Schriftfeld einfügen, indem ich über Andere>Diesel-Ausdruck oder eine LispVariable den Attributwert abrufen kann? Gibt es eine Systemvariable, die mir den Wert eines definierten Attributs vom jeweiligen Blockplatzhalter zurückgibt?


Darüber hinaus. Es ist mit ADT möglich, beispielsweise eine Tür mit dem zugehörigen Raum zu verknüpfen. Dadurch lassen sich Attribute wie Raumnummern o.ä. synchron halten. Diesen Weg kann ich leider nicht gehen, da verschiedene Fachplaner mit den Zeichnungen arbeiten. Existiert ein möglicher Workaround, durch den ich ein Attribut bei der Erstellung des Blocks 1x mit einem anderen Block verknüpfe? Sodass eine Raumnummer nur noch im Raumstempel und nicht mehr in allen zugehörigen Symbolen verändert werden muss?

Ich sage schon mal vielen Dank im Voraus. Falls meine Erklärung zu wirr sein sollte, bitte ich um Rückfragen.

---
Autocad Architecture 2008

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

System: F1
und Google

erstellt am: 07. Aug. 2017 20: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 PB2 10 Unities + Antwort hilfreich

Warum Attout und nicht eattext/datenextrakt?
Dann ist auch der annonyme Blockname kein Problem mehr.

Auf Werte späterer Attribute kannst du kein Schriftfeld in der Blockdefinition  verlinken (wenn und aber mal beiseite gelassen).
Workarounds gibt es einige, aber so geradlinig wie gewünscht nicht.


Nach deiner Beschreibung ist dies aber auch nicht zwingend nötig, wenn Blockname und Attributwert in einem Datensatz des Exports steht, dann hast du ja alle nötigen Infos zusammen.

Die Sache mit der Raum/Türinfo ist ein ähnliches Thema.
Nachdem Blockreferenzen erstellt wurden kann man ein Schriftfeld erstellen welches auf die (jetzt existierenden) Attribute einer Blockreferenz zugreift.
Schriftfeld erstellen, Objekt, Blockreferenz wählen, Attribut auswählen, fertig.

Diese Verlinkungen sind mühsam und man kann sich dafür die entsprechenden Werkzeuge besorgen, zwei Klicks (Türattribut und Raumstempelattribut) &fertig.

BTW: Interessant das ihr Daten von Fachplanern weiterverarbeiten müsst, für gewöhnlich arbeitet nur der Architekt in der ARC Datei.
Dann würden man ACA Funktionalitäten nutzen können und die anderen Fachplaner bekommen nur einen DWGEXPORT, also dumme Daten um diese als XRef unter die TGA etc zu legen.

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

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

PB2
Mitglied


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

Beiträge: 5
Registriert: 09.08.2016

Windows 10 (32-bit)
Autocad Architecture 2008

erstellt am: 08. Aug. 2017 11:20    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

Vielen Dank für deine Antwort!

Die Datenextraktion kannte ich noch gar nicht. Bisher wurde alles über attin/attout geregelt. Jetzt habe ich ein bischen damit rumgespielt und ja, die Dynamischen Blocknamen werden richtig ausgegeben. Nur ist der spätere Datenimport bisher noch nicht möglich gewesen. Es gibt ja doch sehr unterschiedliche Formatierungen zwischen attout oder Datenextrakt. Wie gesagt ist mir diese Möglichkeit noch neu, vermutlich gibts dazu auch schon Hilfe.

Schriftfelder in neu eingefügten Blöcken mit Stempeln o.ä. verknüpfen klappt auch. Hier trau ich mir auch ein DIESEL Macro zu, mit dem ich schneller Verknüpfungen anlegen kann. Dazu nur noch eine Frage: Lässt sich der Schriftfeldausdruck hier auch direkt in ein Macro einbauen, ohne die drei Reiter abzuarbeiten? Ich denke hierbei vor allem an so etwas wie "self.name" oder "self.attribute.ID" wie es in python aussehen würde?
Das wäre eben das sparsame, ein Schriftfeld mit der Information zum Eigennamen und nicht mit dem Namen des Objekts #2591, welches ich selber bin.

Wie würde denn eigentlich der Ausdruck für $(getvar, IDvonObjektBSK#2591) aussehen?

---

Zitat:
BTW: Interessant das ihr Daten von Fachplanern weiterverarbeiten müsst, für gewöhnlich arbeitet nur der Architekt in der ARC Datei.
Dann würden man ACA Funktionalitäten nutzen können und die anderen Fachplaner bekommen nur einen DWGEXPORT, also dumme Daten um diese als XRef unter die TGA etc zu legen.

Das liegt daran, dass ich derzeit nicht auf der Architektenseite stehe, sondern auf Fachplanerseite. Passiert manchmal

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

System: F1
und Google

erstellt am: 08. Aug. 2017 12:12    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 PB2 10 Unities + Antwort hilfreich

Export: Schön, nun kennst du eine neue Funktion von AutoCAD, von Import wurde zuvor nichts geschrieben,
denn dabei hätte ich gleich das ABER eingelegt.

AutoCAD bietet keinerlei Funktionen zum import, die uralte ATTOUT/ATTIN Geschichte kommt durch
die Expresstools welche früher (bis heute) eine kostenlose Dreingabe war um den Funktionsumfang
zu erhöhen. Zwischenzeitlich wollte man dafür auch mal Geld kassieren.
Diese Tools wurden nie weiterentwickelt, aber Stück für Stück ünernimmt man die Funktionen
in das eigentliche Programm (Attin/Attout bisher jedoch nicht).

Kurz: Wer Daten exportieren, ggf. bearbeiten und importieren möchte, der sollte sich
entsprechend nach einer leistungsstarken oder zumindest "sicheren" Programmerweiterung umsehen.

Anm1: Eine richtige Lösung für "Datenextraktion importieren" gibt es nicht.

Anm2: Ein Import würde aber auch die Schriftfelder in den Attributen zerstören und durch
      dummen Text ersetzen?!

-

"Schriftfelder in neu eingefügten Blöcken mit Stempeln o.ä. verknüpfen klappt auch.
Hier trau ich mir auch ein DIESEL Macro zu, mit dem ich schneller Verknüpfungen anlegen kann."

Das kann mit AutoCAD-Befehlen nicht funktionieren da es keine Befehle gibt zum ermitteln der notwendigen ObjectID. *1

"Lässt sich der Schriftfeldausdruck hier auch direkt in ein Macro einbauen, "

Nur wenn man den vollständigen Schriftfeldcode kennt und das ist hier nicht der Fall.
*1

"Wie würde denn eigentlich der Ausdruck für $(getvar, IDvonObjektBSK#2591) aussehen?"
Mit der Frage kann ich recht wenig anfangen? Eine ObjektId ist nur am Objekt selbst zu ermitteln und dafür gibt es keine Befehle.
*1


*1
Bei Autmatisieren und Schriftfeld(code) benötigt dann schon etwas Programmierung in welcher Sprache auch immer,
damit sind LT-Versionen schon mal raus. In Makros (nur mit AutoCAD-Befehlen) kann man maximal Schriftfelder
erstellen welche "komplett fertig" sind und da auch nur durch den Ablauf in einem AutoCAD-Script(*.scr),
weil man in einem Makro keine Backslashs übergeben kann.

Mit VBA/NET/Lisp würde es funktionieren, dann auch komplett mit ObjecID Ermittlung etc.
Hier mal ein Beispiel: http://forum.cad.de/foren/ubb/Forum54/HTML/032566.shtml

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

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

PB2
Mitglied


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

Beiträge: 5
Registriert: 09.08.2016

Windows 10 (32-bit)
Autocad Architecture 2008

erstellt am: 08. Aug. 2017 19: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

Hallo.

Nochmals vielen Dank.
Ich dachte es ließe sich etwas einfaches zusammenbasteln durch das wir weiterkommen. Zumindest schien mir das durch meine Kenntnisse möglich. Aber ja, jetzt sehe ich, dass es sich nicht so ohne weiteres on-the-fly umsetzten lässt. Daten exportieren/bearbeiten/importieren scheint wirklich nur durch externe Plugins zu funktioniern. Schade. Auch wenn es an der veralteten Version liegen mag, ich dachte nicht, dass dies so stiefmütterlich implementiert ist.
Danke für deine 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