Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Befehl Massprop bzw. Masseig

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:  Befehl Massprop bzw. Masseig (1066 mal gelesen)
flieger99
Mitglied



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

Beiträge: 14
Registriert: 18.12.2012

erstellt am: 19. Dez. 2012 12: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

Hallo zusammen,

ich wäre euch dankbar, wenn ihr mir bei folgendem Problem helfen könntet. Ich würde gern für Volumenkörper mit LISP automatisch die Achse zeichnen lassen.

Da mir kein besserer Weg eingefallen ist, würde ich dies indirekt über die "massprop"-Eigenschaft angehen. Leider scheitere ich daran, die "massprop"-Eigenschaft auf einen Volumenkörper anzuwenden und die Ergebnisse dann in eine Datei zu schreiben.

Vielen Dank im Voraus für eure Hilfe!

Pinto

[Diese Nachricht wurde von flieger99 am 19. Dez. 2012 editiert.]

[Diese Nachricht wurde von flieger99 am 19. Dez. 2012 editiert.]

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 19. Dez. 2012 14:07    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 flieger99 10 Unities + Antwort hilfreich

Hi,

den Befehl   MASSPROP brauchst du nicht.
Mach mal ein

Code:
(vlax-dump-Object (vlax-ename->vla-object (car (entsel))))

auf deinen Volumenkörper. Vielleicht reicht dir schon eine dieser Eigenschaften, die du über vlax-get-property auslesen kannst.


Gruß
CADchup

------------------
CADmaro.de

[Diese Nachricht wurde von CADchup am 19. Dez. 2012 editiert.]

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

flieger99
Mitglied



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

Beiträge: 14
Registriert: 18.12.2012

erstellt am: 19. Dez. 2012 14:20    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 CADchup,

zunächst vielen Dank für Deine Hilfe. Ich habe Deinen Code soeben ausprobiert. Leider gibt mir Autocad die folgende Fehlermeldung aus:

Code:
Objekt wählen: ; Fehler: no function definition: VLAX-ENAME->VLA-OBJECT

Ich muss allerdings dazu sagen, dass ich ein absoluter Anfänger in Lisp bin und mich erst einarbeiten muss. Ich wäre Dir daher sehr dankbar, wenn Du mir einen Tipp geben könntest, was ich falsch gemacht habe. Ich möchte mit Lisp eine Schleife programmieren, in der ich über alle vorhandenen 3D-Volumenkörper die äußeren Begrenzungen abfrage und jeweils in eine Datei schreibe.

Diese einzelnen Dateien möchte ich dann in Excel mit Hilfe von VBA einlesen, um die Achsen für die 3D-Volumenkörper aus den äußeren Begrenzungen zu konstruieren.

Vielen Dank im Voraus und frohe Weihnachten!

Pinto

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

jupa
Ehrenmitglied V.I.P. h.c.
Ruheständler


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

Beiträge: 6050
Registriert: 16.09.2004

WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.

erstellt am: 19. Dez. 2012 14: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 flieger99 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von flieger99:

... folgende Fehlermeldung aus:

Code:
Objekt wählen: ; Fehler: no function definition: VLAX-ENAME->VLA-OBJECT


Gib mal zuerst ein
(vl-load-com)
ein

Jürgen

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 19. Dez. 2012 14:39    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 flieger99 10 Unities + Antwort hilfreich

Ja, (vl-load-com) sollte man vor VLAX-Gedöns eingeben.

Aber vergiß das, du willst ja Dateien haben und dann läuft es wahrscheinlich auf etwas wie dieses hier hinaus:

