Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Verknuepfung Polylinie mit Feld in Blockattribut

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:  Verknuepfung Polylinie mit Feld in Blockattribut (1038 mal gelesen)
lotharhennig
Mitglied
architekt

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

Beiträge: 2
Registriert: 20.09.2006

erstellt am: 20. Sep. 2006 17: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

Hallo,
habe mich nachdem ich die Vorteile von Feldern in Attributen entdeckt habe, an einer Lisp-Routine versucht, die ein Feld als Attribut (in einem Flaechenstempel) mit der Flaeche einer Polylinie verknuepft. Hintergrund ist der, dass ich extrem viele dieser Flaechenstempel immer wieder updaten muss,da sich die Flaechen staendig aendern. Das haendische Updaten des Attributs oder das Updaten eines simplen Attributs mittels einer eigenen Lisproutine ist sehr zeitaufwendig, deshalb jetzt der Versuch die Flaechenstempel assosiativ zu machen.
Leider bin ich bei dem Lisp-code schon bei der Uebergabe der Objekt-ID in den Attributwert gescheitert. Bei der Zusammenfassung mittels "strcase" kommt folgende Fehlermeldung:
; error: bad argument type: symbolp 2122412616

anbei der codeschnipsel bis zu diesem Punkt:
(defun C:upda (/ tat EN1 tax OBj1)
(setq EN1 (car (entsel "\nPick a Polyline: ")))
(vl-load-com)
(setq EN1 (vlax-ename->vla-object EN1))
(setq Obj1 (vla-get-ObjectID EN1))
(setq str (vl-symbol-name Obj1))
(setq tax (strcat "%<\\AcObjProp Object(%<\\_ObjId " str ">%).Area \\f \"%.3f\">%"))

Hat jemand eine Idee wo der Fehler liegt bzw. wie mans besser machen kann evtl. sogar ne Idee wo man eine Lisp-Routine fuer diesen Zweck finden kann ?
Bin leider nur ein ziemlicher Gelegenheitsprogrammierer ohne richtige Grundlagen...
Gruesse,
Lothar Hennig

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

Paulchen
Mitglied
Bauing./SW-Entwickler


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

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 18.1, LibreOffice 5+

erstellt am: 20. Sep. 2006 20:46    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 lotharhennig 10 Unities + Antwort hilfreich

Hallo Lothar,

Willkommen im Forum! Meine Idee, wo der Fehler liegen könnte: Es wird Dir bereits mitgeteilt! Die "Art" der Fehlermeldung ist informativer, als man glaubt. Eine Meldung mit der Fehlerart - hier symbolp -  und der verursachenden Quelle - hier die Zahlenkette - ist durchaus hilfreich.

"symbolp" prüft, ob ein Ausdruck ein Symbol ist - also im weitesten Sinne keine Zahl ("numberp"), sondern eher sowas wie Text. Das erleichtert Dir die Fehlersuche. Wie man es "besser" machen kann, verraten Dir sicher die Profis - bin ebenfalls 'nur' Gelegenheitlispler. Viel Glück!
Frederik

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 20. Sep. 2006 21:54    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 lotharhennig 10 Unities + Antwort hilfreich

Hi,

Paulchen hat recht. Die Funktion vl-symbol-name wandelt einen Symbolnamen in einen String um. Nur übergibst du kein Symbol sondern eine ObjectID.
Verwende anstelle von vl-symbol-name besser VL-PRINC-TO-STRING Dieser Funktion ist es egal, was da ankommt, die gibt sogar einen String zurück wenn sie schon einen bekommen hat.

Gruß
CADchup

------------------
CADmaro.de

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

lotharhennig
Mitglied
architekt

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

Beiträge: 2
Registriert: 20.09.2006

erstellt am: 21. Sep. 2006 14:32    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

Danke paulchen und cadchup,
mit hilfe von VL-PRINC-TO-STRING hab ich die routine schnell fertigbekommen. funktioniert praechtig!
Muss nur noch die fehlerbehandlung integrieren.
wenn interesse besteht kann ich die routine auch posten.
danke nochmeinmal,
lothar hennig

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