Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD LT
  Autocad - Atributsauszug von Block via Lisp

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:  Autocad - Atributsauszug von Block via Lisp (118 / mal gelesen)
sollbmic
Mitglied
Konstrukteur Fahrstrom Bahntechnik

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

Beiträge: 1
Registriert: 24.01.2025

Nutze Autocad 2025

erstellt am: 25. Jan. 2025 11:35    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


Export_Att_Mast.lsp


Mast_eprs_2025_V1.dwg

 
Hallo Zusammen,

Ich habe 2 Dateien hochgeladen , einmal den Block, wo ich die Attribute herausziehen möchte, wie u.a. von der Geometrie die X+ Y-Koordinaten, sowie alle Attribute. ich habe probiert, dies mit einem Lisp zu automatisieren, damit alle mehrere Blöcke (gleicher Block) inder Zeichnung automatisch mit diesen Werten ausgelesen werden via CSV Datei für eine Enddarstellung im Exel.
Irgendwas ist was nicht korrekt. Ich arbeite mit lisp zum ersten Mal.

Um eine Hilfestellungen betreffend diesem lisp oder allgm Block Attributauszüge via Lisp bin ich froh.

Ich bedanke mich bereits im voraus für eure Hilfe.

Gruss,
Michael

------------------
Benötige Autocad für den Beruf, zeichnen vorwiegend 2-D

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

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



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

Beiträge: 3440
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 26. Jan. 2025 12:31    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 sollbmic 10 Unities + Antwort hilfreich

Servus,

Unbedingt das LISP mit posten, ohne dem geht es nicht. Und es gibt ein eigenes LISP Forum. Dort wirsd du besser geholfen....

https://ww3.cad.de/cgi-bin/ubb/forumdisplay.cgi?action=topics&number=145

Ein Ansatz gleich vorne weg, ich hab mir ATTIN ATTOUT für meine Zwecke angepasst.

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark  Bernd P.

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

System: F1
und Google

erstellt am: 26. Jan. 2025 15:31    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 sollbmic 10 Unities + Antwort hilfreich

Hi & Willkommen,

tip1: "Nutze Autocad 2025" und es geht um Lisp, du fragst aber in einem "AutoCAD LT" Board um Hilfe!?
      Besser wäre es im "#Rund um AutoCAD", aber da Programmierung nunmal nicht zum Standardhandwerk eines AutoCAD-Users gehört,
      dann wäre das "LISP" Board die noch bessere Wahl!
      https://ww3.cad.de/cgi-bin/ubb/forumdisplay.cgi?action=topics&forum=Rund+um+AutoCAD&number=54
      https://ww3.cad.de/cgi-bin/ubb/forumdisplay.cgi?action=topics&forum=Lisp&number=145


tip2: Besser eine DWG mit den entsprechenden Blockreferenzen bereitstellen,
      so machst du es potentiellen Helfern nicht unnötig schwer,
      damit beteiligen sich dann tendenziell mehr aktiv an der Frage
      und viel wichtiger: Deine Testdatei muss nicht vergleichbar sein
      was die wenigen verbliebenen Helfer sich selbst zurechtbasteln!
      Beste Prüfgrundlage ist immmer dieselbe Grundlage für alle.

tip3: Falls du selbst den Block als so eine .dwg-Vorlage auch zum "entwickeln" dieser Blöcke nutzt:
      Einen "echten 100% realen Test" kann man ohnehin nur in der Modellbereich-Umgebung mit einer Blockreferenz machen,
      die im BEDIT zur Verfügung stehende "TestBlock"-Umgebung kann in einigen Fällen andere Ergebnisse liefern.
      Aus diesem Grund würde ich ausschließlich in einer DWG Blöcke definieren, aber auch hier:
      Für einen 100%igen Test, immer mit einer neu erzeugten Blockreferenz testen.


tip4: Wenn du ein Problem hast und es dazu eine Hinweis-, Warn- oder Fehlermeldung gibt,
      dann beschreibe auch das in deinem Post, so kann der eine oder andere schon entscheiden ob das was
      für ihn ist oder nicht, oder es wird damit auch direkt klar was das Problem ist.


Nach ausführen von ExportBlockAttr in meiner Testdatei, wird nach dem .csv Speicherort/Dateinamen gefragt,
danach erfolgt eine Fehlermeldung:

Befehl: EXPORTBLOCKATTR
; Fehler: Fehlerhafter Argumenttyp: lentityp (70 . 0)

Was ganz eindeutig aussagt: Programm erwartet ein Objekt (entity), wird aber mit der dottetpair Liste (70 . 0) gefüttert.

Ein Blick in den Code wo denn mit dem Code 70 hantiert wird:

;; Get the block's attributes
            (if (setq attlst (vl-remove-if-not
                              '(lambda (x) (= (car x) 70))
                              (entget block)
                            )
                  )
           
Dieser Part ist "völlig falsch", da mußt du noch einmal ran.

DXF 70 eines Inserts hat nichts mit Attributen zutun, Attributdaten sind nicht direkt in der Entityliste eines Insert zu finden.
Schau mal in die Hilfe, DXF INSERT , Gruppencode 66 wäre etwas für den ssgget-Filter.
Ist Code 66 vorhanden bzw. 1, dann folgen der Blockreferenz Attribute, ENTNEXT hilft uns zum nächsten Objekt zu kommen.
Nutze das mal:
Befehl: (car(entsel)) Ename deiner Blockreferenz
Befehl: (entget(car(entsel))) Entity-Liste deiner Blockreferenz
Befehl: (entget(entnext(car(entsel)))'("*")) Entity-Liste des ersten Attributes
das geht immer soc weiter (nächstes Objekte), bis ein Objekt SEQEND kommt.


>>"ich habe probiert, dies mit einem Lisp zu automatisieren"
>>"Irgendwas ist was nicht korrekt. Ich arbeite mit lisp zum ersten Mal"

Daraus leite ich ab: Du hast den Code nicht selbst geschrieben und auch nicht als funktionierenden Code irgendwoher kopiert,
schade. Diesen Umstand habe ich zu spät verstanden und meine Hilfestellung hilft dir überhaupt nicht weiter.

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


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

Beiträge: 3095
Registriert: 26.08.2002

ACAD R11 - 2024
(Plant3D)
AVIS
ACAD LT 2013- 2020
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: 27. Jan. 2025 10: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 sollbmic 10 Unities + Antwort hilfreich

Hy und Willkommen mit dem 1 Beitrag

was soll damit passieren ?

wäre dann eine Datenverknüpfung besser ?

Tools zum ein / auslesen gibt es sehr viele , wenn du ein ganz bestimmtes willst von der Funktion  braucht es wesentlich mehr Infos
und auch einen Standard der eingehalten wird , sonst geht das eh schief

cu cw

------------------
Also ich finde Unities gut ... und andere sicher auch
------------------------------------------------
cadwomen™
Plant ist nur die Spitze des Berges der da treibt ?

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

VMichl
Mitglied



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

Beiträge: 225
Registriert: 04.01.2001

erstellt am: 27. Jan. 2025 13:07    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 sollbmic 10 Unities + Antwort hilfreich

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