Code:
(if (setq ss (ssget '((0 . "3DSOLID"))))
  (command "_massprop" ss "" "_y" "c:/temp/mass.mpr"))

Gruß
CADchup

------------------
CADmaro.de

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

flieger99
Mitglied



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

Beiträge: 14
Registriert: 18.12.2012

erstellt am: 19. Dez. 2012 14: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

Hallo CADchup,

herzlichen Dank, ich kann nun die Daten für die 3D-Volumenkörper abfragen! Hast Du eventuell noch eine Idee, wie eine Schleife mit variablem Dateinamen aussehen könnte? Ich würde gern die 3D-Volumenkörper wie folgt abfragen:

Code:

DATEINAME=1

for i = 1 to n
  (if (setq ss (ssget '((0 . "3DSOLID"))))
    (command "_massprop" ss "" "_y" DATEINAME)) 

  DATEINAME=DATEINAME+1
  DATEINAME=DATEINAME & ".MPR"
next i


Ich hoffe, es ist verständlich, was ich beabsichtige. Leider kann ich wie gesagt noch nicht in Lisp programmieren, sondern beherrsche nur VBA. Es wäre ganz große Klasse, wenn Du für dieses Problem eventuell eine Lösung hättest.

Herzlichen Dank!

Pinto

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 19. Dez. 2012 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 Nur für flieger99 10 Unities + Antwort hilfreich

Quick 'n dirty


Code:
(defun c:MassFile (/ i ss)
  (setq i 1)
  (while (setq ss (ssget '((0 . "3DSOLID"))))
    (command "_massprop" ss "" "_y" (strcat "c:/temp/Volumen" (itoa i) ".mpr"))
    (setq i (1+ i))
  )
)

Aufruf einfach mit Eingabe von "Massfile"

------------------
CADmaro.de

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

flieger99
Mitglied



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

Beiträge: 14
Registriert: 18.12.2012

erstellt am: 19. Dez. 2012 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

Hallo CADchup,

ganz herzlichen Dank für Deine Hilfe! Die Lösung ist fast perfekt. Das einzige, was noch fehlt, wäre eine Schleife über alle vorhandenen Volumenkörper. Mein Problem ist, dass ich in dem Modell ca. 3000 Volumenkörper habe und dann mit Hilfe der Datei "MassFile" jedes einzelne anklicken müsste.

Es wäre eine wahnsinnig große Hilfe, wenn Du mir hier noch eine Lösung schicken könntest.

Nochmals ganz herzlichen Dank für Deine tolle Hilfe!!

Pinto

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 19. Dez. 2012 15: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 Nur für flieger99 10 Unities + Antwort hilfreich

Ja, das kann ich mir vorstellen, dass es eine große Hilfe wäre. 

Weil Weihnachten ist und du mit dem VBA-Gedöns sowieso noch genug zu tun haben wirst...

Code:
(defun c:MassFile (/ i ss)
  (setq i 0)
  (if (setq ss (ssget "X" '((0 . "3DSOLID"))))
    (while (setq ent (ssname ss i))
      (command "_massprop" ent "" "_y" (strcat "c:/temp/Volumen" (itoa i) ".mpr"))
      (setq i (1+ i))
    )
  )
)

------------------
CADmaro.de

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



Geomatiker oder Techniker Vermessung/Bau (m/w/d)

Die ENRW Energieversorgung Rottweil GmbH & Co. KG versorgt in den Landkreisen Rottweil, Tutt­lingen und Schwarzwald-Baar mehr als 40.000 Bürger mit Strom, Erdgas, Wärme und Wasser. Als mehrheitlich kommunales Unternehmen kommen unsere Ge­winne den Bürgern in der Region zu Gute. Bei der Stromerzeugung setzen wir aus­schließlich auf regenerative Stromerzeugung und Kraftwärmekopp­lung. Rund 200 moti­vierte ...

Anzeige ansehenGeowissenschaften
flieger99
Mitglied



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

Beiträge: 14
Registriert: 18.12.2012

erstellt am: 19. Dez. 2012 16:02    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 CADchup,

  GANZ HERZLICHEN DANK FÜR DEINE HILFE!!!! Das Skript läuft super, und jetzt kann ich mich endlich in mein geliebtes VBA stürzen 

Ich wünsche Dir tolle Weihnachten und einen guten Rutsch ins neue Jahr!!

Viele Grüße,
Pinto

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