Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Attribut als Variable, Variable als Attribut

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:  Attribut als Variable, Variable als Attribut (3011 mal gelesen)
RobCraven
Mitglied
Konstrukteur


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

Beiträge: 107
Registriert: 30.01.2009

erstellt am: 11. Sep. 2015 12:15    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,

ich möchte gerne die Attribute aus dem Schriftfeld (mech 2014) in Variablen speichern und später wieder die Variablen als Attribut speichern.

Bsp:
Attribut "GEN-TITLE-NR" als Variable "Zeichnungsnummer" setzen

geänderte Variable "Zeichnungsnummer" als Attribut "GEN-TITLE-NR" im selben Schriftfeld speichern (überschreiben)

Wie mache ich das?

Ich habe auch schon die Suche (hier und google) benutzt, auch was gefunden, aber schlau werde ich nicht daraus...

KJ.

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

.

erstellt am: 11. Sep. 2015 12: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 Nur für RobCraven 10 Unities + Antwort hilfreich

da empfehle ich dir den Beitrag  ... mit ein paar Kenntnissen solltest du das angepasst bekommen ...

Was hast du denn konkret vor ????

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

RobCraven
Mitglied
Konstrukteur


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

Beiträge: 107
Registriert: 30.01.2009

erstellt am: 11. Sep. 2015 13:53    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

Hi CADmium,

ich möchte das Schriftfeld austauschen, gegen ein anderes. Ausserdem müssen einige der Einträge (Attribute) gelöscht, andere verschoben und wieder andere geändert werden. Das geht meiner Ansicht nach am einfachsten über Variablen, daher der Gedanke die Attribute als Variablen zu speichern, zu verändern und wieder als Attribut speichern. Das Schriftfeld selbst ist kein Problem, da schieb ich ne neue dwt drunter, in der das neue drin ist, nur teilweis heißen die Attribute anders. Davor also unbedingt die Attribute in Variablen packen, neu zuordnen, verändern... Schriftfeld austauschen, fertig.

KJ.

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

.

erstellt am: 11. Sep. 2015 14:12    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 RobCraven 10 Unities + Antwort hilfreich

den Befehl AMTITLE  kennst du ?

Aber nun ja ... Ich würde alles in einem Prog machen.... Titleblockreferenz nach Vorgabenamen suchen oder klicken ... Attribute auslesen ... neue DWG mit Titelblock Geometrie ( als Block )importieren und Referenz an den Koordinaten der alten erzeugen ... Attributinhalte entsprechend zuweisen .. und Schriftfeld mit Rahmen verknüfen, so dass die Mechanicalfunktionalität wieder greift ...

Aber den Zugriff auf die Attribute hast du ja jetzt 

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - 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

RobCraven
Mitglied
Konstrukteur


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

Beiträge: 107
Registriert: 30.01.2009

erstellt am: 11. Sep. 2015 14:49    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

... ick raffs net ...

aber der reihe nach...

AMTITLE - ja klar, so füge ich Rahmen und Schriftfeld ein, warum fragst du?

Das mit dem Programm - so solls mal werden...

Zugriff auf die Attribute - krieg ich nicht auf die Reihe... wie krieg ich die in eine Variable?
Zu dem Link... da passiert noch so viel nebenher, ich will ja erstmal nur GEN-TITLE-NR in eine Variable packen, (nach dem Motto "setq Zeichnungsnummer (GEN-TITLE-NR)"), der rest kommt dann erst später...

KJ.

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

Alles

erstellt am: 11. Sep. 2015 15:38    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 RobCraven 10 Unities + Antwort hilfreich

Der verlinkte Code sammelt alle Blockreferenzen ein(wahlweise auf 👆 einen Blocknamen beschränkt) und ändert einen Attributwert.

Damit sieht man wie man an Attribute und deren Werte kommen kann, das ist der Teil der dir neu ist.

(assoc 1 OBJEKTDATEN)
Holt das dottedPair Gruppencode1 mit dem Attributwert.

