Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Bemaßung im Block aktualisieren

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:  Bemaßung im Block aktualisieren (432 / mal gelesen)
Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1372
Registriert: 11.01.2006

Win 10
ACAD 2022

erstellt am: 15. Mrz. 2023 11: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

Hallo zusammen,
wenn ich etwas bei einem Bemaßungsstil ändere dann ändern sich Bemaßungen wenn ich auf OK geklickt habe.
Ja, es gibt Außnahmen aber die sollen jetzt mal egal sein.

Habe ich eine solche Bemaßung aber in einem Block dann ändert sich die erst mal nicht.
Erst wenn ich den Block mit dem Blockeditor öffne wird dort die Bemaßung aktualisiert.

Gibts da einen Weg wie das autobatisiert werden kann, von mir aus auch über LISP ?
Ich bin da für alle Ideen offe.
Hab hier grade einen (richtig üblen) Plan bei dem die Bemaßungsskalierung nicht stimmt aber die Bemaßungen sind in unzähligen Blöcken verteilt und wenn ich das über den Blockeditor aktualisieren sitze ich hier bis zur Rente dran.
Auflösen ist übrigens keine Option.
Wenn es keine kurze, einfache Lösung gibt hab ich schon die Idee mit copyobjects alles ins Modell zu schieben und nach der Aktualisierung zurück aber wenn ich mir das sparen kannn wär schon besser.

Nebenbei bemerkt: Wer das gemacht hat gehört bestraft   . Ganz schlimm bestraft 

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

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

archtools
Mitglied



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

Beiträge: 824
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 15. Mrz. 2023 18: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 Andreas Kraus 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Andreas Kraus:
Hallo zusammen,
wenn ich etwas bei einem Bemaßungsstil ändere dann ändern sich Bemaßungen wenn ich auf OK geklickt habe.
Ja, es gibt Außnahmen aber die sollen jetzt mal egal sein.

Habe ich eine solche Bemaßung aber in einem Block dann ändert sich die erst mal nicht.
Erst wenn ich den Block mit dem Blockeditor öffne wird dort die Bemaßung aktualisiert.

Gibts da einen Weg wie das autobatisiert werden kann, von mir aus auch über LISP ?
Ich bin da für alle Ideen offe.
Hab hier grade einen (richtig üblen) Plan bei dem die Bemaßungsskalierung nicht stimmt aber die Bemaßungen sind in unzähligen Blöcken verteilt und wenn ich das über den Blockeditor aktualisieren sitze ich hier bis zur Rente dran.
Auflösen ist übrigens keine Option.
Wenn es keine kurze, einfache Lösung gibt hab ich schon die Idee mit copyobjects alles ins Modell zu schieben und nach der Aktualisierung zurück aber wenn ich mir das sparen kannn wär schon besser.

Nebenbei bemerkt: Wer das gemacht hat gehört bestraft    . Ganz schlimm bestraft  


Ohne es getestet zu haben, würde ich es so probieren:
ENTUPD auf die Bemaßung in der Blockdefinition, ENTUPD auf die Blockdefinition selbst, und dann noch ENTUPD auf alle Blockreferenzen.

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

Vino
Mitglied



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

Beiträge: 213
Registriert: 24.05.2005

Windows 10
BricsCAD V23

erstellt am: 16. Mrz. 2023 07: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 Nur für Andreas Kraus 10 Unities + Antwort hilfreich

Hallo,

wenn du die Datei speicherst, schließt und wieder öffnest aktualisieren sich die Blöcke auch nicht?
Wenn doch, reicht vielleicht auch ein REGENALL?

Gruß
Stefan

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1372
Registriert: 11.01.2006

Win 10
ACAD 2022

erstellt am: 16. Mrz. 2023 10: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

@archtools : Hilft leider nicht

@Vino : Plan speichern, schließen, neu öffnen ist leider auch keine Option

Ich hab mal was mit copyobjects programmiert und grundsätzlich funktioniert das auch.
Muss noch einiges dran basteln bis das zu einer "finalen Version" wird, aber nächste Woche hab ich etwas zeit 

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1372
Registriert: 11.01.2006

