| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| Creo Parametric: Updatetraining Creo 7 auf Creo 11, ein Seminar am 12.05.2025
|
Autor
|
Thema: Teile zählen (639 / mal gelesen)
|
netvista Mitglied Konstrukteur Sondermaschinen
Beiträge: 456 Registriert: 20.11.2003 WIN 7 Prof x64 HP Z230 Xeon-E3-1240 3.40 GHz 32 GB Ram NVidia Quadro CCM 19.x MM 19.x SolidPower
|
erstellt am: 12. Jun. 2024 14:45 <-- editieren / zitieren --> Unities abgeben:
|
MiBr Mitglied Konstrukteur
Beiträge: 576 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 12. Jun. 2024 18:27 <-- editieren / zitieren --> Unities abgeben: Nur für netvista
|
jpsonics Mitglied Auftragsabwicklung und Konstruktion
Beiträge: 736 Registriert: 04.01.2006 Master of the Unicorns
|
erstellt am: 12. Jun. 2024 18:51 <-- editieren / zitieren --> Unities abgeben: Nur für netvista
Zitat: Original erstellt von MiBr: Hallo,hilft dir evtl schon dolgender Link/Beitrag: http://osd.cad.de/downloads/exemplaranzeige.lsp Gruß Michael
Das ist genau das LISP, das Fred verlinken wollte. Nur hat er am Ende seines Links das Komma übersehen/falsch gesetzt. Aber auf der gleichen Seite 17 (http://osd.cad.de/lisp_3d_17.htm) gäbe es auch noch "Geladene Objekte zählen lassen" (http://osd.cad.de/downloads/Zaehlen.lsp) Vllt. hilft das weiter? In letztere, gibt es die Variable "cntteil" für "Behälter". Kann es an meinem privaten PC nicht ausprobieren, aber wenn das Ergebniss dort auch nicht stimmt etvl. einfach mal probieren die Zeilen/Befehle mit "cntteil" aus;;ern? [EDIT] Links mal im Klartext ergänzt. Irgendwas verbockt mein Chrome da grad bei C&P und Sicheren Seiten. ^^ ------------------ Grüße. Christian -jpsonics- J. Live Today - Love Tomorrow - Unite Forever ----------------------------------------------- Dieser Post kann Spuren von Ironie, Zynismus, Sarkasmus, Schwarzen Humor enthalten! ----------------------------------------------- This post was sent using 100 recycled electrons ----------------------------------------------- [Diese Nachricht wurde von jpsonics am 12. Jun. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2232 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.5011 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 12. Jun. 2024 19:34 <-- editieren / zitieren --> Unities abgeben: Nur für netvista
Zitat: Original erstellt von jpsonics:
In letztere, gibt es die Variable "cntteil" für "Behälter". K... aber wenn das Ergebnis dort auch nicht stimmt etvl. einfach mal probieren die Zeilen/Befehle mit "cntteil" aus;;ern?
Ganz so einfach ist es nicht! Mit dem auskommentieren würdest du lediglich die Container selbst nicht mehr zählen. Aber bei den 3 recursiven selektionen für die Teile müßtest du bei jedem Objekt gucken, ob dies 'irgendwie' kind eines containers ist. Dito für Assemblies. Denke an: Baugruppe->Container->Baugruppe->Baugruppe oder Baugruppe->Baugruppe->Container->Baugruppe->Teil Hier 'rächt' sich nun die n-fache selektion. Besser wäre es EINMAL alle möglichen Objekte zu sammeln und dann in einer schleife die einzelnen Objekttpyen gemütlich in die jeweils richtigen Töpfchen einsortieren. grob:
Code: (let (cnt-cont ... cnt-part-all) (dolist (a-obj (sd-call-cmds (get_selection :focus_type (list *sd-part-seltype* *sd-assembly-seltype*) :allow_wire_part :allow_face_part :select :recursive :in_assembly bgr))) (when (and ignore_container (obj-underneath-container-p a-obj bgr)) (setq a-obj nil)) (cond ((sd-inq-container-p a-obj) (incf cnt-cont)) ((sd-inq-assembly-p a-obj) (incf cnt-assy)) ((sd-inq-face-part-p a-obj) (incf cnt-part-face)) ((sd-inq-wire-part-p a-obj) (incf cnt-part-wire)) ((sd-inq-empty-part-p a-obj) (incf cnt-part-empty)) ((sd-inq-part-p a-obj) (incf cnt-part-solid)) ... ) ) (setq cnt-part-all (+ cnt-part-face cnt-part-wire cnt-part-empty cnt-part-solid)) )
mit der Zeile 3 und der dazu selbst geschriebenen Funktion kannst du dann container-INHALTE ignorieren. ------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
netvista Mitglied Konstrukteur Sondermaschinen
Beiträge: 456 Registriert: 20.11.2003 WIN 7 Prof x64 HP Z230 Xeon-E3-1240 3.40 GHz 32 GB Ram NVidia Quadro CCM 19.x MM 19.x SolidPower
|
erstellt am: 12. Jun. 2024 19:37 <-- editieren / zitieren --> Unities abgeben:
Da meine Lisp-Kenntnissen mehr als bescheiden sind, wäre es klasse, wenn einer der Lispgurus einen 2-Zeiler in den bestehenden Code einfügen könnte, damit Behälter berücksichtigt werden oder eben nicht. Besten Dank im voraus. Grüße Fred Oh da war Wolfgang schneller als ich [Diese Nachricht wurde von netvista am 12. Jun. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jpsonics Mitglied Auftragsabwicklung und Konstruktion
Beiträge: 736 Registriert: 04.01.2006 Master of the Unicorns
|
erstellt am: 12. Jun. 2024 21:27 <-- editieren / zitieren --> Unities abgeben: Nur für netvista
Zitat: Original erstellt von der_Wolfgang: Ganz so einfach ist es nicht!Mit dem auskommentieren würdest du lediglich die Container selbst nicht mehr zählen.
Ja, stimmt. Hast recht, da war der Gedankensch...uß mal wieder komplett daneben. ^^ Zitat: Original erstellt von netvista: Da meine Lisp-Kenntnissen mehr als bescheiden sind
Ich muss mich mich da auch immer wieder reinfuchsen/-lesen ... hab zu selten mit zu tun. Muss mich da wohl echt mal wieder tiefer reinlesen, aber leider die Zeit ... ------------------ Grüße. Christian -jpsonics- J. Live Today - Love Tomorrow - Unite Forever ----------------------------------------------- Dieser Post kann Spuren von Ironie, Zynismus, Sarkasmus, Schwarzen Humor enthalten! ----------------------------------------------- This post was sent using 100 recycled electrons ----------------------------------------------- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2232 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.5011 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 15. Jun. 2024 15:15 <-- editieren / zitieren --> Unities abgeben: Nur für netvista
Zitat: Original erstellt von jpsonics: a, stimmt. Hast recht, da war der Gedankensch...uß mal wieder komplett daneben.
Macht nix. dafür gibt es ja so eine "Community" wie diese hier. Als ich das mit der Schleife (siehe mein vorheriges Posting) runter schrieb, dachte ich schon .. "das kommt dir aber bekannt vor. Und: altes Elefantengedächtnis hatte Recht. Felix hatte damals auch eine Funktion a la 'obj-underneath-container-p' beigesteuert. Allerdings ist nicht alles implementiert, was im Kommentar in seinem Code steht (Austieg bei kontext baugruppe)
------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |