| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Zaehlen.lsp (1334 / mal gelesen)
|
molto Mitglied Rentner
Beiträge: 198 Registriert: 11.02.2009 Creo Elements Direct Modeling Express 8.0
|
erstellt am: 27. Nov. 2021 13:57 <-- editieren / zitieren --> Unities abgeben:
Hallo, habe "Zaehlen.lsp" gefunden u. ausprobieren wollen. Funktioniert leider nicht in der PE-Version. Nachdem in der PE die Speichermenge auf 60Teile begrenzt ist wäre die Teilezählung ein brauchbares Werkzeug. Kann da einer helfen? ------------------ Gerd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 27. Nov. 2021 14:39 <-- editieren / zitieren --> Unities abgeben: Nur für molto
|
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 27. Nov. 2021 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für molto
|
highway45 Moderator Bastler mit Diplom
Beiträge: 6331 Registriert: 14.12.2004 SolidDesigner-20.5.1 + PhoenixPDM-11 + Solidworks-2022 + PE8
|
erstellt am: 27. Nov. 2021 15:39 <-- editieren / zitieren --> Unities abgeben: Nur für molto
|
molto Mitglied Rentner
Beiträge: 198 Registriert: 11.02.2009 Creo Elements Direct Modeling Express 8.0
|
erstellt am: 27. Nov. 2021 16:28 <-- editieren / zitieren --> Unities abgeben:
|
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2364 ● Drafting V20.1+4 ● Modeling V20.1+4
|
erstellt am: 27. Nov. 2021 17:12 <-- editieren / zitieren --> Unities abgeben: Nur für molto
Zitat: Original erstellt von Walter Geppert: Nicht mit PE versucht:
Hehe.. mittelgrosse Baugruppe. Performance mäßig schnarcht das Tool aber etwas, oder? Kannst/Magst Du mal messen Walter, mit genau dem Beispiel auf Deinem System? Messe 7 mal, streiche das schlechteste und das beste Ergebnis, von den restlichen 5 nehme den Durchschnitt. Als Datenbänkler würde mich natürlich mehr der Unique-Contents interessieren als die X-fachen Instancen. Ich würde dazu tendieren den get_selection nur EINMAL aufzurufen...
Welcher NICHT-Lisp-Profi hätte Lust ihre/seine Kenntnisse zu erweitern (mit Rückendeckung)?
------------------ ● 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 |
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 27. Nov. 2021 18:43 <-- editieren / zitieren --> Unities abgeben: Nur für molto
Zitat: Original erstellt von der_Wolfgang:
Welcher NICHT-Lisp-Profi hätte Lust ihre/seine Kenntnisse zu erweitern (mit Rückendeckung)?
Ein bissel was hab ich schon dazugelernt seit 2003... Da gabs noch nicht mal Gewindefeatures und vierstellige Teilezahlen waren das Maximum, von Speicherplatz und 64Bit ganz zu schweigen ------------------ meine LISP-Makros sind mit vielen anderen aus diesem Forum auf osd.cad.de Disclaimer Grüße aus Wien Walter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sas-m2n Mitglied Maschinenbautechniker
Beiträge: 39 Registriert: 02.03.2011 @Work: HP Z400, NVIDIA Quadro 4000, 12 GB RAM, WIN7 X64 NX6.0.2.8,NX I-deas 6 m2,Teamcenter 2005 SR1/2007, Creo Elements/Direct 19.0 M060 Modelmanager 19 @home: DELL Precision M4500 PE8.0 auf Win10 pro X64 FreeCAD 017 X64 TurboCAD 17 pro
|
erstellt am: 04. Apr. 2022 11:50 <-- editieren / zitieren --> Unities abgeben: Nur für molto
Hallo zusammen, wer könnte das Zaehlen.lsp so verändern das es folgendes tut. Es sollte Baugruppen und Teile zählen können, aber ohne die mehrfachverwenden Exemplare. Besteht eine Baugruppe aus 3 unterschiedlichen Teilen wobei jedes 2 Exemplare hat, sollte das Ergebnis 1 Baugruppe 3 Teile und nicht 1 Baugruppe 6 Teile ausgegeben werden. Viele Grüße
Steffen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 508 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 19R3 Mechanical Pro
|
erstellt am: 04. Apr. 2022 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für molto
Hallo, ohen groß zu probieren und aus einer anderen Lisp geklaut! Teste mal in Zeil 57 dies aus:
Code: (setf total (length (remove-duplicates (sd-call-cmds (get_selection :focus_type *sd-part-seltype* :allow_wire_part :allow_face_part :select :recursive :in_assembly bgr)):test #'equal :key #'sd-inq-obj-contents-sysid)))
Funzt das? Falls ja sollte das bei den BG ähnnlich gehen! Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 04. Apr. 2022 13:57 <-- editieren / zitieren --> Unities abgeben: Nur für molto
Zitat: Original erstellt von MiBr: Hallo,ohen groß zu probieren und aus einer anderen Lisp geklaut! Teste mal in Zeil 57 dies aus:
Code: (setf total (length (remove-duplicates (sd-call-cmds (get_selection :focus_type *sd-part-seltype* :allow_wire_part :allow_face_part :select :recursive :in_assembly bgr)):test #'equal :key #'sd-inq-obj-contents-sysid)))
Funzt das? Falls ja sollte das bei den BG ähnnlich gehen! Gruß Michael
Wird so nicht funktionieren, weil die sel-items natürlich alle unterschiedlich sein müssen. Da muss man die contents-sys-ids vergleichen, das ist aber erheblich aufwendiger. ------------------ meine LISP-Makros sind mit vielen anderen aus diesem Forum auf osd.cad.de Disclaimer Grüße aus Wien Walter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 508 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 19R3 Mechanical Pro
|
erstellt am: 04. Apr. 2022 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für molto
|
sas-m2n Mitglied Maschinenbautechniker
Beiträge: 39 Registriert: 02.03.2011 @Work: HP Z400, NVIDIA Quadro 4000, 12 GB RAM, WIN7 X64 NX6.0.2.8,NX I-deas 6 m2,Teamcenter 2005 SR1/2007, Creo Elements/Direct 19.0 M060 Modelmanager 19 @home: DELL Precision M4500 PE8.0 auf Win10 pro X64 FreeCAD 017 X64 TurboCAD 17 pro
|
erstellt am: 04. Apr. 2022 14:24 <-- editieren / zitieren --> Unities abgeben: Nur für molto
|
Walter Geppert Moderator Frank und Frei
Beiträge: 2143 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook 17 G4, Windows 10 Pro 64
|
erstellt am: 04. Apr. 2022 14:44 <-- editieren / zitieren --> Unities abgeben: Nur für molto
|
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2364 ● Drafting V20.1+4 ● Modeling V20.1+4
|
erstellt am: 05. Apr. 2022 19:09 <-- editieren / zitieren --> Unities abgeben: Nur für molto
|
MiBr Mitglied Konstrukteur
Beiträge: 508 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 19R3 Mechanical Pro
|
erstellt am: 06. Apr. 2022 07:38 <-- editieren / zitieren --> Unities abgeben: Nur für molto
|
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2364 ● Drafting V20.1+4 ● Modeling V20.1+4
|
erstellt am: 06. Apr. 2022 19:37 <-- editieren / zitieren --> Unities abgeben: Nur für molto
Hier erst mal der Ansatz EINmal selektieren und X mal zählen: Code: (let ((all-obj (sd-call-cmds (get_selection :focus_type (list *sd-assembly-seltype* *sd-part-seltype* *sd-layout-seltype*) :allow_wire_part :allow_face_part :no_highlight :with_stock_container :select :recursive :in_assembly bgr))) ) (setq ubgr (count-if #'sd-inq-assembly-p all-obj) ) (setq total (count-if #'sd-inq-part-p all-obj) ) (setq dteil (count-if #'sd-inq-wire-part-p all-obj) ) (setq fteil (count-if #'sd-inq-face-part-p all-obj) ) (setq eteil (count-if #'sd-inq-empty-part-p all-obj)) ...
Wegen der parallelen Ausgabe von Anzahl Instance/Contents wurde es dann noch nicht mehr so geradlinig. Aber immerhin musste ich so nur einmal die Duplicate entsorgen. Siehe Anhang. @Michael, die Formatierung ist etwas tricky: mal sehen ob du es siehst: Code: (format-numbers (list-of-2) (format nil "~10,' D | ~10,' D" (car list-of-2) (if contents (cadr list-of-2) "-")) )
------------------ ● 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 |
StephanD Mitglied Ingenieur
Beiträge: 121 Registriert: 10.01.2003 Creo Elements/Direct Modelling 20.4
|
erstellt am: 08. Apr. 2022 08:11 <-- editieren / zitieren --> Unities abgeben: Nur für molto
Hallo Wolfgang, ich habe dein neues Zählprogramm ausprobiert. Die Verbesserung in der Geschwindigkeit kann ich nicht finden. Eher im Gegenteil. Ich habe eine Baugruppe mit den verschiedenen Varianten zählen lassen: 1. Baugruppeneigenschaften - Statisik -> Ergebnis kommt sehr schnell 2. Zaehlen20.lsp -> ca. 10 s bis zum Ergebnis 3. Zaehlen.lsp -> ca. 3 s bis zum Ergebnis (ich habe hier bei allen get_selection noch das :with_stock_container hinzugefügt, sonst kommt eine Fehlermeldung) Was mir auch noch aufgefallen ist, dass die Anzahl der BG nicht übereinstimmt. Bei den beiden lsp werden die Behälter auch als BG mit gezählt. Zur Geschwindigkeit: Ich konnte bei mir keine "bremsenden" Teile finden. Bei kleinen BG ging es schneller, und der Unterschied wird kleiner. Bei großen BG wird es mühsam, da das neue Tool sehr lange braucht. Aber vom Prinzip immer das gleiche Ergebnis. Grüße Stephan
[Diese Nachricht wurde von StephanD am 08. Apr. 2022 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2364 ● Drafting V20.1+4 ● Modeling V20.1+4
|
erstellt am: 08. Apr. 2022 22:46 <-- editieren / zitieren --> Unities abgeben: Nur für molto
Zitat: Original erstellt von StephanD: ich habe dein neues Zählprogramm ausprobiert ... (ich habe hier bei allen get_selection noch das :with_stock_container hinzugefügt, sonst kommt eine Fehlermeldung)
Ja.. das hatte ich ja geschrieben .. da kommt was mit "x Elemente konnten nicht selektiert werden" .. deswegen die Roh/Fertig Bez. ( = Stock Finish) Zitat: Was mir auch noch aufgefallen ist, dass die Anzahl der BG nicht übereinstimmt. Bei den beiden lsp werden die Behälter auch als BG mit gezählt.
Ja das stimmt schon so. Behälter sind nur speziell gekennzeichnete Baugruppen. Deswegen werden diese an verschiedene Stellen gleichbehandelt. siehe. z.b. ===>> IKIT docu: Code: Base Types: *sd-assembly-seltype* Assembly (and Container) *sd-container-seltype* Container
Man kann also beide Varianten als 'richtig' bezeichnen.. je nach Sichtweise. Was hilft wäre im letzen schritt noch ein Code: (setq ubgr (- ubgr cntteil)) ;; diese deutschen variablen namen . ich stolper immer wieder drüber
[edit]ach halt. Das sind es ja keine numbers mehr sondern schon strings. Also ggf. so vorgehen wie bei Berechnung von vteil[/edit] Leider habe ich die Ausgabe von Zeitmessungen schon rausgeschmissen. Mir ist an andere Stelle aber auch mal aufgefallen das interpretierer LISP code vom Zeitverhalten anders zeigt als compilierter LSP code. Wenn man keine besonderen Objekte zählen will, kann man ja auch gleich bei [i]Baugruppeneigenschaften - Statisik bleiben... ------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● [Diese Nachricht wurde von der_Wolfgang am 08. Apr. 2022 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2364 ● Drafting V20.1+4 ● Modeling V20.1+4
|
erstellt am: 12. Apr. 2022 20:51 <-- editieren / zitieren --> Unities abgeben: Nur für molto
|