| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
| Optimieren Sie Ihr Rechenzentrumsn, eine Pressemitteilung
|
Autor
|
Thema: Referenzkoordinatensystem auswerten (1380 / mal gelesen)
|
lix b Mitglied Konstrukteur, CAD-Admin
Beiträge: 291 Registriert: 03.10.2014 Creo Elements / Direct Modeling 20.4 Creo Elements / Direct Model Manager 20.4 <P>Notepad++ Win 11
|
erstellt am: 19. Mai. 2020 14:55 <-- editieren / zitieren --> Unities abgeben:
Hallo! Vermutlich stehe ich gerade auf dem Schlauch. Vielleicht kann mir jemand kurz helfen, indem er mir einen Hinweis gibt, wie ich das Referenzkoordinatensystem eines Teils abrufen kann. LG Felix ------------------ Viele Grüße Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SchmitteHarry Mitglied
Beiträge: 29 Registriert: 30.07.2020 PTC Creo Elements Direct V 19 Siemens NX 1953
|
erstellt am: 01. Aug. 2020 21:58 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
|
MiBr Mitglied Konstrukteur
Beiträge: 575 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: 02. Mrz. 2021 15:44 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Hallo, da sich eine Kunde beklagt hat, das unsere Modell teils im Nirvana liegen, habe ich mal ein Tool geschrieben um den Nullpunkt/Referenzpunkt Sichtbar zu machen. Ich dacht, dass ich anschließend das Teil zum Referenzpunkt hinbewegen kann und so Probleme vermeiden kann. Da scheitere ich aber komplett!!! Das Tool legt Arbeitsebenen nach dem sd-vek-xform Koordinaten des Teils ins Modeling. Könnt das ja mal ausprobieren, die liegen bei uns überall. Gibts ein Möglichkeit diese Punkt zu verschieben? Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000
|
erstellt am: 02. Mrz. 2021 16:24 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Soviel ich weiss, gibt es nur die Möglichkeit, alle Flächen so eines Teils im ersten Schritt vom Referenzpunkt auf den Nullpunkt zu verschieben und dann das Teil als Ganzes wieder in die Einbauposition zurück zu bewegen ------------------ 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 |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.6, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook Fury 16 G9, Windows 10 Pro 64
|
erstellt am: 02. Mrz. 2021 16:38 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Generell sollte man sich beim Modellieren möglichst nicht zu weit vom Ursprung entfernen, der nutzbare Arbeitsraum bei einer Genauigkeit von 10E-6 ist eine Kugel mit "nur" 100m Radius. Das ergibt sich schlicht aus den Fähigkeiten der Prozessoren. Zwischen 10E-6mm und 100m=10E5 liegen 12 Digits, da wirds für komplexere Geometrien schon eng am Rand des Universums ------------------ 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: 575 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: 03. Mrz. 2021 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Hallo Walter, Zitat: Soviel ich weiss, gibt es nur die Möglichkeit, alle Flächen so eines Teils im ersten Schritt vom Referenzpunkt auf den Nullpunkt zu verschieben und dann das Teil als Ganzes wieder in die Einbauposition zurück zu bewegen
Habe das gerade mal mit einem Getriebegehäuse probiert und hätte nicht gedacht das das funzt. Nach mittellanger Rechenzeit hatte ich das Madell im Nullpunkt. Also erstmal top! Anschließend habe ich die 2d-Anno aktualisiert und diese war leicht zerschossen, schade war aber wohl zu erwarten. Somit kann ich diese vorgehensweis nur bei neuen Modellen anwenden! Wir haben aber auch DIN-Teile die im irgendwo liegen, da ginge dies. Alledings sind diese Teile meist in vielen BG verbaut, das wäre nee menge Arbeit! Naja, denke das Tool könnte dennoch nützlich sein, damit man etwas sensibler beim erstellen von Teilen im universum ist! Danke Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000
|
erstellt am: 03. Mrz. 2021 12:43 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Zitat: Original erstellt von MiBr: Anschließend habe ich die 2d-Anno aktualisiert und diese war leicht zerschossen, schade war aber wohl zu erwarten.
Da müsste man zusätzlich zu allen Flächen auch alle Ansichtssätze genauso verschieben und dann erst das Teil zurückschieben Zitat:
Wir haben aber auch DIN-Teile die im irgendwo liegen, da ginge dies. Alledings sind diese Teile meist in vielen BG verbaut, das wäre nee menge Arbeit!
Tja, bei mehrfach genutzten Teilen muss man höllisch aufpassen, wenn die zudem noch in bereits gesperrten Konstruktionen stecken, darf man das nicht machen. Eventuell das fragliche Teil für einen Export erst kopieren, reparieren und dann wieder löschen oder in einen Behälter unter dem Original ablegen. Bei Normteilen kommt mir so ein Effekt aber sehr seltsam vor, die werden doch nach Auswahl aus ihren Parametern am Nullpunkt erzeugt und dann interaktiv eingebaut ------------------ 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 |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.6, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook Fury 16 G9, Windows 10 Pro 64
|
erstellt am: 03. Mrz. 2021 12:52 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Zitat: Original erstellt von Walter Geppert:
Bei Normteilen kommt mir so ein Effekt aber sehr seltsam vor, die werden doch nach Auswahl aus ihren Parametern am Nullpunkt erzeugt und dann interaktiv eingebaut
Das trifft übrigens auch für alle Zukaufteile aus dem "Cadenas-Universum" zu, das viele Firmen zur Bereitstellung ihrer Produkte nutzen, also überall, wo man native Daten als Import auswählen kann. Bei STEPs zum direkten Herunterladen habe ich auch noch nie einen gravierenden Offset bemerkt ------------------ 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: 575 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: 03. Mrz. 2021 13:05 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Hallo, kann man Ansichtssätze manuelle verschieben? Die Normteile aus der PartLibery liegen natürlich im Ursprung. Wir haben aber viele Teile die nicht daraus stammen, bzw. selber erstellt worden sind, Lüfter, Verschlußschrauben, ... . Step-Files etc. benutzen wir natürlich auch, da ist nur immer das kleine Problem mit der Auflösung! Naja, die Probleme sind selbst gemacht, wenn man im Modeling den Referenzpunkt ähnl. wie z.b. Arbeitsebenen einblenden könnte, gäbs diese großen Abweichungen evtl. garnicht. Von daher dachte ich an so ein Tool! Aber wie gesagt: Selber Schuld! Gruß Michael [Diese Nachricht wurde von MiBr am 03. Mrz. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000
|
erstellt am: 03. Mrz. 2021 14:42 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Zitat: Original erstellt von MiBr:
kann man Ansichtssätze manuelle verschieben?
Hatte ich ehrlich gesagt noch nie versucht, auf die Schnelle habe ich dafür auch noch keine Lösung ------------------ 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 |
Walter Geppert Moderator Frank und Frei
Beiträge: 2158 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.6, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook Fury 16 G9, Windows 10 Pro 64
|
erstellt am: 03. Mrz. 2021 16:21 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Hab jetzt einen Workaround für die Ansichtssätze gefunden:
- Zeichnung zu Teil laden
- Teil Kopieren
- in Anno: Zeichnung zu Kopie zuordnen
- Ansichtssatz im Original löschen
- Alle Flächen im Original bewegen
- Original zurückbewegen
- in Anno: Zeichnung als Variante zu Original zuordnen
- in Anno: Zeichnung aktualisieren
Jedenfalls ein Riesenaufwand ------------------ 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: 575 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: 05. Mrz. 2021 07:52 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Hallo, ach du sch.... habe ich als erstes gedacht, man stellt sich das ja so einfach vor! Trotzdem vielen Danke Walter!!! Ich habe das Tool nochmal überarbeitet und abgerundet. Evtl. findet es ja ncoh jemand gut die Referenzpunkte mal zu visualisieren. Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 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: 06. Mrz. 2021 17:19 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Zitat: Original erstellt von MiBr: Ich habe das Tool nochmal überarbeitet und abgerundet.
sieht nett aus.. kleines Code Readen unter Freunden: 1)
Code: (when (sd-inq-curr-wp) (setf default_WP (sd-inq-curr-wp))) ;Aktive Arbeitsebene sichern
einfach nur Code: (setf default_WP (sd-inq-curr-wp)) ; könntest Du sogar direkt im LET machen
Wenn keine WP curr ist, weist der VAR halt NIL zu. tut nicht weh. Die aktuelle WT hinten raus wieder einzustellen ist so richtig! Gefällt! 2)
Code: (setq AE-Baugruppename...
AE-Baugruppename fehlt im (let... ) 3) die Zeilen 26 bis 35 und 41 bis 51 sind 93% identisch. das schreit nach einer lokalen function
Code: (create-ref-pnt-wp (objekt wp-name) ....)
welche Du für das selektiert Objekt... und auch für die Kinder des selektierten objekts aufrufst 4) bei geshareten objekten erzeugst du ziemlich viele WPs' ;-) ist das sinnvoll?
Code: (dolist (a-item nummern_liste)
besser, weil nur einmal pro contents: Code: (dolist (a-item (remove-duplicates (sd-inq-obj-children objekt) :test #'equal :key #'sd-inq-obj-contents-sysid))
und die (nicht definierte!) nummern_liste lassen wir ganz weg. 4b) beim WP Name kann man sich dann ggf. überlegen ob man den Contentsname verwendet... 5) bei Assemblies betrachtest Du nur die Objekte der ersten Ebene darunter... aber nicht rekursive alle Ebenen darunter.. Absicht? Oder Versehen?
------------------ ● 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 |
MiBr Mitglied Konstrukteur
Beiträge: 575 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: 08. Mrz. 2021 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Hallo Wolfgang, danke für die positive Kritik, ist ja fast länger als die Lisp. zu 1) tut wirklich nicht weh, geändert zu 2) geändert zu 3) lokale Funktion erstellt zu 4) alle Teile zu berücksichtigen kann nützlich sein, in den meisten Fällen eher nicht. Von daher habe ich eine Auswahl hinzugefügt! Danke für den Remove-Befehl! zu 4.1) Brauche das Tool eher für Kundenmodelle, die meistens untrennbar BG sind und bei Contens kommt halt nur NIL raus. zu 5) Jein, bei den Kundenmodell ist die Struktur meist auf eine Ebene begrenzt, von daher i.O.. Und bei kompletten Baugruppen wären es ja dann sehr viele AE gewesen. Mit der Auswahl Remove-Exemplar ist das natürlich etwas anderes. Was aber der ursprüngliche Grund ist: Fehlende Möglichkeiten diese zu Greifen! Nee Auswahl EINE EBNENE fände ich gut! Kennst Du eine Möglichkeit alle Teile/Baugruppen zu selektieren? Frage meinerseits: Muss das a-item aus der dolist mit in die let()? Anbei die nettere und rundere Lisp! Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 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: 08. Mrz. 2021 19:25 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Zitat: Original erstellt von MiBr: danke für die positive Kritik, ist ja fast länger als die Lisp.
Okay ich fasse mich kürzer... zu 4) Danke für den Remove-Befehl! der remove dup ist ganz schön effektiv und verkürzt den Auwand häufig . 90% sharing ist keine Seltenheit. 5) Nee Auswahl EINE EBENE fände ich gut! Kennst Du eine Möglichkeit alle Teile/Baugruppen zu selektieren? get_selection rekursive in Baugruppe.. Kennst du doch! ;-) Frage meinerseits: Muss das a-item aus der dolist mit in die let()? nein.. die "lauf-variable" der dolist ist automagisch definiert und nur im Body der Schlaufe gültig. (dotimes (i 42) ... ) ebenso.. Also kein LET eintrag für nötig. rundere Lisp! Ach, jetzt weiss ich endlich warum man da immer (so viele) (runde) Klammern(!) braucht! Damit es rund wird.
------------------ ● 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 |
MiBr Mitglied Konstrukteur
Beiträge: 575 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: 10. Mrz. 2021 11:57 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Hallo Wolfgang, an get_selection hatte ich garnicht gedacht, da fehlt mir wohl die Routine, da ich nur hin und wieder am lispeln bin. Habe das jetzt eingebaut und auch den Contens-Name zusätzlich hinzugefügt. Somit präsentiere ich die hoffentlich Runde Teilereferenzpunkt.lsp - Version 1.0! Gruß Michael und wie immer mit fetten Dank für die großartige Hilfe!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 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: 10. Mrz. 2021 19:50 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Zitat: Original erstellt von MiBr: Somit präsentiere ich die hoffentlich Runde Teilereferenzpunkt.lsp - Version 1.0!
;) Den :after-input vom selektierten Objekt hätte ich statt
Code: :after-input (if (sd-inq-assembly-p BE_Objekt) (progn (sd-set-variable-status 'do_exemplare :enable t) (sd-set-variable-status 'eine_ebene :enable t) ) (progn (sd-set-variable-status 'do_exemplare :enable nil) (sd-set-variable-status 'eine_ebene :enable nil) ) ) ;end if
eher so geschrieben Code: :after-input (progn (sd-set-variable-status 'do_exemplare :enable (sd-inq-assembly-p BE_Objekt)) (sd-set-variable-status 'eine_ebene :enable (sd-inq-assembly-p BE_Objekt)) )
Aber das ist sicherlich etwas Geschmackssache. Dann ist mir aber aufgefallen das du ja auch bei "Nur Eine Ebene" Kinder finden könntest wo der Contents geshared wird. Warum dann überhaupt do_exemplare enable/disablen. Und damit wären wir bei: Code: :after-input (sd-set-variable-status 'eine_ebene :enable (sd-inq-assembly-p BE_Objekt))
Wenn man dann noch weiter geht und ein PART ja auch 3 Container drunter haben könnte unterhalbe jener... dann macht auch eine solche Unterscheidung keinen Sinn mehr und man landet bei Code: ;after-input
--------------- Die Zeilen 101 bis 104 kannst du auch durch Code: (setq contents-name (or (sd-inq-obj-contents-name akt_item) "X"))
ersetzen. Ist aber heute schon ein gutes LISP!!
------------------ ● 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 |
MiBr Mitglied Konstrukteur
Beiträge: 575 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: 11. Mrz. 2021 06:58 <-- editieren / zitieren --> Unities abgeben: Nur für lix b
Hallo Wolfgang, ich habe die Lisp ja eigentlich so schreiben wollen, dass man sich von einzelnen Teilen die Referenzpunkt anzeigen lassen kann. Für mich die primäre Option und von daher auch die when Abfrage in Zeile 71. Diese lässt ein weiteres auswerten bei Teilen nicht zu. Ich finde es gut so, aber man kann sicherlich anderer Meinung sein. Bei dem Vorschlag im :after-input ist dein Vorschlag wesentlich eleganter, für mich als Anfänger ist die lange Variante aber besser zu lesen. Und das mit dem '(setq contents-name (or (sd-inq-obj-contents-name akt_item) "X"))' funzt Wirklich! Da staune ich, hatte kurz geguckt ob schon 1. April ist ! Somit steck ja im or eine kleines unless mit drin. Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |