Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  attributwerte in kalkulator berechnen und zurückschreiben

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:  attributwerte in kalkulator berechnen und zurückschreiben (2137 mal gelesen)
cadarch1
Mitglied
Architekt

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

Beiträge: 2
Registriert: 19.03.2004

erstellt am: 19. Mrz. 2004 02:17    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!

in ca. 500 vorhandenen blocks mit jeweils zwei vorhandenen attributen sollen die vorhandenen attributswert entsprechend einer formel umgerechnet und wieder zurückgeschrieben werden. geht das?
die formel wäre für beide attributswerte (*3.5 (- X 3)
also x wert -3 * 3.5

kenne mich leider mit lisp gar nicht aus. vielleicht kann mir aber trotzdem jemand helfen?

danke!

wolfgang

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

System: F1
und Google

erstellt am: 19. Mrz. 2004 07: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 Nur für cadarch1 10 Unities + Antwort hilfreich

* Willkommen auf CAD.de ! *

Ich empfehle dir 1. die Expresstools zu installieren.
( Leider hast du keinerlei Angaben zur eingesetzten Software gemacht, bitte trage das in dein Profil ein ! )

dort gibt es zwei Befehle: ATTOUT & ATTIN mit denen kann man alle Blöcke mit allen Attribut(wert)en auslesen
in eine einfache Textdatei. Diese kann man zB einfach in Excel öffnen und im Excel dürfte das ändern der Werte für dich
ja kein Problem sein... anschließend kann man diese Textdatei zurückschreiben lassen in die Dwg (ATTIN).

Ich stelle dir hier kein spezielles Lisp rein weil der oben genannte Weg viel mehr Möglichkeiten bietet und du dies in
Zukunft auch bei anderen Problemstellungen (ändern der Attributwerte) einsetzen kannst, somit denke ich ist der mehr
geholfen wie ein Lisp was nur für diese eine einzige Aufgabenstellung zu gebrauchen ist.

Evtl bastelt dir ja noch jmd etwas ! Aber in letzter Zeit mußte man zunehmend feststellen das:
L.I.S.P. bei vielen eine Abkürzung für sofort & kostenlos ist.
Und das bremst zZeit evtl bei dem einen oder anderen den Helferdrang.
( Was ich nicht verübeln könnte. )

Hoffe es hilft dir , bye

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: 19. Mrz. 2004 08:22    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 cadarch1 10 Unities + Antwort hilfreich

Auch wenn ich CADffm mit "Aber in letzter Zeit mußte man zunehmend feststellen das:
L.I.S.P. bei vielen eine Abkürzung für sofort & kostenlos ist" rechtgeben möchte... unterstelle ich dir das mal nicht sofort... und deshalb ( auch weil das Grundgerüst schon fertig war.. )
folgender Code (ohne Garantie):

(defun INSERT_UPDATE ( INSERT  / OBJEKTDATEN SKALIERUNG ROTATION ORIGIN ATTRIBNAME ATTRIBINHALT)
  (if (and(=(type INSERT) 'ENAME)         
  (=(cdr(assoc 0 (setq OBJEKTDATEN (entget INSERT)))) "INSERT")  
      )
    (progn     
      (if (assoc 66 OBJEKTDATEN)
        (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND") 
          (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN)))))
          (if (= (cdr (assoc 0 OBJEKTDATEN)) "ATTRIB")
            (progn
      (princ objektdaten)
              (setq ATTRIBNAME  (cdr(assoc 2 OBJEKTDATEN)))
              (setq ATTRIBINHALT (cdr(assoc 1 OBJEKTDATEN)))
              ;(if (= ATTRIBNAME "ITEM")
                (progn
                  (setq ATTRIBINHALT (atof ATTRIBINHALT))
  ;(setq ATTRIBINHALT (atoi ATTRIBINHALT))
                  (setq ATTRIBINHALT (rtos (* (- ATTRIBINHALT 3) 3.5) 2 2))
  ;(setq ATTRIBINHALT (itoa (- ATTRIBINHALT 1)))
                  (setq OBJEKTDATEN (subst(cons  1 ATTRIBINHALT)
                                          (assoc 1 OBJEKTDATEN)
                                          OBJEKTDATEN
                                    )
                  )
                  (entmod OBJEKTDATEN)
        )
      ;)
    )
          )
        )
      )     
    )
  ) 
)
;; --------------------------------------------------------------------------------- ;;
(defun C:INSERTs_UPDATE ( / OBJEKT OBJEKTDATEN NAME AUSWAHL INDEX)
  (if (and(setq OBJEKT (ssget "_:S" '((0 . "INSERT")))) (setq OBJEKT (ssname OBJEKT 0)))
    (progn     
      (setq OBJEKTDATEN (entget OBJEKT))
      (setq NAME            (cdr(assoc 2 OBJEKTDATEN)))
      (setq AUSWAHL (ssget "_X"  '((0 . "INSERT"))))
      (setq INDEX 0)
      (if AUSWAHL
        (repeat (sslength AUSWAHL)
          (if (=(strcase(cdr(assoc 2 (entget(ssname AUSWAHL INDEX)))))(strcase NAME))
            (INSERT_UPDATE(ssname AUSWAHL INDEX))
          ) 
          (setq INDEX(1+ INDEX))
        )
      )
      (while (setq BLOCKDEF (tblnext "BLOCK" (null BLOCKDEF)))
        (if (and(/=(logand(cdr(assoc 70 BLOCKDEF))4)4)
                (or(/= (logand(cdr(assoc 70 BLOCKDEF))1)1)
                  (=(substr NAME 1 2) "*U")
                )
            )   
          (progn
            (setq OBJEKT (cdr (assoc -2 BLOCKDEF)))
            (while OBJEKT
              (if (and (=(cdr(assoc 0 (entget OBJEKT))) "INSERT")
                      (=(cdr(assoc 2 (entget OBJEKT)))    NAME))
                (INSERT_UPDATE (ssname AUSWAHL INDEX)VEKTOR MOD2)
              )
              (setq OBJEKT (entnext OBJEKT))
            )
            (entupd (cdr (assoc -2 BLOCKDEF)))
          )
        )
      )
      (command "._regen")
    ) 
    (princ "\nKeine Blockreferenz gewählt!\n")
  )
  (princ)


------------------
- Thomas -

[Diese Nachricht wurde von CADmium am 19. Mrz. 2004 editiert.]

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

System: F1
und Google

erstellt am: 19. Mrz. 2004 08:25    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 cadarch1 10 Unities + Antwort hilfreich

@Wolfgang - Der Satz mit dem kostenlos war nicht direkt an dich gerichtet sondern an die Allgemeinheit.
                     möchte das hiermit nur nochmal deutlich machen !

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

cadarch1
Mitglied
Architekt

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

Beiträge: 2
Registriert: 19.03.2004

erstellt am: 19. Mrz. 2004 12:13    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

@thomas

supervielendank für deine mühe!!! das hilft mir echt sehr weiter!


@thomas, sebastian, und jeder der das liest


ich kenne mich mit lisp leider überhaupt nicht aus und dieses tolle forum habe ich auch nur per zufall gefunden. ich finde es super daß sich die leute hier austauschen können und sich gegenseitig helfen. wenn ich etwas für andere tun kann was in meinen möglichkeiten liegt mache ich das auch gerne. ansonsten bin ich auch gerne bereit für den aufwand zu zahlen.

ich dachte nicht daß es soviel aufwand wäre so etwas zu programmieren. sorry !

@sebastian

mußte ich nur loswerden, ich weiß daß es nicht direkt gegen mich geht. wenn ihr so oft "einfach mal schnell" um hilfe gebeten werdet kann das sicherlich nerven.


vielen dank nochmal!

wolfgang

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