Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  attout im script und für verschachtelte blöcke

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
  
PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
Autor Thema:  attout im script und für verschachtelte blöcke (3201 mal gelesen)
carmelli76
Mitglied
CAD/GIS Teamleitung


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

Beiträge: 553
Registriert: 05.07.2004

Autodesk Civil 3D 2014
Revit 2016
Vault 2014

erstellt am: 16. Jan. 2009 01: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

Liebes Forum,

Wahrscheinlich geht es nicht, aber ich frage trotzdem:

Ich habe einen großen Satz Zeichnungen und muß daran immer mal Änderungen vornehmen, die sich hauptsächlich auf den Plankopf beziehen. Dieser Plankopf besteht aus einem Block, in dem ein weiterer Block verschachtelt ist. Der verschachtelte Block enthält Attribute, die Plankopfbeschriftung.
Nun will ich mittels Skripten, Scriptpro oder Cadwiesels super SCC2 die Plansätze möglichst effektiv bearbeiten... Dazu hatte ich mir nun den Befehlssatz attout/attin aus den Expresstools angeschaut. Diese Befehle gehen leider nur mit Dialogfenstern, soweit ich sehen kann. Ausserdem kann man sie nicht auf verschachtelte Blöcke anwenden.
Oder geht das alles irgendwie doch?
Ich kann leider die Blockverschachtelung nicht aufheben.

LG aus London

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

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

erstellt am: 16. Jan. 2009 07: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 Nur für carmelli76 10 Unities + Antwort hilfreich

Auch wenn es dir vielleicht nicht weiterhilft: Mit nem entsprechenden Lisp , das innerhalb des vom  SC generierten Scriptes aufgerufen wird, ließe sich die Sache bewerkstelligen.

------------------
  - 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

cad4fun
Ehrenmitglied



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

Beiträge: 1846
Registriert: 06.12.2004

privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit
HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM
ATI FirePro V (FireGL V) Graphics Adapter
Treiberversion: 15.201.1151.1008

erstellt am: 16. Jan. 2009 08:14    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 carmelli76 10 Unities + Antwort hilfreich

Und für die Zukunft überlegst Dir vielleicht eine andere Arbeitsweise.
Ein Block mit den variablen Texten(Attributen) wird eingefügt und der Rest des Plankopfes wird als Xref überlagert. Wenn Du dort eine Änderung hast, musst Du nur in der Quellzeichnung ändern und hast damit alle DWG's mit dieser Xref geändert.

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

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

erstellt am: 16. Jan. 2009 08:24    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 carmelli76 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von cad4fun:
Und für die Zukunft überlegst Dir vielleicht eine andere Arbeitsweise.
Ein Block mit den variablen Texten(Attributen) wird eingefügt und der Rest des Plankopfes wird als Xref überlagert. Wenn Du dort eine Änderung hast, musst Du nur in der Quellzeichnung ändern und hast damit alle DWG's mit dieser Xref geändert.


Auch das muß nicht immer 1. Wahl sein !!! Ohne die Hintergründe zu kennen, fällt es schwer bestimmte Arbeitsweisen zu beurteilen.
Ich arbeite z.B: aus gewissen Gründen nie mit Xrefs ..  nehme dann eher einen Blocktauscher, den ich per Script auf die gewünschten (und nur auf die) anwende.

------------------
  - 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

cad4fun
Ehrenmitglied



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

Beiträge: 1846
Registriert: 06.12.2004

privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit
HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM
ATI FirePro V (FireGL V) Graphics Adapter
Treiberversion: 15.201.1151.1008

erstellt am: 16. Jan. 2009 08:33    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 carmelli76 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADmium:

Ich arbeite z.B: aus gewissen Gründen nie mit Xrefs

Was sind die gewissen Gründe?
Ich arbeite extrem mit Xrefs - sind ja auch nur eine andere Form von Blockreferenz - und habe keine Probleme damit.

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: 22275
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 16. Jan. 2009 08: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 Nur für carmelli76 10 Unities + Antwort hilfreich

@carmelli76
Wegen "verschachtelter Attributblock" --> siehe Vorredner.. Das ist imho wirklich Schrott (praktischer Nutzen=null - falls dir etwas positives einfällt: erzähl doch mal)


Wegen Attin/Attout - Die Funktionen haben ja eigentlich garkein Dialogfeld !
Es wird ledeglich ein Datei-Wahl Dialogfeld genutzt und diese kann man ja
wie allseits bekannt mit zB. FILEDIA=0 umgehen.

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

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

erstellt am: 16. Jan. 2009 09: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 carmelli76 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von cad4fun:
Was sind die gewissen Gründe?
Ich arbeite extrem mit Xrefs - sind ja auch nur eine andere Form von Blockreferenz - und habe keine Probleme damit.

z.B.
Verschiedene Projekte, mit verschiedenen Projektständen ,die jeweils gleiche Blöcke in ebenfalls verschiedenen Ständen verwenden. Und das ganze jeweils archiviert.. dann müßte man entsprechend separat binden der so .. ginge auch.
Und man weiß ja nicht unbedingt immer, wo eine Zeichnung überall referenziert wird ( obwohl man das auch rausbekommt ..)

Wir gesagt, ich nehme da lieber einen Blocktauscher, den ich über eine Verzeichnis jage.

