| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Datenextraktion automatisieren (7741 mal gelesen)
|
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 25. Apr. 2014 11:52 <-- editieren / zitieren --> Unities abgeben:
Hallo ihr lieben, wir arbeiten viel mit Blöcken, jeder Block hat 2 Attribute: Name und Nummer. Ich möchte gerne für die Kollegen die Datenextraktion automatisieren. Mit Klick auf ein Button soll die Anzahl aller Blöcke (oder ausgewählter) in eine Excel-Datei geschrieben werden. Das bekomme ich leider nicht hin. Ich kann zwar eine .dxe-Datei speichern, aber die bezieht sich immer auf die Blöcke, mit denen sie erstellt wurde. Am einfachsten wäre es, wenn der Benutzer die Blöcke auswählen kann, das kann man aber scheinbar auch nicht in die dxe speichern. Hat jemand eine Idee, wie ich die Datenextraktion vereinfachen kann, so das man sich nicht jedes Mal durch das Menü klicken muss? LG Sally1801 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
alterHausmeister Mitglied Hausmeister
Beiträge: 470 Registriert: 02.02.2009
|
erstellt am: 25. Apr. 2014 14:18 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Ich mache das hier so, dass die betreffenden Blöcke thematisch auf Layern sortiert sind und dann auf Knopfdruck die gewünschten Blöcke ausgelesen werden. Es entsteht eine CSV (ist ja auch nur Text) und die lese ich aus Excel über ein Macro wieder ein und sortiere es entsprechend. Ist das der Gedankengang?
------------------ lg, der Hausmeister ___________________________________________________________ Solange Kakaobohnen an Bäumen wachsen, ist Schokolade Obst. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 25. Apr. 2014 14:36 <-- editieren / zitieren --> Unities abgeben:
|
alterHausmeister Mitglied Hausmeister
Beiträge: 470 Registriert: 02.02.2009
|
erstellt am: 25. Apr. 2014 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
So (mit freundlicher Unterstützung des Forums irgendwann mal zusammengeklöppelt ;-) ) ^C^C-layer;se;<Layer_der_Blöcke_einsetzen>;fr;*;;(if (not c:bns_attout) (load "attout"));(setq ss (ssget "_X" (list '(0 . "INSERT")'(66 . 1)(cons 8 (getvar "CLAYER")))));(bns_attout "c:/temp/<Dateiname_einsetzen>.txt" ss) -layer;_t;*;; Letztendlich wird eine Auswahl der Elemente auf einem Layer erstellt und alles mit ATTOUT ausgelesen.
------------------ lg, der Hausmeister ___________________________________________________________ Solange Kakaobohnen an Bäumen wachsen, ist Schokolade Obst. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 25. Apr. 2014 15:13 <-- editieren / zitieren --> Unities abgeben:
|
alterHausmeister Mitglied Hausmeister
Beiträge: 470 Registriert: 02.02.2009
|
erstellt am: 25. Apr. 2014 15:16 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
... habe ich noch nicht probiert ... versuch es und berichte. ;-) Mein Hintergedanke bei dieser Verfahrensweise ist, dass ich die Listen in Excel überarbeite/vervollständig und dann zurücklese. Bisher funktioniert das super.
------------------ lg, der Hausmeister ___________________________________________________________ Solange Kakaobohnen an Bäumen wachsen, ist Schokolade Obst. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 25. Apr. 2014 15:20 <-- editieren / zitieren --> Unities abgeben:
|
alterHausmeister Mitglied Hausmeister
Beiträge: 470 Registriert: 02.02.2009
|
erstellt am: 25. Apr. 2014 15:25 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Ruhig, ganz ruhig! DAS ist der ganze Befehl, der auf den Gnobb gelegt wird. Trage dort doch DEINE Werte ein, wo ich <Layer_der_Blöcke_einsetzen> und <Dateiname_einsetzen> reingeschrieben habe. Sollte funktionieren ...
------------------ lg, der Hausmeister ___________________________________________________________ Solange Kakaobohnen an Bäumen wachsen, ist Schokolade Obst. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 25. Apr. 2014 15:41 <-- editieren / zitieren --> Unities abgeben:
Ja entschuldige, ich bin so ungedulgig, dieses Thema raubt mir echt den letzten Nerv :P Bei mir läuft das leider nicht: Aktueller Layer: "Defpoints" Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIn/AUs/FArbe/Ltyp/LStärke/TRansparenz/MATerial/Plot/FRieren/TAuen/SPerren/ENtsperren/STatus/Beschreibung/ABstimmen]: se Namen des zu aktivierenden Layers eingeben oder <Objekt wählen>: 0 Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIn/AUs/FArbe/Ltyp/LStärke/TRansparenz/MATerial/Plot/FRieren/TAuen/SPerren/ENtsperren/STatus/Beschreibung/ABstimmen]: fr Namensliste der Layer für einfrieren eingeben oder <Objekte wählen>: * Kann den Layer "0" nicht frieren, da es der AKTUELLE Layer ist. Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIn/AUs/FArbe/Ltyp/LStärke/TRansparenz/MATerial/Plot/FRieren/TAuen/SPerren/ENtsperren/STatus/Beschreibung/ABstimmen]: Befehl: (if (not c:bns_attout) (load "attout")) ; Fehler: Fehler bei LOAD: "attout" Befehl: (setq ss (ssget "_X" (list '(0 . "INSERT")'(66 . 1)(cons 8 (getvar "CLAYER"))))) <Selection set: 23a2> Befehl: (bns_attout "c:/temp/test.txt" ss) ; Fehler: no function definition: BNS_ATTOUT Befehl: -layer Aktueller Layer: "0" Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIn/AUs/FArbe/Ltyp/LStärke/TRansparenz/MATerial/Plot/FRieren/TAuen/SPerren/ENtsperren/STatus/Beschreibung/ABstimmen]: _t Namensliste der Layer für auftauen eingeben* Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIn/AUs/FArbe/Ltyp/LStärke/TRansparenz/MATerial/Plot/FRieren/TAuen/SPerren/ENtsperren/STatus/Beschreibung/ABstimmen]:
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
alterHausmeister Mitglied Hausmeister
Beiträge: 470 Registriert: 02.02.2009
|
erstellt am: 25. Apr. 2014 15:46 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Ich gehe mal davon aus, dass Deine EXPRESS-TOOLS nicht installiert sind? ------------------ lg, der Hausmeister ___________________________________________________________ Solange Kakaobohnen an Bäumen wachsen, ist Schokolade Obst. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 25. Apr. 2014 15:48 <-- editieren / zitieren --> Unities abgeben:
Ahhhh, ok, das ist eine ganz neue Installation, habe die Express-Tools noch nicht installiert! Hole ich nach und werde es testen! Aber jetzt gehts doch erst mal ins Wochenende...vielen Dank schon mal bis hierher Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 25. Apr. 2014 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
|
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 28. Apr. 2014 16:23 <-- editieren / zitieren --> Unities abgeben:
So, habe die ET installiert, jetzt läuft es einigermaßen. Meine Fragen: Kann man den Befehl so umändern, das immer alle Blöcke von allen Layern berücksichtigt werden?!? Und ein anderes Problem ist, dass die Blöcke nicht summiert, sondern "nur" untereinander geschrieben werden. Verschachtelte Blöcke werden scheinbar auch nicht berücksichtigt. Es ist wirklich schwer zu diesem Problem eine gute Lösung zu finden. Ich versuche es jetzt per VBA mit "getattributes", aber da ist auch noch nichts brauchbares rausgekommen. -EATTEXT liefert eindeutig das beste Ergebnis, läßt sich aber leider nicht automatisieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 29. Apr. 2014 09:17 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Du hast ja nun die Funktionen ATTIN und ATTOUT, diese sind zum einen dokumentiert, aber man kann ja auch einfach dem Befehlszeilendialog folgen und schauen ob man zum Ziel kommt. Aber vorab: Verschachtelten Referenzen gehen nicht, von daher kannst du wohl gleich wieder aufhören zu testen. Hinweis zu -EATTEXT: die "gleiche Zeilen zusammenfassen" Option, zusammen mit der Zählerspalte funktioniert NICHT fehlerfrei ! Lösung: Du wirst wohl nur glücklich werden wenn du ein extra Programm dafür besorgst welches deine Anforderung erfüllt, mit Boardbefehlen kommst du da nicht weiter. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 29. Apr. 2014 14:25 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für diese Info, dann fällt EATTEXT wohl auch aus...schade Es gibt bestimmt eine Lösung per VBA, dafür reichen meine Kenntnisse nur leider nicht ganz aus...mal sehen, wie weit ich komme. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 29. Apr. 2014 15:53 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Entschuldigung aber ICH KANNS NICHT MEHR SEHEN So, jetzt geht besser. Attributwerte von ALLEN Blöcken (auch verschachtelte) in eine Tabstoppgetrennte Textdatei und auch wieder zuück. Bitte sehr: Code: (defun k_purge_list (liste / dummy_list ent) (foreach ent liste (if (not (member ent dummy_list)) (setq dummy_list (cons ent dummy_list)) ) ) (reverse dummy_list) )(defun c:att_out_all (/ ATT_LIST DATA DATA_LIST FILE OBJ SPALTE SPALTEN_LIST TXT ZEILEN_LIST ) (vl-load-com) (vlax-for blk_name (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)) ) (vlax-for obj_name blk_name (if (= (vla-get-ObjectName obj_name) "AcDbBlockReference") (if (and (vlax-property-available-p obj_name "hasattributes") (= (vla-get-hasattributes obj_name) :vlax-true) (not (minusp (vlax-safearray-get-u-bound (vlax-variant-value (vla-getattributes obj_name) ) 1 ) ) ) ) (setq att_list (mapcar '(lambda (obj) (list (vla-get-tagstring obj) (vla-get-textstring obj) ) ) (vlax-safearray->list (vlax-variant-value (vla-getattributes obj_name) ) ) ) data_list (cons (append (list (list "Handle" (vla-get-Handle obj_name)) (list "Blockname" (vla-get-Name obj_name)) ) att_list ) data_list ) ) ) ) ) ) (if data_list (progn (setq spalten_list (k_purge_list (mapcar 'car (apply 'append data_list)) ) zeilen_list (mapcar '(lambda (data) (subst "" nil (mapcar '(lambda (spalte) (cadr (assoc spalte data)) ) spalten_list ) ) ) data_list ) zeilen_list (cons spalten_list zeilen_list) ) (setq file (open (strcat (getvar "dwgprefix") "att.txt") "w")) (foreach zeile zeilen_list (write-line (substr (apply 'strcat (mapcar '(lambda (txt) (strcat "\t'" txt)) zeile) ) 2 ) file ) ) (close file) ) ) (princ) ) (defun c:att_in_all (/ DAT DATA DATA_LIST FILE OBJ_NAME SPALTEN_LIST SPALTEN_TXT ZEILE ZEILEN_LIST ) (defun txt->list (txt z / C_LIST TXT_LIST) (foreach c (vl-string->list txt) (if (= c (ascii z)) (setq txt_list (cons (vl-list->string (reverse c_list)) txt_list) c_list nil ) (setq c_list (cons c c_list)) ) ) (setq txt_list (cons (vl-list->string (reverse c_list)) txt_list) ) (setq txt_list (reverse txt_list)) ) (vl-load-com) (setq file (open (strcat (getvar "dwgprefix") "att.txt") "r")) (while (setq zeile (read-line file)) (setq zeilen_list (cons zeile zeilen_list)) ) (close file) (setq zeilen_list (reverse zeilen_list) spalten_txt (car zeilen_list) zeilen_list (cdr zeilen_list) spalten_list (txt->list spalten_txt "\t") data_list (mapcar '(lambda (zeile) (mapcar 'list spalten_list (txt->list zeile "\t")) ) zeilen_list ) ) (setq data_list (mapcar '(lambda (data) (mapcar '(lambda (dat) (list (vl-string-left-trim "\'" (car dat)) (vl-string-left-trim "\'" (cadr dat)) ) ) data ) ) data_list ) ) (foreach data data_list (setq obj_name (vla-handletoobject (vla-get-activedocument (vlax-get-acad-object)) (cadr (assoc "Handle" data)) ) ) (if (= (vla-get-ObjectName obj_name) "AcDbBlockReference") (if (and (vlax-property-available-p obj_name "hasattributes") (= (vla-get-hasattributes obj_name) :vlax-true) (not (minusp (vlax-safearray-get-u-bound (vlax-variant-value (vla-getattributes obj_name) ) 1 ) ) ) ) (foreach obj (vlax-safearray->list (vlax-variant-value (vla-getattributes obj_name) ) ) (vla-put-textstring obj (cadr (assoc (vla-get-tagstring obj) data)) ) ) ) ) ) (princ) )
Aufruf mit att_out_all bzw. att_in_all
Nicht bis ins Allerkleinste ausgetestet aber lauffähig. Wer Lust hat kanns ja weiter ausbauen. Viel Spaß damit, ich will aber kein Gejammer mehr hören.
------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 29. Apr. 2014 16:30 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Zitat: Original erstellt von Andreas Kraus: ich will aber kein Gejammer mehr hören.
Dann ist das hier nur eine kleine Erklärung in Zusammenhang mit dem Thread, KEIN GEJAMMER! a) Es werden Modellbereich UND LAYOUTS ausgelesen b) es gibt keine "Stücklistenfunktion" c) Da eine verschachtelte Blockreferenz tatsächlich nur einmal existiert, aber unter Umständen mehrfach(zB. 12x) angezeigt wird, so wird diese auch nur einmal ausgewertet (statt 12x) ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 29. Apr. 2014 17:37 <-- editieren / zitieren --> Unities abgeben:
Glaube mir, mein eigenes Gejammer geht mir auch schon auf die Nerven...aber so traut man sich ja gar nicht mehr etwas anzumerken. Der Code ist (auf die Schnelle getestet) nicht schlecht. Allerdings werden Blöcke, die 2 Sichtbarkeiten enthalten, doppelt gezählt und somit kann ich auch diesen Code nicht verwenden. Oder ich mache etwas falsch, kann natürlich auch sein...Ich werde mir das morgen noch mal genauer anschauen. Danke schon mal!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 29. Apr. 2014 20:46 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Ja klar ist da noch was dran zu machen. Ich habs ja auch einfach nur mal mal dreckig runtergetippt und auch dazugeschrieben das, wer Lust hat, das Ding weiter ausbauen kann. Vorschlag: Wenn hier eine "Wunschliste" zusammenkommt, setz ich mich hin und tipp das. Aber bitte nicht übertreiben. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 29. Apr. 2014 21:55 <-- editieren / zitieren --> Unities abgeben:
Das Skript ist echt schon ganz nah an dem, was ich mir schon seit Jahren wünsche! Für mich ist wichtig: - Verschachtelte Attribute auslesen (das funktioniert ja generell schon!) - Bei Blöcken mit mehreren "Sichtbarkeiten" immer nur die sichtbaren Block-Attribute auslesen (falls das möglich ist?!?) - Nur Blöcke im Modellbereich berücksichtigen - ein "Nice-To-Have" wäre noch, wenn wenn man wählen könnte, ob alle Blöcke oder nur eine Auswahl berücksichtigt werden sollen Das sind meine Voraussetzungen dafür, dass ich das Skript nutzen kann...ich habe keine Ahnung, wie viel Arbeit das noch bedeutet und ob es möglich ist! Ich möchte nicht unverschämt rüber kommen Ich finde es aber sensationell, wenn sich manchmal so große Probleme durch einen Forumsbeitrag lösen lassen. Ich habe mit diesem und anderen Themen auch schon Experten beauftragt, leider des öfteren mit mäßigem oder unzureichendem Erfolg, dafür aber ganz großen Rechnungen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 29. Apr. 2014 22:56 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Zitat: Original erstellt von Sally1801: ... Ich habe mit diesem und anderen Themen auch schon Experten beauftragt, leider des öfteren mit mäßigem oder unzureichendem Erfolg, dafür aber ganz großen Rechnungen!
Dann waren es keine Experten. Deine Aufgabe ist sicher lösbar, auch das Auslesen, der nur über den Sichtbarkeitsstatus sichtbaren Attribute. Das ist sicher nicht ganz einfach und da die dynam. Blöcke intern abscheulich gemanagt sind, sicher auch tricky. Ein recht altes Tool, was sicher nicht alle deiner Wünsche erfüllt, ist das DT-INSERT-ATTS. www.d-tools.eu Schau dir mal die Doku an, wenn das grundsätzlich interessant wäre, solltest du mir eine Mail schicken, da wir die Tools derzeit intern überarbeiten. Dann könnte man das vorziehen und vielleicht auch das, was aus deiner Sicht fehlt, einarbeiten. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 30. Apr. 2014 11:33 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
OK Ich hab mir mal folgende Auswahlmöglichkeiten notiert: verschachtelt ja/nein Objektwahl/alle nur Modell/Papierbereichlayouts/alle Blockwahl (nur bestimmte Blöcke)/alle Attributwahl (nur bestimmte Attribute)/alle nur sichtbare/alle (nach Sichtbarkeitsparameter und Attribut-Sichtbarkeit getrennt ?) Dialogfeld zum Einstellen kann auch "übersprungen" werden um die gemachten Einstellungen (ohne vorherigen Dialog) zu verwenden Zählung der Blöcke mit Berücksichtigung dass verschachtelte auch mehrfach sichtbar auftauchen Wahlmöglichkeit wie Blöcke gezählt werden (nur tatsächliches Vorkommen, also einmal/jedes sichtbare Vorkommen) Meldung wenn Daten aus Excel keine Objekte mehr finden (Objekt gelöscht) Heute schaff ich das nicht mehr, aber bis nächste Woche sollte das laufen (hoffe ich) ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 30. Apr. 2014 13:11 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 30. Apr. 2014 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Zitat: Original erstellt von Sally1801: dann gebe ich den Glauben an die AutoCAD-Möglichkeiten doch noch nicht auf!
Brischke hat es oben ja schon mal angesprochen: Das ist überhaupt kein Problem, wenn ein "Profi" Geld dafür nimmt und das nicht hinbekommt - dann ist er eben (auf dem Gebiet) doch nicht so sehr "Profi". So ein Tool hier kostenfrei zur Verfügung zu stellen ist aber freilich was Besonderes, zumindest nichts selbstverständliches. Zitat: Original erstellt von Sally1801: Ganz nach dem Motto: Geht nicht, gibt's nicht
Ganz genau ! Wenn ein Anwender diese Aussage macht, dann ist dem zu 99,9% nichts entgegen zu setzen. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 2966 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 30. Apr. 2014 14:13 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Zitat: Original erstellt von cadffm:
Ganz genau ! Wenn ein Anwender diese Aussage macht, dann ist dem zu 99,9% nichts entgegen zu setzen.
Immer mit eine Sache der Richtigen Problembeschreibung ( eine gute und auch durchdachte Beschreibung sind schon 80% ) und dem was sich lohnt an Aufwand hinein zu stecken cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 30. Apr. 2014 15:50 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Ich muss mich mal selbst wieder etwas auf den Boden holen. Zitat: So ein Tool hier kostenfrei zur Verfügung zu stellen ist aber freilich was Besonderes, zumindest nichts selbstverständliches.
Klar, aber ich hab ja auch was davon. Ich hab sowas in der Art zwar hier schon in Gebrauch, aber das mit den Sichbarkeitsparametern hatte ich z.B. noch nicht berücksichtigt. Und ab und zu brauch ich was zu basteln. Irgend eine Idee auf die ich selbst noch nicht gekommen bin. Und wenn ich hier schon was finde wo ich denke "gute Idee, das will ich haben" und das ist brauchbar, dann stell ichs auch hier rein. Außerdem hab ich schon so oft hier geholfen bekommen, da bin ich froh wenn ich mal so richtig was zurückgeben kann. Lebt das WBF nicht von genau dieser Idee ? ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 05. Mai. 2014 09:36 <-- editieren / zitieren --> Unities abgeben:
Ich finde es toll, wenn Foren, wie dieses, funktionieren. Es ist nur schade, dass man sich meist nicht bei der Person, die einem hilft, revanchieren kann. Aber sollte dir etwas einfallen, sag mir Bescheid Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 2966 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 05. Mai. 2014 14:24 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Zitat: Original erstellt von Sally1801: Ich finde es toll, wenn Foren, wie dieses, funktionieren. Es ist nur schade, dass man sich meist nicht bei der Person, die einem hilft, revanchieren kann. Aber sollte dir etwas einfallen, sag mir Bescheid
geb Ihm auf der nächsten Messe ein Bier / Kaffee aus ;-) ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 05. Mai. 2014 15:55 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
So... ich habs mal durchgecheckt. Bei mir funktioniert es. Das Dialogfeld muss ich noch hübscher machen und vielleicht wäre es sinnvoll irgendwelche "Grundeinstellungen" festzulegen. Bitte mal ausprobieren und Melden wenn irgendwas nicht geht, oder was fehlt, oder oder ... Ich hab sicher nicht alle Eventualitäten durchprobiert, irgendwas ist ja immer. Ach ja, die Funktionsnamen: att_out_dlg = Dialogfeld für die Einstellungen und anschließend att_out att_out = die Funktion zum Attribute auslesen in die Textdatei att_in = die Funktion zum Einlesen der Textdatei "in die ATTribute" Da fällt mir grade ein ... ein Speichern bzw. Laden-Dateiwahl-Dialog fehlt noch. Aber ich warte erst mal die Rückmeldungen ab. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 05. Mai. 2014 16:35 <-- editieren / zitieren --> Unities abgeben:
Muss ich das Programm anders laden, als zuvor? Ich habe die .LSP-Datei geladen, allerdings passiert "nichts", bzw. die ATT.txt in "Dokumente" wird nicht aktualisiert, wenn ich ATT_OUT eingebe. Bei ATT_OUT_DLG kommt foglendes: Befehl: ATT_OUT_DLG ; Fehler: quit / beenden abbrechen Muss ich die .DCL-Datei auch irgendwie laden? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 05. Mai. 2014 16:43 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Die DCL muss in einem Supportpfad liegen, sonst wird sie nicht gefunden. Die att_out macht nichts weil die Einstellungen fehlen. Deshalb denke ich dass gewisse "Grundeinstellungen" gut wären. Aber welche ??? ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 05. Mai. 2014 16:52 <-- editieren / zitieren --> Unities abgeben:
|
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 05. Mai. 2014 17:06 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
|
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 05. Mai. 2014 17:12 <-- editieren / zitieren --> Unities abgeben:
Jetzt kann ich das Dialogfesnter aufrufen, sieht schon super aus. Allerdings kommt danach folgender Fehler: Befehl: ATT_OUT_DLG Objekte wählen: Entgegengesetzte Ecke angeben: 1 gefunden Objekte wählen: ; Fehler: no function definition: K_SATZ->ENTLIST Befehl: Ich muss jetzt leider weg, vielleicht habe ich aber später heute abend noch mal Zeit zum Testen, bin ja schon extrem gespannt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 05. Mai. 2014 17:16 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Mist, doch noch was übersehen. Mach ich nachher noch (ca. 19:00) Ja ja, der Montag. Die ersten fünf Tage nach dem Wochenende sind die schlimmsten. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 05. Mai. 2014 20:04 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
|
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 05. Mai. 2014 22:58 <-- editieren / zitieren --> Unities abgeben:
|
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 06. Mai. 2014 10:03 <-- editieren / zitieren --> Unities abgeben:
Ich bin ja so glücklich, es läuft und läuft und macht ganz einfach das, was ich will ) Ich hätte noch einen letzten Wunsch, weil du gefragt hattest, wie die Grundeinstellungen aussehen sollten. Hiermit kann ich am besten arbeiten: siehe Bild. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 06. Mai. 2014 10:52 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
|
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 06. Mai. 2014 11:32 <-- editieren / zitieren --> Unities abgeben:
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 2966 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 06. Mai. 2014 11:34 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
;-) vergess das Bier nicht ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 06. Mai. 2014 11:37 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 06. Mai. 2014 12:01 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
baue den Dateinamen anders auf: (setq file (open (strcat (getvar "dwgprefix") (getvar "dwgname") "_att.txt") "w"))
(setq file (open (strcat (getvar "dwgprefix") (getvar "dwgname") "_att.txt") "r"))
(und nein, aber hier enthalte ich mich mit Vorschlägen ) ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 06. Mai. 2014 12:14 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Ja ja ... Speichern und Laden-Dialog hab ich ja schon angesprochen. Kommt noch, schaff ich aber heute wahrscheinlich nicht (mal sehn) Hier und da und dort ist sowieso noch ein bisschen Kosmetik nötig. Aber Hauptsache das Ding läuft erst mal, schön und Benutzerfreundlich kommt dann. Wär auch hilfreich Rückmeldungen von anderen zu bekommen. Je mehr ich berücksichtigen kann, desto besser wird es. (hoffentlich) ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 06. Mai. 2014 16:01 <-- editieren / zitieren --> Unities abgeben:
Ich hoffe es ist ok, wenn ich noch mal etwas nachfrage Schau dir mal den Block im Anhang an, der ist mehrfach verschachtelt. Wenn der Block auf Sichtbarkeit "Rechteck" gestellt ist, dann dürfte auch nur das Rechteck ausgezählt werden. Allerdings zählt er dann den kleinen Kreis, der sich eine Ebene tiefer (und nur in Sichtbarkeit "Kreis") befindet, mit. Ich hoffe das war einigermaßen verständlich ausgedrückt. Das Ergebnis sollte sein: Sichtbarkeit Kreis -> Kreis_gross + Kreis_klein Sichtbarkeit Rechteck -> Rechteck Oder mache ich etwas falsch? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 06. Mai. 2014 16:40 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Ja, das ist lustig. Damit hab ich nicht gerechnet. Der Sichtbarkeitsparameter schaltet den großen Kreis auf unsichtbar. Damit wird der kleine Kreis zwar auch nicht angezeigt hat aber selbst nicht die Eigenschaft unsichtbar. Die bekommt er zwar vom großen Kreis "vererbt" hat sie aber selbst nicht. Interessant. Habs eingebaut und auch den Dateidialog. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de [Diese Nachricht wurde von Andreas Kraus am 06. Mai. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 06. Mai. 2014 17:25 <-- editieren / zitieren --> Unities abgeben:
Yeah, läuft! Allerdings war es für mich ein wichtiges Feature, dass die txt-Datei immer an der gleichen Stelle liegt und auch immer den gleichen Namen hat...ist mir jetzt schon fast peinlich. Ich schicke nämlich einen Befehl hinterher, der die Daten dann weiter verarbeitet und das geht nicht mehr, wenn Name und Speicherort ausgewählt werden können... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 06. Mai. 2014 17:28 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
|
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 Win 10 ACAD 2022
|
erstellt am: 06. Mai. 2014 19:58 <-- editieren / zitieren --> Unities abgeben: Nur für Sally1801
Jetzt aber. Ich hab noch eine Wahlmöglichkeit für Dateinamen eingebaut. ACHTUNG: diese Einstellung wird von att_out UND att_in verwendet. Bitte testen ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sally1801 Mitglied
Beiträge: 40 Registriert: 10.09.2012 AutoCAD 2014
|
erstellt am: 07. Mai. 2014 08:42 <-- editieren / zitieren --> Unities abgeben:
Das ist jetzt auch eine gute Idee! Allerdings variiert jetzt das Verzeichnis für die txt-Datei, da sich die Zeichnung ja nicht immer am selben Ort befindet. In den Versionen vorher wurde die TXT-Datei immer in den "Eigene Dokumente" Ordner ausgegeben, somit weiss ich, wo mein Makro, dass die Daten weiter verarbeitet, die txt-Datei findet (egal an welchem Rechner). Aber irgendwann muss es ja auch mal gut sein, ich habe schon ein ganz schlechtes Gewissen! Das Programm ist echt super, ich denke ich kann mir das vielleicht selber so zusammenbauen, wie ich es brauche. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |