Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  objektdaten auslesen.

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:  objektdaten auslesen. (1980 mal gelesen)
h9140028
Mitglied
Landschaftsplanerin


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

Beiträge: 10
Registriert: 05.04.2005

Win 2000, AcadMap 2000 und 2004, ArcView3.2

erstellt am: 25. Jan. 2006 13:36    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 zusammen,

kann man/frau objektdaten als tabelle auslesen, diese dann bsp. im Excel verändern und rückimportieren?

ich müßte nämlich aus einer kurzen id eine lange berechnen (5stellige Gemeindenummer + 6stellge Projektnummer + laufende nummer). wenn ich das während der gesamten eingabe mitführen müßte ist das etwas aufwendig.

und weiß jemand vielleicht ein gutes buch zu acad map - denn  das benutzerhandbuch beschäftigt sich nicht mit solch komplexen fragestellungen.

lg

pc

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: 25. Jan. 2006 13:51    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 h9140028 10 Unities + Antwort hilfreich

wenn deine Objektdaten den Inhalt eines Attributes oder Textes darstellen, da gibs Lisp für suchen und Ersetzen, bzw. Präfix setzen ect. z.B. sowas

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 25. Jan. 2006 14:09    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 h9140028 10 Unities + Antwort hilfreich

Hi,
ich arbeite gerade an einem Satz von AutoLisp Funktionen die sich u.a. der Lisp Api von AdeskMap bedienen.
Damit könnte man sicher das ein oder andere machen.
Beispiel:
Code:

;|
Funktion ermittelt die an ein Objekt angehängten Objektdaten
und zwar mit allen für die weitere Verarbeitung notwendigen
Daten, so z.B. auch die für den schnellen Zugriff auf die
Feldinhalte relevante RecordID die von der Funktion ADE_ODGETRECFIELD
verwendet wird.
(setq recid (ade_odgetrecord ename strTablename recordnumber))
Anmerkung: recordnumber beginnt mit dem Zählen bei 0
(setq fielddata (ade_odgetrecfield recid strFieldname))

Beispiel:
(setq recid (ade_odgetrecord (car (entsel)) "ASSETNETZKLASSE" 0))
(setq Fielddata (ade_odgetrecfield recid "BITCODENETZKLASSE")) -> 8
(setq Fielddata (ade_odgetrecfield recid "TESTFELD")) -> 10


Rückgabe:
Vollständige Information für ein Element oder nil
z.B.:
'(("Tablename"
    (((RECNUM . RECID)
      (("Feldname" . FELDWERT) ("Feldname2" . FELDWERT) . . .)
    )
      ((RECNUM2 . RECID2)
        (("Feldname" . FELDWERT) ("Feldname2" . FELDWERT) . . .)
      )
      .
      .
      .
    )
  )
  ("Tablename2"
    (((RECNUM . RECID)
        (("Feldname" . FELDWERT) ("Feldname2" . FELDWERT) . . .)
      )
      .
      .
      .
    )
  )
  .
  .
  .
)

Beispielanwendung:
(DT:MAP-OD-READ2 (car (entsel)))
|;
(defun DT:MAP-OD-READ2 (ENAME      /          CT          FIELDLST
                        FIELDVALS  FLDNAMELIST FLDNME      FLDTYP
                        FLDTYPELIST NUMREC      RECID      RETVAL
                        TABLE      TBLDEFINITIONS          VAL
                        VALLIST
                      )
  (if (setq TBLDEFINITIONS (DT:MAP-OD-TBLDEFINITIONS-READ ENAME))
    ;; ((("Tablename" . "Flaechennr")("TableDesc" . "")
    ;;  ("Columns"
    ;;    (("ColName" . "Nummer") ("ColDesc" . "Flaechennummer")
    ;;    ("ColType" . "Integer") ("DefaultVal" . 0)
    ;;    )
    ;;    ... mehrere möglich
    ;;  )
    ;;  )
    ;;  ... mehrere möglich
    ;; )
    (progn
      (foreach TBLDEFINITION TBLDEFINITIONS
        (setq FIELDLST    (cdr (nth 2 TBLDEFINITION))
              TABLE      (cdar TBLDEFINITION)
              FLDNAMELIST NIL
              FLDTYPELIST NIL
              FIELDVALS  NIL
        ) ;_ end of setq
        (foreach FLD FIELDLST
          (setq FLDNME      (cdr (nth 0 FLD))
                FLDTYP      (cdr (nth 2 FLD))
                FLDNAMELIST (append FLDNAMELIST (list FLDNME))
                FLDTYPELIST (append FLDTYPELIST (list FLDTYP))
          )
        )
        ;; Für ein Feld können n-Datensätze erfaßt werden...
        (setq NUMREC (ade_odrecordqty ENAME TABLE)
              CT    0
        )
        (while (< CT NUMREC)
          (setq VALLIST NIL
                RECID  (cons CT (ade_odgetrecord ENAME TABLE CT))
          )
          (foreach FLD FLDNAMELIST
            (setq VAL    (cons FLD (ade_odgetrecfield (cdr RECID) FLD))
                  VALLIST (cons VAL VALLIST)
            )
          )
          (setq FIELDVALS (cons (list RECID (reverse VALLIST)) FIELDVALS)
                CT        (1+ CT)
          )
        )
        (setq
          RETVAL (cons (cons (cdar TBLDEFINITION) (list (reverse FIELDVALS)))
                      RETVAL
                )
        )
      )
    )
  )
  RETVAL
)

;;; Gibt eine Liste aller Tabellendefinitionen zu einem Objekt zurück
(defun DT:MAP-OD-TBLDEFINITIONS-READ (ENAME / RETVAL ODTABLE)
  (if (setq ODTABLE (ade_odgettables ENAME))
    (mapcar '(lambda (X) (ade_odtabledefn X)) ODTABLE)
  )
)



'n Buch über Map kenne ich leider nicht.

------------------
Ciao,
Marc

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

h9140028
Mitglied
Landschaftsplanerin


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

Beiträge: 10
Registriert: 05.04.2005

Win 2000, AcadMap 2000 und 2004, ArcView3.2

erstellt am: 25. Jan. 2006 15: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

hallo thomas,

das mit dem lsp geht leider nicht weil ich keine blöcke habe.

meine objektdaten sind an digitalisierte Linien geknüpft.

d.h. jede linie hat objektdaten die gleich bleiben (gemeindenummer, projektnummer) aber auch sich verändernde wie eine typ, eindeutige id, ...)
damit ich beim digitalisieren nicht alles eingeben muss, in der eingabemaske von acad ein bißchen mühsam, würde ich gerne nur die kurze id eingeben und die lange zusammengesetzte extern berechnen).

und das ganze sollte in den objektdaten stehen - denn dann kann ich mein altes problem (http://ww3.cad.de/foren/ubb/Forum54/HTML/012897.shtml#000004)
lösen. denn objektdaten werden beim erzeugen von e00 files mitgeschrieben!!!

lg

petra

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

Tblaenky
Mitglied
Landschaftsarchitekt


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

Beiträge: 82
Registriert: 30.07.2002

erstellt am: 25. Jan. 2006 17: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 Nur für h9140028 10 Unities + Antwort hilfreich

Warum nicht exportieren in Shapefile, wenn man ArcView hat?

Man könnte dann z. B. einfach die dbf in Excel bearbeiten, nachher wieder in Map importieren...

Thomas 

------------------
Tblaenky

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: 25. Jan. 2006 20:41    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 h9140028 10 Unities + Antwort hilfreich

Wenn die zu ändernde Nummer nicht gerade das Schlüsselfeld ist,
kann die Objektdaten doch ganz eichfach mit MAPOD2ASE von Objektdaten in Datenbankverknüpfungen konvertieren.
Dabei wird eine neue Tabelle angelegt, die sich leicht mit Access oder Excel modifizieren läßt.
Der Export in das E00 Format unterstützt doch Datenbankverknüfpungen genau so gut wie Objektdaten - da ergibt sich meiner Ansicht nach kein Unterschied.
Es ist natürlich auch möglich ein kleines Lisp-Makro zu schreiben, welches die Einträge in der Objektdatentabelle von Kurzform auf Langform bringt, wenn die dazugehörige Regel bekannt ist.

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

Udo Hübner

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

autogis
Mitglied
Dr.-Ing. E-Technik


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

Beiträge: 185
Registriert: 09.02.2001

erstellt am: 26. Jan. 2006 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 h9140028 10 Unities + Antwort hilfreich

Hallo,

per Menü erreichst Du den von U. Hübner genannten Befehl mittels

Map ---> Werkzeuge ---> Objektdaten nach Datenbankverknüpfung konvertieren ...

Dort kannst Du die entsprechende Objektdatentabelle wählen und mußt außerdem die Verknüpfungsvorlage definieren. Letztlich wählst Du die Elemente, deren Objektdaten Du exportieren möchtest.

Viele Grüße - Peter

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

h9140028
Mitglied
Landschaftsplanerin


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

Beiträge: 10
Registriert: 05.04.2005

Win 2000, AcadMap 2000 und 2004, ArcView3.2

erstellt am: 26. Jan. 2006 10: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

hallo udo und peter,

das mit dem konvertieren von objektdaten in eine datenbankverknüpfung habe ich noch nicht gekannt - in der werkzeugleiste bin ich immer ganz blind zu bereinigungsfunktion und zum exportieren/importieren.

danke vorerst einmal für die ratschläge - ich glaube ich werde damit weiterkommen.

grüße aus wien petra

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