Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Baugruppe durchsuchen

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 PTC CREO
  
Erstellung von Mehrfach-Konstruktionsdaten , ein Anwenderbericht
Autor Thema:  Baugruppe durchsuchen (1295 mal gelesen)
StephanWörz
Mitglied
Maschinenbautechniker


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

Beiträge: 786
Registriert: 11.10.2000

exone - Win10
i9-12900K 3187MHz
32GB Ram
nVidia RTX A5000
creo elements/direct V20.5.1.0
SolidPower V20.4
ModelSearch
KeyShot 11
CADdoktor SX
PHOENIX V11

erstellt am: 22. Mrz. 2007 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

Mahlzeit!

Ich bekomms mal wieder nicht hin (... die Lisp Grundlagen fehlen halt immer noch). Folgendes Problem möchte ich lösen:
- Abfragen der Auflösung aller Teile (rekursiv)einer Baugruppe
- die kleinste Auflösung herausfinden
- alle Teile der Baugruppe auf die kleinste Auflösung setzen

Folgendes hab ich schon:

Code:
;; Funktion zum wählen aller Teile rekursiv in Baugruppe     
    (select_parts ()
(setf Teile  (sd-call-cmds (get_selection :focus_type *sd-part-seltype* :select :recursive :in_assembly Importdaten)))
);end select_parts       

Dann hab ich mir gedacht mit dolist durch die Teile zu gehen und mit sd-inq-part-geo-resolution die Auflösung auszulesen. Die Auflösungen in eine Liste schreiben (Wie geht das?). Diese Liste dann nach der kleinsten Auflösung durchsuchen (?). Dann mit set_part_resoluton die Auflösung setzen...

... leider bring ich das nicht selbst zusammen.

Hat hier jemand einen Tipp für mich?

Gruss

Stephan

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

highway45
Moderator
Bastler mit Diplom




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

Beiträge: 6378
Registriert: 14.12.2004

CoCreate Modeling V20 + PE6
NotePad++

erstellt am: 22. Mrz. 2007 12: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 StephanWörz 10 Unities + Antwort hilfreich

Helfen kann ich dir nicht, nur auf das genau.lsp hinweisen: http://osd.cad.de/anleitungen.htm#08
Vielleicht sind da ein paar Anregungen für dich drin ?

------------------
Matthias                   OneSpace Modeling Hilfeseite , FAQ

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2164
Registriert: 12.12.2000

erstellt am: 22. Mrz. 2007 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 Nur für StephanWörz 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von highway45:
...nur auf das genau.lsp hinweisen


Das sollte sich mit kleinen Anpassungen realisieren lassen.
Andererseits finde ich es keine gute Idee, ohne Not ganze Baugruppen zu verschlimmbessern, indem man die Genauigkeit herunterdreht, schon gar nicht vollautomatisch! Wir kriegen auch manchmal die grausamsten Teile  als Import, aber lassen das Rundherum nach Möglichkeit auf 10E-6

------------------
meine LISP-Makros sind auf osd.cad.de
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

StephanWörz
Mitglied
Maschinenbautechniker


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

Beiträge: 786
Registriert: 11.10.2000

exone - Win10
i9-12900K 3187MHz
32GB Ram
nVidia RTX A5000
creo elements/direct V20.5.1.0
SolidPower V20.4
ModelSearch
KeyShot 11
CADdoktor SX
PHOENIX V11

erstellt am: 22. Mrz. 2007 13: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 Matthias, Hallo Walter!

erstmal Danke für die schnelle Antwort!

Zitat:
Original erstellt von Walter Geppert:
Andererseits finde ich es keine gute Idee, ohne Not ganze Baugruppen zu verschlimmbessern, indem man die Genauigkeit herunterdreht, schon gar nicht vollautomatisch! Wir kriegen auch manchmal die grausamsten Teile     als Import, aber lassen das Rundherum nach Möglichkeit auf 10E-6
[/i]


... da bin ich ganz Deiner Meinung! In dem speziellen Fall sollen dann aber alle Teile der Baugruppe vereint werden. Somit gibt das ungenaueste Teil sowieso die Auflösung vor.
Ich habe Probleme beim vereinigen mit der Meldung bei verschiedenen Auflösungen, deshalb dachte ich ich schraub erst mal alle auf das mieseste runter....

Gruss

Stephan

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

3D-Papst
Moderator
Teamleiter




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

Beiträge: 3240
Registriert: 11.06.2001

Herr, stärke mich in Geduld,
aber ZACK ZACK!!

erstellt am: 22. Mrz. 2007 13: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 StephanWörz 10 Unities + Antwort hilfreich

Hallo Stephan,