Meine Arbeisweise erfordert auch oft ein duplizieren von Blockdefinitionen , Referenzbearbeitung ,Variantenbildung usw. da wären Xrefs auch hinderlich.

------------------
  - 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

carmelli76
Mitglied
CAD/GIS Teamleitung


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

Beiträge: 553
Registriert: 05.07.2004

Autodesk Civil 3D 2014
Revit 2016
Vault 2014

erstellt am: 16. Jan. 2009 10: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

Vielen Dank fuer die Antworten.

@cad4fun: Diese Arbeitsweise hat Gruende, wir haben diese Vorgaben vom Kunden.

@cadffm: Attin/Attout Dialogfenster lassen sich nicht durch Filedia=0 ausschalten. Das hatte ich schon probiert. Ausser ich mach was falsch?

[Diese Nachricht wurde von carmelli76 am 16. Jan. 2009 editiert.]

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: 22275
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 16. Jan. 2009 12: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 Nur für carmelli76 10 Unities + Antwort hilfreich

Sorry, ist wohl schon länger her das ich damit was gemacht habe..
Aber attout/attin geht ja eh nicht mit verschachtelten Blöcken..

bns_attout / bns_attin nutzen (die Funktionen sind in Attout/Attin | ATTOUT.lsp | definiert)
schau auch mal hier: http://ww3.cad.de/foren/ubb/Forum54/HTML/013463.shtml# 

So könnte es im Script aussehen (habe mein Script von damals gerade nicht zur Hand):

; SCRIPT für ATTOUT --
(if (not c:bns_attout)(load "attout"))
(if (setq ss (ssget"_X"'((0 . "INSERT")(66 . 1))))(bns_attout (strcat(getvar"DWGPREFIX")(cadr(fnsplitl(getvar"DWGNAME")))".txt") ss))
(alert"!")

; SCRIPT für ATTIN --
(if (not c:bns_attout)(load "attout"))
(if (setq ATTINFILE(findfile(strcat(getvar"DWGPREFIX")(cadr(fnsplitl(getvar"DWGNAME")))".txt")))
  (if (equal 4 (logand 4 (getvar "cmdactive")))(bns_attin ATTINFILE nil)(bns_attin ATTINFILE T))
  (alert(strcat "Für Datei " (getvar"DWGNAME") " keine ATTIN-Datei gefunden!"))
)

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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

carmelli76
Mitglied
CAD/GIS Teamleitung


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

Beiträge: 553
Registriert: 05.07.2004

Autodesk Civil 3D 2014
Revit 2016
Vault 2014

erstellt am: 16. Jan. 2009 12:44    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

Das ist Super.
Danke fuer den Ansatz.

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

carmelli76
Mitglied
CAD/GIS Teamleitung


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

Beiträge: 553
Registriert: 05.07.2004

Autodesk Civil 3D 2014
Revit 2016
Vault 2014

erstellt am: 20. Jan. 2009 23: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

Hallihallo,

Ich bin gerade dabei und versuche das alles zusammenzuschreiben...
Habe erstmal scripte nur mit den routinen bsn-attout/bsn-attin erstellt, wie auch im link von cadfm beschrieben. Das funktioniert auch gut. Nur wenn ich das folgende verpackt in ein script in meiner zeichnung aufrufe, dann macht es zwar was ich will, ich bekomme jedoch die darunter genannte fehlermeldung, ohne dass ich nachvollziehen kann, warum und was sie tut:

(if (not c:bns_attout)
  (load "attout")
  )
(setq ss (ssget "_X" (list '(0 . "INSERT")'(66 . 1)(cons 8 (getvar "CLAYER")))))
(bns_attin "d:\\...\\test.txt" ss)


Reading the input file... Done.; error: bad argument type: numberp: nil


Weiterhin beschäftigt mich noch immer die Frage nach den verschachtelten Blöcken. Auch wenn ich das total hirnrissig finde, unser Kunde will es nun mal so... Könnt man theoretisch den Auswahlsatz mit den Blocknamen bestücken?

Vielen Dank.
LG aus London.

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: 22275
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 21. Jan. 2009 09:24    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 carmelli76 10 Unities + Antwort hilfreich

Verschachtelte Blockreferenzen werden von Attin/Attout nunmal nicht berücksichtigt,
das wirst du so schnell bzw. nicht selbst ändern können.

EATTEXT kann verschachtelte Blöcke - das Ergebnis kann man aber in Acad nicht mehr einlesen
(falls das nicht nötig ist - würde es also funktionieren)

Hier minimal geändert: bns_attout wird nur ausgeführt wenn Blöcke mit Attributen
gefunden wurden und die Fehlermeldung sollte nun auch nicht mehr auftreten:

Code:
(if (not bns_attout)(load "attout"))
(setq #bns_attin_modified 0)<-- wegen der Fehlermeldung muß dies noch rein
(if (setq ss (ssget "_X" (list '(0 . "INSERT")'(66 . 1)(cons 8 (getvar "CLAYER")))))
(bns_attin "d:\\...\\test.txt" ss)
)

achso und bei Attout bitte auch den Anfang ändern:
;ScriptPart für ATTOUT --
(if (not bns_attout)(load "attout"))
(if (setq...usw.


@Carmelli - schau die nächste Zeit mal nach deinen PM´s  

------------------
die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk)

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)2024 CAD.de | Impressum | Datenschutz