Wenn du also fit genug bist das ganze mit  einfachen Texten zu realisieren, so sollte es dir mit dem verlinkten Code auch möglich sein es mit Attributen von Blockreferenzen umzusetzen.
Der Code ist schlank, da passiert nichts nebenher, nur Attributwerte lesen und schreiben.
------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

RobCraven
Mitglied
Konstrukteur


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

Beiträge: 107
Registriert: 30.01.2009

erstellt am: 14. Sep. 2015 14:49    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,

also ich habe mich jetzt ne ganze weile mit dem code beschäftigt, aber ich bekomme ihn nicht zum laufen.
Da ist irgendwas faul, aber ich krieg nicht raus was, er fragt mich nicht nach dem Block und auch wenn ich den Blocknamen vorgebe passiert nichts außer dem Regenerieren und meinem Alarm.

Code:
(defun DATE_GETSTR ( / )
(setq DATUM "30.04.2015")
)


(defun UPDATE-Title-Block (INSERTNAME ATTRIBNAME ATTRIBWERT / AUSWAHL INDEX OBJEKTDATEN)
(if (= (type INSERTNAME) 'STR)
(setq AUSWAHL (ssget "_X" (list '((0 . "INSERT"))(cons 2 INSERTNAME))))
)
(if(or AUSWAHL
(setq AUSWAHL (ssget "_X" '((0 . "INSERT"))))
)
(progn
(setq INDEX -1)
(repeat (sslength AUSWAHL)
(setq OBJEKTDATEN (entget (ssname AUSWAHL (setq INDEX (1+ INDEX)))))
(if (assoc 66 OBJEKTDATEN)
(while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND")
(setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN)))))
(if (and(=(cdr (assoc 0 OBJEKTDATEN)) "ATTRIB")
(=(strcase (cdr(assoc 2 OBJEKTDATEN))) ATTRIBNAME)
)
(progn
(setq WERT (cdr(assoc 1 OBJEKTDATEN)))
(entmod(subst(cons 1 ATTRIBWERT) (assoc 1 OBJEKTDATEN) OBJEKTDATEN))
) ;;progn
)
)
)
)
)
)
)

(defun c:UPDATE-Title-Block ()
(setq WERT "0")
(UPDATE-Title-Block nil "GEN-TITLE-DAT" "30.04.2015")
(command "_.regen")
(alert WERT) (princ)
)



mir kommt das zweite IF mit dem OR komisch vor, weil es kein "oder" gibt, da ist ja nur "AUSWAHL". kann da mal bitte jemand drüberschauen?
Meine lisp-Kentnisse sind auch eher bescheiden, da ich das leider viel zu selten mache. Und da ich auch ständig Zeitdruck habe, kann ich auch gar nicht oft und schon gar nicht lange lispeln... ich probiere halt mehr als ich wirklich weiß...
...und eine bescheuerte Frage hab ich noch, was ist den ein SEQEND?
Aber eins habe ich schon begriffen, an die Attribute komme ich nur über die Gruppencodes ran...


KJ.

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

RobCraven
Mitglied
Konstrukteur


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

Beiträge: 107
Registriert: 30.01.2009

Win10 64bit
CoCreate V19
AutoCad mechanical 2017

erstellt am: 14. Sep. 2015 15:00    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

...wie bekommt man hier den code vernünftig lesbar hin, und nicht platt gedrückt?

[Diese Nachricht wurde von RobCraven am 14. Sep. 2015 editiert.]

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 14. Sep. 2015 15:05    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 RobCraven 10 Unities + Antwort hilfreich

Hallo,
also bei mir hat es funktioniert.
Sind in der Zeichnung Blöcke mit den Attriuten "GEN-TITLE-DAT" vorhanden??

Durch Einrückungen wird der Code besser lesbar:

Code:

(defun DATE_GETSTR ( / )
  (setq DATUM "30.04.2015")
  )


(defun UPDATE-Title-Block (INSERTNAME ATTRIBNAME ATTRIBWERT / AUSWAHL INDEX OBJEKTDATEN)
  (if (= (type INSERTNAME) 'STR)
    (setq AUSWAHL (ssget "_X" (list '((0 . "INSERT"))(cons 2 INSERTNAME))))
    )
 
(if(or AUSWAHL
       (setq AUSWAHL (ssget "_X" '((0 . "INSERT"))))
       )
  (progn
    (setq INDEX -1)
    (repeat (sslength AUSWAHL)
      (setq OBJEKTDATEN (entget (ssname AUSWAHL (setq INDEX (1+ INDEX)))))
      (if (assoc 66 OBJEKTDATEN)
        (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND")
          (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN)))))
          (if (and(=(cdr (assoc 0 OBJEKTDATEN)) "ATTRIB")
                  (=(strcase (cdr(assoc 2 OBJEKTDATEN))) ATTRIBNAME)
                  )
            (progn
              (setq WERT (cdr(assoc 1 OBJEKTDATEN)))
              (entmod(subst(cons 1 ATTRIBWERT) (assoc 1 OBJEKTDATEN) OBJEKTDATEN))
              ) ;;progn
            )
          )
        )
      )
    )
  )
  )

(defun c:UPDATE-Title-Block ()
  (setq WERT "0")
  (UPDATE-Title-Block nil "GEN-TITLE-DAT" "30.04.2015")
  (command "_.regen")
  (alert WERT)
  (princ)
  )



Code im Beitrag einfügen:
1. Links auf "Code" drücken
=>[CODE][/CODE]
2. den Code zwischen die Tags "CODE" einfügen

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Liniensignaturen Youtube

[Diese Nachricht wurde von joern bosse am 14. Sep. 2015 editiert.]

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

RobCraven
Mitglied
Konstrukteur


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

Beiträge: 107
Registriert: 30.01.2009

erstellt am: 14. Sep. 2015 15:42    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


2015.09.1415.35-001.jpg

 
Hallo Jörn,

also das Schriftfeld hat dieses Attribut, aber soweit kommt er ja nicht mal, ich soll ja nicht mal einen Block auswählen... da kommt mir aber noch eine andere Idee... kann das sein das AutoCad das irgendwie blockiert? (Stichwort Vertrauenswürdige Speicherorte, das gabs ja bei 2013 noch nicht)
Ich hab mal mein Textfenster mit angehängt, wie gesagt, bei mir fragt er nicht mal nach dem Block...
... da mach ich doch irgendwas falsch? nur was?

KJ.

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 14. Sep. 2015 15: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 RobCraven 10 Unities + Antwort hilfreich

Hallo KJ,

Du hast den Code nicht wirklich zeilenweise eingegeben, oder??

Pack das ganze mal in eine Datei und benutze den Visual-Lisp-Editor.
Dann kannst Du das ganze auch zeilenweise/befehlsweise abarbeiten lassen und suchen, wo der Fehler steckt. Oder Du stellst mal eine Zeichnung mit Deinem Block hier rein, da können dann andere mal testen.

Gruß
Thomas

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 14. Sep. 2015 16:06    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 RobCraven 10 Unities + Antwort hilfreich

Gerade gesehen:

Du hast 2 x eine Definition von UPDATE-Title-Block drin!

Einmal mit (defun ...,  und weiter unten mit (defun c:....

Damit wird wird der eigendliche Code wieder überschrieben, ändere das bei (defun c:.. zu z.B.  bef_utb  und starte dann mit diesen definierten Befehl
Außerdem wird in Deinem "Alert" der alte Wert ausgegeben, ist das so gewollt?

gruß
Thomas

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

RobCraven
Mitglied
Konstrukteur


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

Beiträge: 107
Registriert: 30.01.2009

erstellt am: 14. Sep. 2015 16:30    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,

ja das mit dem WERT ist so gewollt, jedoch gibt er bei mir immer nur "0" aus...

zu (defun UPDATE-Title-Block (INSERTNAME ATTRIBNAME ATTRIBWERT / AUSWAHL INDEX OBJEKTDATEN) hiermit wird doch erst die Funktion "UPDATE-Title-Block" mit seinen Argumenten definiert
und mit (defun c:UPDATE-Title-Block () wird der Befehlsaufruf definiert...
nochmal die Rückfrage an die lisp-Profis: Ist das so richtig erklärt?

KJ.

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 14. Sep. 2015 16:48    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 RobCraven 10 Unities + Antwort hilfreich


utp.lsp

 
Hallo KJ,

du hast recht, geht auch mit gleichem Namen (wobei ich persönlich dass nicht machen würde).
Dann steckt der Fehler noch woanders bei Dir, bei mir läuft es nämlich. Anbei mal das Lisp als Datei (zum laden ins ACAD, bzw. in den Lisp-Editor).
Also doch eine Datei her.

Gruß
Thomas

ps. Prüfe noch mal Deinen Attributsnamen, oben schreibst Du was von GEN-TITLE-NR, im Lisp ist es GEN-TITLE-DAT

[Diese Nachricht wurde von spider_dd am 14. Sep. 2015 editiert.]

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 15. Sep. 2015 07: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 RobCraven 10 Unities + Antwort hilfreich

Hallo KJ,

bei Deinem Code wird von der als Blockname eine NIL (Nothing in List) übergeben, also kommt für die Auswahl der Blöcke folgende Zeile zum tragen:
(setq AUSWAHL (ssget "_X" '((0 . "INSERT"))))

Ob Dir diese Zeile eine sinnvolle Auswahl gibt kannst Du ganz einfach prüfen:
1. (setq AUSWAHL (ssget "_X" '((0 . "INSERT")))) in die Befehlszeile einfügen und mit ENTER bestätigen.
2. Dann verwendest Du den Befehl "_PSELECT" (entweder in der Befehlszeile eingeben oder den Button aus dem Eigenschaftenfenster verwenden).
3. Bei der Objektauswahl von _PSELECT tippst Du "!auswahl" in die Befehlszeile und bestätigst mit ENTER, dann sind alle Blöcke in der Zeichnung ausgewählt. Sind da dann auch Blöcke mit einem Attribut "GEN-TITLE-DAT" vorhanden??? Wenn ja, dann muss Dein Code meiner Meinung nach funktionieren.

Code:

Befehl:
Befehl: (setq AUSWAHL (ssget "_X" '((0 . "INSERT"))))
<Selection set: 6>

Befehl: _.PSELECT
Objekte wählen: !auswahl
<Selection set: 6>
403 gefunden

Objekte wählen:


Wenn Du mit dem Visual-Lisp-Editor (VLIDE) arbeitest kannst Du Dir direkt im Programmcode Haltepunkte erzeugen und dort dann zur Laufzeit des Programms die Variablen überwachen, z.B. die Variable "auswahl".
http://www.bosse-engineering.com/JB_Data/Bosse-engineering/090501_VisualLISP-Editor.pdf

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Liniensignaturen Youtube

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

RobCraven
Mitglied
Konstrukteur


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

Beiträge: 107
Registriert: 30.01.2009

erstellt am: 15. Sep. 2015 08:50    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 an alle,

es tut mir leid, aber ich bin Autodesk auf den Leim gegangen. Auf der Hilfeseite http://exchange.autodesk.com steht:

Zitat:
Schriftfelddaten

Schriftfeldeinträge werden als Attribute implementiert. Diese haben normalerweise die Form GEN-TITLE-SOMENAME {12.3}. Dabei ist

    GEN-TITLE-SOMENAME der Name des Attributs.
    {12.3} das Verhältnis der festgelegten Textbreite zur Texthöhe. Wenn die Texthöhe beispielsweise 5 Einheiten beträgt und die Breite des verfügbaren Raumes 100 Einheiten, beträgt der Wert in den geschweiften Klammern 20.



Bei mir ist es jedoch so, dass das Attribut GEN-TITLE-DAT{5.44} heißt und eben nicht nur GEN-TITLE-DAT...

jetzt funktioniert es erstmal so wie ich es erwartet habe, danke für Eure Hilfe.

KJ.

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