prinzipiell bin ich gegen das Runterschrauben der Auflösung. Denn, wo fängst du an, wo hörst du auf? Heute willst du eine BG vereinen und knüppelst alles auf 1E-3 runter. Morgen willst du eben diese BG mit iener weiteren vereinen die bereits 1E-2 hat. Also knüppelst du die 1E-3 nun auch noch auf 1E-2 runter 

Wir handhaben das bei uns so dass wir uns das Programm 3D-Evolution von Goretechnologie zugelegt haben. Mit diesem Programm reparieren wir nicht nur defekte Teile oder konvertieren nicht nur fast alle Formate in fast alle Formate......wir haben sogar die Möglichkeit und bringen schlecht auflösende Teile aus dem Web oder aus Fremd-Programmen in unseren 1E-6-Standard.
D.h. dass unser Ziel ist KEIN EINZIGES Teil mehr unter 1E-6 in unserer Datenbank zu haben. Mittlerweile haben wir dies auch erreicht   
Papst

------------------
Der Papst empfiehlt:  Hilfeseite und FAQ zum OSM

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

der_Wolfgang
Moderator
Tastenhauer


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

Beiträge: 2232
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build10.0.19045.4780
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.0.1

erstellt am: 22. Mrz. 2007 13:51    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 StephanWörz 10 Unities + Antwort hilfreich

Hallo Stephan,

ich habe das jetzt mal *trocken* runtergeschrieben. Es wird vermutlich nicht auf anhieb funktionieren (aber Du sollst ja auch noch selber nen Lerneffekt haben  )

Code:

(defun select_parts ()
(let ((Teile  (sd-call-cmds (get_selection :focus_type *sd-part-seltype* :select :recursive :in_assembly Importdaten)))
      (min-res 1000)
      res
      )
  ;; kleinste Auflösung suchen
  (dolist (ein-Teil Teile)
      (setq res (sd-inq-part-geo-resolution ein-Teil))
      (setq min-res (min min-res res))
      )
  ;; kleinste Auflösung setzen
  (sd-call-cmds
    (dolist (ein-Teil Teile)
      (when (> (sd-inq-part-geo-resolution ein-Teil) min-res) ;; gröber?
        (set_part_resoluton ein-Teil min-res)) ;; -> feiner!
      )
    )
  )
);end select_parts


Es wird also keine lange Liste mit allen Teile-Auflösungen aufgebaut, sondern immer nur geguckt, was kleiner ist.

min-res wird mit irgendetwas sehr großem initialisert. (man koennte auch mit NIL anfangen, muesste aber dann in der 1. Schleife dann erst wieder pruefen, ob min-res eine Zahl ist)

In der 2. Schlaufe werden dann die Teile verändert (falls notwendig).

folgende Anregungen:
a) in der 2. Schleife prüfen, ob das Teil evtl. ReadOnly ist
b) in der 2. Schleife, das sd-call-cmd bei jedem set_part_resolution anwenden und die :failure Moeglichkeit von sd-call-cmds ausnutzen, ggf. ein Protokoll schreiben ( display "Problem mit Teil xyz")
c) in der 2. Schleife einen Zähler inkrementieren, wenn ein Teil verändert wird. Dies wäre ein 'gescheiter' Rückgabewert für die Funktion. Alternative die sel-items der geänderten Teile aufsammlen (push ein-Teil geaenderte-Teile) und dann diese Liste als Rückgabewert nehmen.

Ich hoffe etwas auf die Sprünge geholfen zu haben.

------------------
Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2164
Registriert: 12.12.2000

erstellt am: 22. Mrz. 2007 13:54    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 StephanWörz 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von StephanWörz:
...ich schraub erst mal alle auf das mieseste runter....


Das findest du ja mit genau.lsp, dann einfach dieses Teil anklicken <rechte Maustaste> Teileigenschaften-Geo_Auflösung-kopieren_nach <Auswahl> alle Teile in BGR

------------------
meine LISP-Makros sind auf osd.cad.de
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

RainerH
Mitglied
Techn. Ang. (Konstruktion)


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

Beiträge: 736
Registriert: 22.01.2003

OSDM 14.00A
OSDD 14.50
MM 14.00A
Windows-XP Pro x64 Edition
--------------------------
HP xw6400
Intel Xeon 3.00 GHz
4.00 GB RAM
ATI FireGL V7200

erstellt am: 22. Mrz. 2007 14:28    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 StephanWörz 10 Unities + Antwort hilfreich


SD_Teileaufloesung_suchen.zip

 
@Stephan

Das hilft dir wahrscheinlich weiter ...
(hier werden alle Teile aufgelistet, welche kleine "1E-006" sind)

Ueber das runterschrauben der Aufloesung bin ich genau der selben Meinung - Wuerde es nicht machen 

Gruss
RainerH.

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)2024 CAD.de | Impressum | Datenschutz