| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Annotation: Besitzer Teil zu einer Kante ermitteln (2954 / mal gelesen)
|
Seele Mitglied Konstrukteur
Beiträge: 364 Registriert: 11.06.2003
|
erstellt am: 13. Jan. 2017 08:32 <-- editieren / zitieren --> Unities abgeben:
Gibt es die Möglichkeit nach Auswahl einer Kante im Annotation, das Besitzende Teil im SolidDesigner zu ermitteln? Also in Annotation Kante wählen und das dazugehörige Teil art als Ergebnis zurück erhalten? Gruß Wolfgang ------------------ alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. Werden wir es schaffen? Ja wir schaffen das !!! :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 279 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.2 Creo Elements / Direct Model Manager 20.2 Creo 5.0 Simulate <P>Notepad++ Win 7
|
erstellt am: 16. Jan. 2017 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für Seele
|
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: 16. Jan. 2017 20:01 <-- editieren / zitieren --> Unities abgeben: Nur für Seele
Einen - extrem umständlichen - Ansatz könnte ich mir mit Code: (sd-get-annotator-reference :object object-selected)
vorstellen. Da könnte man einerseits aus Anno mit ME10-Befehlen die Baumstruktur der Ansicht zu einem Teil rekonstruieren und die mit der 3D-Baumstruktur im Modelling vergleichen. Unterhalb des Ansichtssatzes und seines Besitzers sollten die beiden gleich sein. Aus der Modelling-Seite hab ich so was schon bis zur Ansichtsstruktur durchgezogen, umgekehrt noch nicht. ------------------ meine LISP-Makros sind auf osd.cad.de Disclaimer Grüße aus Wien Walter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dieter Kotsch Mitglied
Beiträge: 311 Registriert: 10.08.2002
|
erstellt am: 28. Jan. 2017 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für Seele
Hallo Es geht mit dem folgenden Algorithmus: Vorraussetzung: Die Ansicht wurde Zwangsaktualisiert. Du musst in das Annoteil hineingehen und den Annopfad ermitteln. Unter Berücksichtung der Ermittlung des akiven Ansichtssatzes kannst Du somit Rückschlüsse auf das Teil ziehen. Grüße Dieter ------------------ nichts ist unmöglich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sinan Akyar Mitglied Maschinenbau Ingenieur, SW Entwickler
Beiträge: 64 Registriert: 17.09.2004 Creo Elements/Direct, SolidGenius, SpaceCable, ExtrusionPower, ProgressivePower, FramesLink, SpacePipe
|
erstellt am: 07. Feb. 2017 06:46 <-- editieren / zitieren --> Unities abgeben: Nur für Seele
Hallo Dieter, "Es geht mit dem folgenden Algorithmus: Vorraussetzung: Die Ansicht wurde Zwangsaktualisiert. " dieses Problem löse ich durch den Befehl (sd-call-cmds (AM_VIEW_PROP ourview :WORKPLANE_MODE :CALCULATE)) (sd-call-cmds (AM_VIEW_UPDATE :UPDATE_SELECTED_VIEWS :do_forced_update n :update_view :the_view ourview)) so wird die Ansicht aktualisiert und man vergleicht die Koordinaten der selektierten Kante aus der AnnoZeichnung mit den Koordinaten aller Kanten der 3D Modellen, um das Besitsende Teil zu ermitteln Grüße Sinan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Seele Mitglied Konstrukteur
Beiträge: 364 Registriert: 11.06.2003
|
erstellt am: 08. Feb. 2017 16:02 <-- editieren / zitieren --> Unities abgeben:
Erst mal vielen Dank an alle, für die Lösungsvorschläge, ... da ich momentan keine Zeit zum ausprobieren habe, melde ich mich wieder, sobald ich die Tips getestet habe. Ich werde über die endgültige Lösung Bericht erstatten, wenn es denn überhaupt klappt. Viele liebe Grüße Wolfgang ------------------ alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. Werden wir es schaffen? Ja wir schaffen das !!! :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Seele Mitglied Konstrukteur
Beiträge: 364 Registriert: 11.06.2003 Intel(R) Xeon(R) W-2245 CPU @ 3,90 GHz, 64GB RAM NVidia Quadro RTX A4000 Win10-64Bit Elements/Direct v20.5.1.0 PartLibrary, Surfacing, 3D-PDF, 3D-Access, Unigraphics-Schnittstelle
|
erstellt am: 20. Jun. 2017 16:41 <-- editieren / zitieren --> Unities abgeben:
Nach einigen Telefonaten mit der Support-Hotline und sehr vielem herumprobieren, habe ich folgende Lösung gefunden, womit ich jetzt viel bequemer Positionsnummern im Zusammenbau vergeben kann. Da Felix ebenfalls eine Lösung zu diesem Problem sucht, habe ich die gefundene Lösung angehängt, um diesem Forum auch mal wieder etwas zurück zu geben. Es läuft schon sehr gut, aber ab und zu fehlen noch ein paar Fehlerabfragen, das wird hoffentlich noch. Verbesserungen können noch einfliesen. Ich wünsche Euch viel Spass und Zeitersparnis damit, ...
Gruß Wolfgang PS: Vielen Dank auch für alle Antworten, die mir auch Anregungen zum richtigen Weg gegeben haben. PPS: Ich freue mich auch auf Antworten, das dieses Tool auch bei Dir hilft, mit einem Daumen hoch. ------------------ alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. Werden wir es schaffen? Ja wir schaffen das !!! :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 279 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.2 Creo Elements / Direct Model Manager 20.2 Creo 5.0 Simulate <P>Notepad++ Win 7
|
erstellt am: 21. Jun. 2017 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für Seele
Hallo Wolfgang, der Weg über ME10 Makros war für mich mangels Wissen nicht möglich, dafür hast du mir die Lösung nun auf dem Silbertablett geliefert. Danke hierfür. Ich habe mir dein Tool bereits angesehen. Wie gehst du im Falle einer Modelländerung mit den Bezugspunkten um? Wenn sich eine Kante ändert, dann musst du ja die Elemente einzeln wieder korrigieren. Wäre da eine Lösung über Bezugslinien und ohne eigene Skizzenebene nicht die bessere Wahl?
------------------ Viele Grüße Felix 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: 22. Jun. 2017 08:54 <-- editieren / zitieren --> Unities abgeben: Nur für Seele
Hallo Wolfgang, super Tool und ein große Lob von meiner Seite. Da wir nur Positionsnummern in den Zeichnungen schreiben habe ich mir die Lisp umgeschreiben, so dass die Lisp nur der Beauskunpftung über Modellname/Bezeichnung dient. Ein Sahneheufchen für mich wäre, wenn er mir die Anzahl der vorhanden Exemplare anzeigt! Geht das? Danke!!!! Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Seele Mitglied Konstrukteur
Beiträge: 364 Registriert: 11.06.2003
|
erstellt am: 22. Jun. 2017 09:10 <-- editieren / zitieren --> Unities abgeben:
Hallo Felix, ... - Wie gehst du im Falle einer Modelländerung mit den Bezugspunkten um? Wenn sich eine Kante ändert, dann musst du ja die Elemente einzeln wieder korrigieren. - Wäre da eine Lösung über Bezugslinien und ohne eigene Skizzenebene nicht die bessere Wahl? Wie man die Flagge letztendlich zeichnet, kommt darauf an, wozu man es gerade braucht und muss man individuell für sich selbst anpassen z.B. Vorteil der Bezugslinie ist es, das sie automatisch auf die verschobene Kante springt. Nachteil der Bezugslinie ist es, das sie ihren Bezug verliert, wenn durch die Teileänderung die Kante verschwindet. Was sich mal ändert weis ich ja vorher nicht. Also was ist richtig und was ist falsch? (War schon im Parametrischen CAD-System mein ständiges Problem) Im Zweifelsfall weg löschen und neu erstellen, geht ja jetzt richtig fix. Ich denke so wie es ist habe ich persönlich bei meinen Projekten weniger nacharbeit, sollte ich mich irren, passe ich das Makro später nochmal an. Vielleicht wäre eine Auswahl, es mal so oder mal anders zu erzeugen, das Richtigste, um es individuell bestimmen zu können? Tote Geometrie oder fest an die Kante verknüpft! Mein nächstes Projekt ist jetzt aber ein automatisches Kennzeichnungsfeld in der 2D-Zeichnung. Jetzt wo ich den 3D-Besitzer im Annotation habe, will ich also Positionsnummer, Name, Material, evtl. Bestellnummer, Hersteller, Härte, Beschichtung, Änderungsstand u.s.w. auf der Zeichnung mit zwei Klicks haben. 1 Klick Kante mit Teil wählen 2 Klick Position für Feld auf der Zeichnung und fertig muss es sein. Freut mich aber, dass ich Dir auch mal helfen konnte. Ich denke das man jetzt, wo man den 3D-Besitzer im Annotation hat noch einige Verbesserungen schreiben kann, die vorher noch nicht möglich waren. Was genau das bringt die Zeit mit sich, .... Gruß Wolfgang PS: Mein Zwischen-Ziel ist es, alles im 3D zu erzeugen und alle Info´s darin abzulegen und das 2D muss sich diese Info´s selber abholen können, damit ich nur einmal die Arbeit habe. Endziel ist es, das man irgendwann mal überhaupt keine 2D-Zeichnungen mehr braucht, da alle nur noch 3D benutzen. ------------------ alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. Werden wir es schaffen? Ja wir schaffen das !!! :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Seele Mitglied Konstrukteur
Beiträge: 364 Registriert: 11.06.2003 Intel(R) Xeon(R) W-2245 CPU @ 3,90 GHz, 64GB RAM NVidia Quadro RTX A4000 Win10-64Bit Elements/Direct v20.5.1.0 PartLibrary, Surfacing, 3D-PDF, 3D-Access, Unigraphics-Schnittstelle
|
erstellt am: 22. Jun. 2017 09:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, ... ja das geht. Jetzt wo du den Teile-Besitzer der Kante kennst, kannst du ja alles fehlende aus der Exemplaranzeige.lsp von http://osd.cad.de/lisp_3d_17.htm nehmen und bei Dir ergänzen, wie du es brauchst. Gruß Wolfgang ------------------ alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. Werden wir es schaffen? Ja wir schaffen das !!! :-) 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: 23. Jun. 2017 07:55 <-- editieren / zitieren --> Unities abgeben: Nur für Seele
Hallo Wolfgang, hört sich leicht an, aber ich bekomme es nicht mal im Ansatz hin. Deshalb bin ich mal so dreist und hinterlege meine derzeitige Lisp hier, in der Hoffung, dass Du mir die fehlenden Teile hinzufügst. Also - Anzahl der Exemplare und die Oberbaugruppe des Teile (Oberbaugruppe bei DIN-Teilen aus der Partlibery wichtig) Gruß Michael PS: Ich hoffe das ich dir in deinem Thema nicht zu sehr rumrühre, ich denke aber so nee Beaukunpftungs-Lisp können auch andere gut gebrauchen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Seele Mitglied Konstrukteur
Beiträge: 364 Registriert: 11.06.2003
|
erstellt am: 27. Jun. 2017 21:17 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, ... nicht das Du denkst, dass ich Dir nicht helfen will, aber ich habe momentan viel zu tun auf der Arbeit. Wenn du schaust, sind von meinem 1 Gedanken dieses Makro zu schreiben, bis dahin, das es funktionierte auch 5 Monate vergangen. Grund dafür, ich bin auch kein LISP-Profi. Und schreibe auch alles neben meiner eigentlichen Arbeit. Ich bin auch froh immer wieder Hilfe in diesem Forum zu finden und gebe diese auch gern zurück. Kurzum, ich schreibe mir noch das Tool zum Auswerten, aber aufgrund anderer Termine weis ich nicht wie und wann ich dazu komme, aber wenn ich es hab denke ich an Dich, denn die Auswertung der Anzahl der Teile kommt da auch mit rein und dann kannst es Dir selbst individuell anpassen. Gruß Wolfgang PS: Hat schon mal jemand hier einen LISP-Kurs für den SolidDesigner besucht? Was kostet sowas? Wer macht sowas? Wie gut sind diese? Wie teuer ist sowas?
------------------ alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. Werden wir es schaffen? Ja wir schaffen das !!! :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 279 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.2 Creo Elements / Direct Model Manager 20.2 Creo 5.0 Simulate <P>Notepad++ Win 7
|
erstellt am: 29. Jun. 2017 07:10 <-- editieren / zitieren --> Unities abgeben: Nur für Seele
Guten Morgen! Das mit den Exemplaren ist überhaupt kein Problem sobald das Modell als SEL_ITEM verfügbar ist. Code: (setf exlist (SD-INQ-OBJ-SHARED-OBJECTS teil :all t))
In meinem Fall hat mich allerdings nur die Anzahl der Exemplare in einer bestimmten Baugruppe interessiert. Da hilf dann folgende Funktion. Code: (exemplare-filtern () (let (exlist) (setf exlist (SD-INQ-OBJ-SHARED-OBJECTS teil :all t)) (setf exlist (remove-if #'(lambda (x) (not (search (sd-inq-obj-pathname bg) (sd-inq-obj-pathname x)))) exlist)) (setf exlist (remove-if #'(lambda (x) (not (= (search (sd-inq-obj-pathname bg) (sd-inq-obj-pathname x)) 0))) exlist)) (setf display-exemplare (list-length exlist)) ) )
Die Elternbaugruppe bekommst du ja mit Code: (sd-inq-parent-obj {SEL_ITEM})
Ich kann dir leider das LISP nicht dahingehend anpassen, weil ich mich dann erst einarbeiten müsste und ich ebenfalls gerade sehr unter Zeitdruck stehe, aber vielleicht kannst du das ja selbst einbauen. ------------------ Viele Grüße Felix 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: 02. Jul. 2017 18:43 <-- editieren / zitieren --> Unities abgeben: Nur für Seele
Hallo Felix, ich denke die Info war an mich gewannt, von daher Danke!!! Ich habe das halbe Wochenende damit verbracht es irgendwie hinzubekommen. Klappt alles leider nicht, aber ich denke Wolfgang kann mit deinen Hinweise sehr gut weiter arbeiten. In der anderen Wochenendhälfte, habe ich dann versucht die Teile-Namen in der der Teileliste zu zählen/ bzw. abzugeleichen. So bin ich dann über 'write-to-string, sd-string-replace ... an zwei Listen gelangt. Die Listenlänge subtrahieren ich voneinander und habe dann die Anzahl der vorhandenen Exemplare in der Ansicht. Das funktioniert meines erachtens soweit, allerdings denke ich das es viel leichter gehen müsste. Mir gefällt die Lösung trotzdem. Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|