Win 10
ACAD 2022

erstellt am: 16. Mrz. 2023 12:52    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

Habs.
Funktioniert.

Code:
(defun c:k_dimupdate (/ ENT_DATA OBJ TEMP_DIM)
;;;  Bemaßungen in Blöcken aktualisieren
 
  (defun k_->ent_name (name)
;;; Elementname zurückgeben
    (cond
      ((= (type name) 'ENAME)
      name
      )
      ((= (type name) 'VLA-OBJECT)
      (vlax-vla-object->ename name)
      )
      ((= (type name) 'STR)
      (handent name)
      )
      ((= (type name) 'LIST)
      (cdr (assoc -1 name))
      )
    )
  )

  (defun k_->obj_name (name)
;;; VLA-OBJECT zurückgeben
    (cond
      ((= (type name) 'ENAME)
      (vlax-ename->vla-object name)
      )
      ((= (type name) 'VLA-OBJECT)
      name
      )
      ((= (type name) 'STR)
      (vlax-ename->vla-object (handent name))
      )
      ((= (type name) 'LIST)
      (vlax-ename->vla-object (cdr (assoc -1 name)))
      )
    )
  )

  (defun k_ac-doc ()
    (vla-get-activedocument (vlax-get-acad-object))
  )

  (defun k_copyobjects (obj_list quelle ziel ret / NEW_LIST)
;;; Beispiele für Ziel
;;; (vla-get-modelspace document_objekt)
;;; (vla-get-activelayout document_objekt)
    (if (null quelle)
      (setq quelle (k_ac-doc))
    )
    (cond
      ((= (type obj_list) 'ENAME)
      (setq obj_list (list (vlax-ename->vla-object obj_list)))
      )
      ((= (type obj_list) 'VLA-OBJECT)
      (setq obj_list (list obj_list))
      )
      ((= (type obj_list) 'LIST)
      (setq obj_list (mapcar 'k_->obj_name obj_list))
      )
      (t nil)
    )
    (setq
      obj_list (vl-remove 'nil
  (mapcar '(lambda (obj)
    (cond
      ((= (type obj) 'ENAME)
(vlax-ename->vla-object obj)
      )
      ((= (type obj) 'VLA-OBJECT)
obj
      )
      (t nil)
    )
  )
  obj_list
  )
      )
    )
    (setq new_list
  (vl-catch-all-apply
    'vlax-invoke
    (list quelle 'CopyObjects obj_list ziel)
  )
    )
    (if ret
      new_list
      nil
    )
  )

  (defun k_is (wert)
;;; Ja-nein-Wert konvertieren
    (cond
      ((= wert :vlax-false) nil)
      ((= wert :vlax-true) t)
      ((= wert nil) nil)
      ((= wert t) t)
      ((= wert 1) t)
      ((= wert 0) nil)
      ((= wert "1") t)
      ((= wert "0") nil)
      ((= wert "ja") t)
      ((= wert "nein") nil)
    )
  )

  (vlax-for blk (vla-get-blocks (k_ac-doc))
    (if (not (k_is (vla-get-islayout blk)))
      (vlax-for obj blk
(if (member (vla-get-objectname obj)
    '("AcDbRotatedDimension" "AcDbAlignedDimension"     "AcDbArcDimension"
      "AcDbRadialDimension" "AcDbRadialDimensionLarge"     "AcDbDiametricDimension"
      "AcDb2LineAngularDimension" "AcDb3PointAngularDimension"
    )
    )
  (progn
    (setq temp_dim (car (k_copyobjects
  obj
  nil
  (vla-get-modelspace
    (k_ac-doc)
  )
  t
)
  )
    )
    (setq ent_data (entget (k_->ent_name obj)))
    (entmod (subst (assoc 2 (entget (k_->ent_name temp_dim)))
  (assoc 2 ent_data)
  ent_data
    )
    )
    (vla-delete temp_dim)
  )
)
(if (VLAX-METHOD-APPLICABLE-P obj 'update)
  (vla-update obj)
)
      )
    )
  )
)


------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

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