Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  MTEXT an einer Bemassung, Aktualisierung mit entupd möglich ?

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:  MTEXT an einer Bemassung, Aktualisierung mit entupd möglich ? (3317 mal gelesen)
Juergen55
Mitglied
Elektrotechniker


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

Beiträge: 282
Registriert: 08.03.2001

erstellt am: 26. Jan. 2005 15:21    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,

wenn man einen MTEXT an einer Bemassung mit entmod, entupd bearbeitet so wird der Text nicht aktualisiert, bei entupd gc330 tut sich nichts normalerweise verweisst doch gc330 auf das ursprüngliche Objekt, ich denke mal bei Bemassungen ist das anders, welcher gc soll also entupd werden ?

Gruß, Jürgen

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: 26. Jan. 2005 15: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 Nur für Juergen55 10 Unities + Antwort hilfreich

Du möchtest doch eine MASSTEXTUEBERSCHREIBUNG bewerkstelligen, oder ?
Dann entmodde den gc1 der DIMENSION ! - entupd kannste dir dann ebenfalls sparen.

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

Juergen55
Mitglied
Elektrotechniker


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

Beiträge: 282
Registriert: 08.03.2001

erstellt am: 26. Jan. 2005 15: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

Hallo Cadffm,

das hab ich mir auch gedacht den gc1 entmode ich bereits, aber der Text kommt erst wenn ich regeneriere, wählen tu ich mit netsel, was fehlt da noch ? Also das es ohne regen läuft ?
Entupd brauch ich eigentlich nur beim Block.

Gruß, Jürgen

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: 26. Jan. 2005 15:55    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 Juergen55 10 Unities + Antwort hilfreich

Was habe ich geschrieben....

Zitat:
Original erstellt von cadffm:
... entmodde den gc1 der DIMENSION


wenn du etwas mit nentsel wählst hast du immer das "Unterobjekt",
also sicher keine DIMENSION ..

edit
deine Manipulation ist etwas unsauber - sehe dir die Bemaßung mal im Eigenschaftsfenster an !
Textüberschreibeung = .........................genau, KEINE ! / das ist zwar prickelnd, aber nicht schön 

[Diese Nachricht wurde von cadffm am 26. Jan. 2005 editiert.]

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

Juergen55
Mitglied
Elektrotechniker


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

Beiträge: 282
Registriert: 08.03.2001

erstellt am: 29. Jan. 2005 09: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 CADFFM,

Danke für die Info,

ich möchte aber mit nentsel wählen zur Textüberschreibung! Welcher gc verweist auf das Hauptobjekt hab schon einiges probiert, nichts gefunden ?
Die AutoCAD Hilfe könnte in dieser Richtung auch etwas ausführlicher sein.
Weitere Tips wären hilfreich !

Gruß, Jürgen

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 29. Jan. 2005 13:58    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 Juergen55 10 Unities + Antwort hilfreich

Hallo Jürgen,

um an den wirklichen Maßtext ranzukommen, musst du tief rein. Es gibt einen undenannten Block, der die Bemaßung darstellt. In diesem findest du dann auch den MText, welcher die angezeigte Zahl darstellt. Diesen kannst du dann mit (entmod..) ändern. Also nicht gleich nach dem ersten 330GC aufhören zu suchen.

Grüße Holger
CAD on demand GmbH

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: 01. Feb. 2005 09: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 Nur für Juergen55 10 Unities + Antwort hilfreich

Hi Juergen55,
was willst Du machen? Den Maßtext überschreiben?
Dann versuch's mal hiermit (ist zwar kein entmod drinne, aber es funzt trotzdem :-)):

(Edit: Habe noch die Funktion "GET-DIM-MEASUREMENT" für die Ermittlung des Originalmaßes beigepackt...)

Code:

(vl-load-com)

;|
Holt die Textüberschreibung einer Bemassung
Argumente:
ENAME = vla-Objektname ODER Elementname z.B. Rückgabe von (car (entsel))

