Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Datensatz von 3dsolids auf ein 3dsolid rediuzieren

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:  Datensatz von 3dsolids auf ein 3dsolid rediuzieren (411 mal gelesen)
baumhaus
Mitglied
student


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

Beiträge: 27
Registriert: 21.03.2008

erstellt am: 14. Mai. 2009 23: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

Hallöchen

Hab das Problem dass ich einen Datensatz also eine Liste hab von 3dSolids, nun möcht ich aber nur eines aus diesem Datensatz rauslösen und damit weiterarbeiten.

habs versucht mit dem einfachen (car ...) , (nth i ...) , (ssname i ...)

Nur leider krieg ich immer eine Fehlermeldung.

Jetzt weiß ich nicht ob das an der Verschlüsselung der 3Dsolids liegt, oder welchen Fehler ich eingebaut hab...

Hoffe ihr könnt mir weiter helfen.

Danke, Grüße
Baumhaus

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 15. Mai. 2009 07:04    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 baumhaus 10 Unities + Antwort hilfreich

Hi,
im Datensatz/Liste sind die Objektnamen?
Mal mit Activex probiert...?

Lad mal ein paar Zeilen hoch..

mfg heiko

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

baumhaus
Mitglied
student


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

Beiträge: 27
Registriert: 21.03.2008

erstellt am: 15. Mai. 2009 09:23    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

Sry hab mich wohl falsch ausgedrückt.
Es handelt sich um einen Auswahlsatz

Grüße
Buamhaus

Ps.: ich lads lieber nicht hoch...  (verdammt billig gmacht, weil ich sehr im stress bin)

Es geht nur darum dass ich eine menge, wirklich viele 3dsolids auf einem haufen hab aus dem ich einen architektonischen entwurf machen muss, und nun, um den überblick zu kriegen möcht ich den haufen von solids alle 20cm schneiden und die objekte mit "interfere" in einem bereich, eben die 20cm neu zeichnen lassen.
Nur kann ich nicht alle solids gleichzeitig bearbeiten weil ich dann jeweils ein ganzes objekt pro schnittebene krieg und damit auch nix anfangen kann.
desshalb möcht ich den befehl interfere für jede schnittebene und jedes einzelement der menge an 3solids anwenden damit ich immer einzelsolids kreig pro schnittebene.

Alles kein Problem, eben nur das auslesen eines 3dsolids aus einem auswahlsaztes.

hoff ich hab mein problem nun deutlich genug erklärt dass mir vielleicht jemand helfen kann.
im grunde gehts nur um den auswahlsatz, das andere kreig ich alles hin.

Grüße baumhaus

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: 15. Mai. 2009 09: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 Nur für baumhaus 10 Unities + Antwort hilfreich

Hallo Baumhaus,
na ganz so viel Info's sind das ja immer noch nicht, also auf Verdacht:
Code:

(setq n 0)
(repeat (sslength aws)
  (setq obj_liste (cons (ssname aws n)obj_liste)
        n (+  n 1)))


Dann hast Du alle Deine Objekte aus dem Auswahlsatz in einer Liste und sie sind dann besser handhabbar.

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

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

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 15. Mai. 2009 09: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 Nur für baumhaus 10 Unities + Antwort hilfreich

Hi,
da war Jörn doch schneller...
(hat die selben Zeilen    )

(setq aws (ssget)
      obj_liste nil)...

getestet an (0 . "3DSOLID")-Objekten

mfg heiko

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

baumhaus
Mitglied
student


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

Beiträge: 27
Registriert: 21.03.2008

erstellt am: 15. Mai. 2009 10:12    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

ok, ich komm nicht weiter.

machts mich platt für das billige lisp.  aber bin nun mal im stress

