Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Bemaßungstext auslesen

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ßungstext auslesen (1641 mal gelesen)
lenge
Mitglied
Holztechniker


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

Beiträge: 19
Registriert: 24.01.2013

AutoCAD 2012
AlphaCAM 2013
Part Modeler 2013
Pytha V21
WoodWop 6.0

erstellt am: 30. Aug. 2013 21:43    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 Leute  ,

ich habe da ein Problem.
Ich mochte gerne den Bemaßungstext auslesen und diesen Wert weiter verwende für eine Stückliste. Ich habe schon das Forum abgesucht, leider nichts gefunden.

Könnt Ihr mir da Helfen?

------------------
MFG

lenge

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: 31. Aug. 2013 08:03    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 lenge 10 Unities + Antwort hilfreich

Hallo lenge,
vielleicht so?

Code:

(defun c:BemMass ( / obj)
  (if (and(setq obj (car (entsel "\nBemassung wählen:")))
          (setq obj (vlax-ename->vla-object obj))
          (vl-string-search "Dimension"(vlax-get obj 'ObjectName)))
    (vlax-get obj 'Measurement))
   
  )


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

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

Kordinaten einlesen Youtube

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: 31. Aug. 2013 15:16    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 lenge 10 Unities + Antwort hilfreich

Dabei sollte man unterscheiden zwischen gemessenem Wert und angezeigtem Bemaßungstext.
Das sind viele paar Schuhe.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

lenge
Mitglied
Holztechniker


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

Beiträge: 19
Registriert: 24.01.2013

AutoCAD 2012
AlphaCAM 2013
Part Modeler 2013
Pytha V21
WoodWop 6.0

erstellt am: 31. Aug. 2013 18:40    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,

also ich habe mir den Code angeschaut vielen dank schon mal dafür.

Ich möchte gerne die Werte von der Bemaßung auslesen die z.B. auf dem Layer Länge liegt.

Und an der Code verstehe ich auch nicht ganz, da ich noch neu bin in der Programmierung 

(defun c:BemMass ( / obj)
  (if (and(setq obj (car (entsel "\nBemassung wählen:")))
          (setq obj (vlax-ename->vla-object obj))
          (vl-string-search "Dimension"(vlax-get obj 'ObjectName)))
    (vlax-get obj 'Measurement))
   
)

------------------
MFG

lenge

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



Fachgebietsplaner (w/m/div) für Großbauprojekte

Möchten Sie Ihre Ideen in nutzbringende und sinnvolle Technologien verwandeln? Ob im Bereich Mobility Solutions, Consumer Goods, Industrial Technology oder Energy and Building Technology - mit uns verbessern Sie die Lebensqualität der Menschen auf der ganzen Welt. Willkommen bei Bosch.

Die Bosch Sicherheitssysteme GmbH freut sich auf Ihre Bewerbung!


Anstellungsart: Unbefristet
Anzeige ansehenProjektmanagement
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: 01. Sep. 2013 09:19    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 lenge 10 Unities + Antwort hilfreich

Hallo Lenge,
in dem Code wird ein einzelnes Objekt ausgewählt, dann in ein vla-Objekt konvertiert.
Aus dem vla-Objekt kann man dann die Eigenschaften über vlax-get abfragen.
1. Abfrage: handelt es sich um ein Bemassungsobjekt
2. Abfrage: die Länge kann über 'Dimension abgefragt werden.

Für Deinen Fall musst Du über SSGET einen Auswahlsatz bilden von Bemassungsobjekten auf dem Layer "Länge"

Dieser wird dann in einer REPEAT-Schleife durchlaufen und es wird (ist nur ein Beispiel) anhand des Objektnamens geprüft, ob es sich um eine ausgerichtete oder lineare Bemassung handelt (eine Koordinatenbemassung möchtest Du in der Längensumme sicherlich nicht dabei haben).
Die Länge wird dann in der Variablen LAENGE zusammengezählt und zum Schluss aus Rückgabewert zurückgegeben.

Code:

(defun c:BemMass ( / AWS LAENGE N OBJ)
  (if (setq aws (ssget (list (cons 0 "DIMENSION")(cons 8 "Länge"))))
    (progn
      (setq Laenge 0.0
            n 0)
      (repeat (sslength aws)
        (setq obj (vlax-ename->vla-object (ssname aws n)))
        (if (member (vlax-get obj 'ObjectName)
              '("AcDbRotatedDimension" "AcDbAlignedDimension"))
          (setq Laenge (+ (vlax-get obj 'Measurement)Laenge)))
        (setq n (+ n 1)))
      Laenge)
    (alert "Keine Bemassungen auf Layer \"Länge\" gewählt."))
  )


Und weil Du noch ganz neu bist in der Programmierung solltest Du Dir mal folgende Dokumenation über den VLIDE-Editor von AutoCAD anschauen, dort wird erklärt, wie man einen Code debuggt, daß kannst Du dann mit dem Beispiel-Code gleichmal machen:
http://www.bosse-engineering.com/downloads/090501_VisualLISP-Editor.pdf

Eine Anmerkung noch: Wenn Du in der Bemassung z.B. eine Textüberschreibung hast müßte die noch gesondert abgefragt werden, mit der Eigenschaft 'Dimension werden nur die gemessenen Masse des Bemassungsobjektes ausgegeben.
Na dann, ich wünsche Dir ein fröhliches Ausprobieren.


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

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

Kordinaten einlesen Youtube

[Diese Nachricht wurde von joern bosse am 01. Sep. 2013 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