Rückgabe:
Bemassungstext als String bei Erfolg oder
nil wenn String nicht ermittelbar.

Für den String gilt:
"" = nur gemessenes Maß
<> = Platzhalter für gemessenes Maß Primäreinheiten (eventuell mit Prä und / oder Suffix)
[] = Platzhalter für gemessenes Maß Sekundäreinheiten (eventuell mit Prä und / oder Suffix)

Zurückgegebener String könnte also auch so aussehen:

"Maß: <> mm oder [] Zoll"

Beispielaufruf:
(GET-DIM-TXT (car (entsel)))

|;
(defun GET-DIM-TXT (ENAME / RETVAL)
  (if (setq ENAME (->VLA-OBJECT ENAME))
    (if (vlax-property-available-p ENAME 'TEXTOVERRIDE)
      (setq RETVAL (vla-get-textoverride ENAME))
    )
  )
  RETVAL
)

;|
Setzt die Textüberschreibung einer Bemassung
Argumente:
ENAME = vla-Objektname ODER Elementname z.B. Rückgabe von (car (entsel))
STRVALUE = Textüberschreibung für Bemassung als String
Hierbei gilt:
"" = Platzhalter für gemessenes Maß
<> = Platzhalter für gemessenes Maß Primäreinheiten (eventuell mit Prä und / oder Suffix)
[] = Platzhalter für gemessenes Maß Sekundäreinheiten (eventuell mit Prä und / oder Suffix)

Zu setzender String könnte also auch so aussehen:

"Maß: <> mm oder [] Zoll"

Rückgabe:
Gesetzte Bemassungstext als String bei Erfolg oder
nil wenn Textüberschreibung nicht gesetzt werden konnte.


Beispielaufruf:
(SET-DIM-TXT (car (entsel)) "Maß: <> mm oder [] Zoll")

oder auch zum "resetten" der Maßtextüberschreibung

(SET-DIM-TXT (car (entsel)) "")

|;
(defun SET-DIM-TXT (ENAME STRVALUE / RETVAL)
  (if (setq ENAME (->VLA-OBJECT ENAME))
    (if (vlax-property-available-p ENAME 'TEXTOVERRIDE 't)
      (progn
        (vla-put-textoverride ENAME STRVALUE)
        (setq RETVAL STRVALUE)
      )
    )
  )
  RETVAL
)


;|
Holt das von AutoCAD berechnete Maß einer Bemassung
Argumente:
ENAME = vla-Objektname ODER Elementname z.B. Rückgabe von (car (entsel))

Rückgabe:
Reale Zahl die entweder ein lineares Maß oder aber einen Winkel (bei Winkelbemassung)
darstellt.
nil wenn nicht ermittelbar

Beispielaufruf:
(GET-DIM-MEASUREMENT (car (entsel)))

|;

(defun GET-DIM-MEASUREMENT (ENAME / RETVAL)
  (if (setq ENAME (->VLA-OBJECT ENAME))
    (if (vlax-property-available-p ENAME 'MEASUREMENT)
      (setq RETVAL (vla-get-measurement ENAME))
    )
  )
  RETVAL
)


;;; Funktion gibt Ename zurück, wenn Lisp-Objekt oder vla-Objekt
;;; übergeben worden sind. Ansonsten nil
(defun ->ENAME (ENAME / RETVAL)
  (cond
    ((= (type ENAME) 'VLA-OBJECT)
    (vlax-vla-object->ename ENAME)
    )
    ((= (type ENAME) 'ENAME) ENAME)
    (t NIL)
  ) ;_ end of cond
) ;_ end of defun

;;; Funktion gibt vla-Objekt zurück, wenn Lisp-Objekt oder vla-Objekt
;;; übergeben worden sind. Ansonsten nil
(defun ->VLA-OBJECT (ENAME /)
  (cond
    ((= (type ENAME) 'ENAME) (vlax-ename->vla-object ENAME))
    ((= (type ENAME) 'VLA-OBJECT) ENAME)
    (t NIL)
  ) ;_ end of cond
) ;_ end of defun



...

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

[Diese Nachricht wurde von marc.scherer am 01. Feb. 2005 editiert.]

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

Juergen55
Mitglied
Elektrotechniker


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

Beiträge: 282
Registriert: 08.03.2001

erstellt am: 02. Feb. 2005 12:56    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,

hab endlich ein wenig Zeit gefunden !

@Holger
Danke, Hab den unbenannten Block durchsucht, dort ist ein MText drin, zwei Inserts (Pfeilblöcke), zwei Punkte, aber der gc1 von dem MText ist es auch nicht, nentsel scheint also in dieser Richtung nicht brauchbar zu sein.

@Marc
Danke für die sehr ausführliche Antwort da tun sich ja wirklich sehr viele Möglichkeiten auf !
Hab mal ein bischen probiert aber wie kommt eigentlich die Rückgabe zu Stande ? Wenn ich nur so schreibe (GET-DIM-TXT (car (entsel))) bricht das Progi ab was sollte bei den ?? stehen (GET-DIM-TXT (car (entsel))??)

Gruß, Jürgen


(vl-load-com)

(defun GET-DIM-TXT (ENAME / RETVAL)
  (if (setq ENAME (->VLA-OBJECT ENAME))
    (if (vlax-property-available-p ENAME 'TEXTOVERRIDE)
      (setq RETVAL (vla-get-textoverride ENAME))
    )
  )
  RETVAL
)


(defun c:T18 ()

(setq bl1 (car (entsel)))
(princ bl1)
(GET-DIM-TXT bl1 a)
(princ a)
) ;Ende defun

[Diese Nachricht wurde von Juergen55 am 02. Feb. 2005 editiert.]

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: 02. Feb. 2005 13: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 Juergen55 10 Unities + Antwort hilfreich

Hi Jürgen,
na wenn schon T18, dann so:
Code:

(defun C:T18 (/ A BL1)
  (if (setq BL1 (car (entsel)))
    (progn
      (if (setq A (GET-DIM-TXT BL1))
        (if (= A "")
          (setq A (GET-DIM-MEASUREMENT BL1))
        )
      )
      (if (= (type A) 'REAL)
        (setq A (rtos A 2 2))
      )
    )
  )
  A
)

aber davon mal ab... Ich verstehe Deinen Text nicht...
Zitat:
"Hab mal ein bischen probiert aber wie kommt eigentlich die Rückgabe zu Stande ? Wenn ich nur so schreibe (GET-DIM-TXT (car (entsel))) bricht das Progi ab was sollte bei den ?? stehen (GET-DIM-TXT (car (entsel))??)"

1. Könnte es eventuell sein, dass Du nur die Funktion "GET-DIM-TXT" hier rauskopiert hast? Du benötigst ALLE hier reingestellten Funktionen. ALLEINE funzt "GET-DIM-TXT" natürlich nicht <dream>

2. Wo soll was bei den "??" stehen? Welche "??" ?
Es gibt nur EIN Argument bei der Funktion "GET-DIM-TXT".
"SET-DIM-TXT" benötigt ZWEI Argumente. Einmal den Elementnamen und zum zweiten den String, der in die durch das erste Argument definierte Bemassung eingetragen werden soll.

3. "GET-DIM-TXT" gibt die TextÜBERSCHREIBUNG eines Mass-Objektes zurück. Ist da nix überschreiben, wird "" zurückgegeben. Willst Du das gemessene Maß ermitteln, verwende "GET-DIM-MEASUREMENT".


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

[Diese Nachricht wurde von marc.scherer am 02. Feb. 2005 editiert.]

[Diese Nachricht wurde von marc.scherer am 02. Feb. 2005 editiert.]

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