Code:
(defun C:GBL()

(setq Objekt_liste (ssget '((0 . "3Dsolid"))))

(setq H (getreal "\nHöhedifferenz:"))
(setq Hmax (getreal "\nmaximale Höhe:"))
(setq Hmin (getreal "\nAnfangshöhe:"))

(setq P1 (getpoint "\nBegrenzung")
P2 (getpoint "\nBegrenzung")
P3 (getpoint "\nBegrenzung")
P4 (getpoint "\nBegrenzung")
)

(setq n 0)
(repeat (sslength Objekt_liste)
  (setq A (cons (ssname Objekt_liste n) A)
        n (+  n 1)))


(setq lst_l (sslength A))

(setq H_a 0)

(while (Not (> H_a Hmax))
(command "_Pline" P1 P2 P3 P4 "_c")
(setq O_ex (entlast))
(command "_extrude" O_ex "" H)
(setq B (entlast))

(setq H_a_p (list 0 0 H_a))

(command "move" "_last" "" "0,0,0" H_a_p)
(setq H_a (+ H_a H))
(setq i 0)

(foreach el A
(setq l_ (list "O" i))
(command "_layer" "_m" (vl-princ-to-string l_) "")
(command "-interfere" B el "" "_Y")
(setq i (+ i 1))
)
)
)



es funkt auf jednen fall nicht... es hackt immer noch bei dem asuwahlsatz und der reduzierung auf ein objekt...


(nochmal zur erkläreung: ich hab eine menge von solids die ich auf einer bestimmten Höhe mit einem anderen solid einer bestimmten extrusionshöhe schneiden möcht. daraus soll über "interfere" das boolsche Element des Durschnitts erzeugt werden. Nun möcht ich aber aus der Menge der angewählten solids, die zu bearbeiten sind, jedes element einzeln bearbeiten damit ich auch nach der bearbeitung alles einzelobjekte hab und nicht ein großes objekt pro Schnittkörper.)
=S ist im grunde das selbe wie vorher aber naja

Grüße baumhaus

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 15. Mai. 2009 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 Nur für baumhaus 10 Unities + Antwort hilfreich

(defun C:GBL ( / Objekt_liste h hmax hmin p1 p2 p3 p4 n a)
;; wichtig variablen oben rein alle auch den rest noch
  (setq Objekt_liste (ssget '((0 . "3Dsolid"))))

  (setq H (getreal "\nHöhedifferenz:"))
  (setq Hmax (getreal "\nmaximale Höhe:"))
  (setq Hmin (getreal "\nAnfangshöhe:"))

  (setq P1 (getpoint "\nBegrenzung")
P2 (getpoint "\nBegrenzung")
P3 (getpoint "\nBegrenzung")
P4 (getpoint "\nBegrenzung")
  )

  (setq n 0)
  (repeat (sslength Objekt_liste)
    (setq A (cons (ssname Objekt_liste n) A)
  n (+ n 1)
    )
  )
  (setq lst_l (length A));;da war error, hast ne liste kein Auswahlsatz
  (setq H_a 0)

  (while (Not (> H_a Hmax))
    (command "_Pline" P1 P2 P3 P4 "_c")
    (setq O_ex (entlast))
    (command "_extrude" O_ex "" H)
    (setq B (entlast))

    (setq H_a_p (list 0 0 H_a))

    (command "move" "_last" "" "0,0,0" H_a_p)
    (setq H_a (+ H_a H))
    (setq i 0)

    (foreach el A
      (setq l_ (list "O" i))
      (command "_layer" "_m" (vl-princ-to-string l_) "")
      (command "-interfere" B el "" "_Y")
      (setq i (+ i 1))
    )
  )
)

;; irgendetwas wildes Passiert da  
ob das so sein soll ...?!

Edit: setz in vlide Haltepunkte und schau dir die Variablen mal mit an

[Diese Nachricht wurde von Dorfy am 15. Mai. 2009 editiert.]

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

baumhaus
Mitglied
student


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

Beiträge: 27
Registriert: 21.03.2008

erstellt am: 15. Mai. 2009 10:38    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

=)
Danke...
funktioniert...

Habs zwar noch ein wenig umstellen müssen aber ja...

es muss wild sein...
wegen der ganzen commands, weil ja die 3dsolids verschlüsselt sind.

Hier eine zwischenfrage: kann man die verschlüsselung irgendwie umgehn bzw. die GC der 3dsolids sichbar machen?


Auf jeden fall, vielen dank

Grüße Baumhaus

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 15. Mai. 2009 11:01    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 baumhaus 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von baumhaus:

Hier eine zwischenfrage: kann man die verschlüsselung irgendwie umgehn bzw. die GC der 3dsolids sichbar machen?

Wenn du die Suche bemühst, findest du was zum Thema, wie hier.

Probiere doch mal Activex... da geht imho einiges

mfg heiko

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

baumhaus
Mitglied
student


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

Beiträge: 27
Registriert: 21.03.2008

erstellt am: 15. Mai. 2009 11: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

das lass ich dann wohl lieber mit den 3dsolids

AcitveX, ja, werd ich mir anschaun sobald mal zeit bleibt.

und VBA, kann mir da vll jemand eine Seite bzw. ein buch empfehlen?

Danke und noch schönen Freitag, bis endlich wochenende wird... 

Grüße
Baumhaus

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