| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | MAIT erhält den Abas Partner Performance Award 2025, eine Pressemitteilung
|
Autor
|
Thema: Extrudieren oder Rotieren mit sysid - namen. (1784 mal gelesen)
|
SOLID-master Mitglied Consultant/Trainer CAD/PDM/ERP

 Beiträge: 88 Registriert: 20.04.2004
|
erstellt am: 24. Jun. 2008 14:57 <-- editieren / zitieren --> Unities abgeben:         
hallo alle zusammen, wie kann man beim z.b. extrudieren oder drehen(standardfunktionen) vorgehen, dass der teilename eindeutig und automatisch generiert wird? vorgehensweise: z.b. 1.arbeitsebene mit kontur 2.rechte maustaste auf ae(arbeitsebene) 3.extrudieren oder auch drehen 4.name ist dann auto. belegt. hintergrund: vorabkonstruktion (ohne) der verwaltung, falls doch dann ist der namen(z.b. sysid oder typisch datum,uhrzeit,workstatio etc...) schon da und für mm(modelmanager) eindeutig ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dieter Kotsch Mitglied
 
 Beiträge: 311 Registriert: 10.08.2002
|
erstellt am: 25. Jun. 2008 10:58 <-- editieren / zitieren --> Unities abgeben:          Nur für SOLID-master
HI Erstelle zuerst ein neues Teil über den entsprechenden Befehl in Teil&Baugruppe Menü 1 Bereich Erstellen. Dieses Teil ist nun aktiv. Beim Aufruf einer Bearbeitenfunktion wird das aktive Teil vorgeschlagen. Grüße Dieter ------------------ nichts ist unmöglich  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SOLID-master Mitglied Consultant/Trainer CAD/PDM/ERP

 Beiträge: 88 Registriert: 20.04.2004 hp Z210, W7 64bit - PTC Creo Elements/Direct Modeling 23 - AutoCAD/Mechanical MDT6/2010 - ZwCAD 2010 - IBSCAD Mech.
|
erstellt am: 03. Jul. 2008 14:00 <-- editieren / zitieren --> Unities abgeben:         
*********Erstelle zuerst ein neues Teil über den entsprechenden****** ab hier ist es schon zu spät. ich meine wenn man z.b. auf extrudieren geht, verlang ja dass system von den usern einen namen(z.B.T1), dass dann der name(eindeutig z.b. sysid)automatisch zumindest vorgeschlagen wird. kann leider kein bild hochladen(firewall)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
highway45 Moderator Bastler mit Diplom
       

 Beiträge: 6385 Registriert: 14.12.2004 CoCreate Modeling V20 + PE6 NotePad++
|
erstellt am: 03. Jul. 2008 14:23 <-- editieren / zitieren --> Unities abgeben:          Nur für SOLID-master
Aber wenn, wie Dieter schreibt, schon ein aktives Bauteil vorhanden ist, dann wird das auch als Name vorgeschlagen. Wenn du ein Programm dafür schreiben möchtest, dann brauchst du nur hinter dem Extrudier-Kommando ein :part "/Teil" einfügen. Das heißt dann aber nur dumm "Teil". Wie man das mit Uhrzeit und Datum verknüpft: keine Ahnung. [Diese Nachricht wurde von highway45 am 03. Jul. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dieter Kotsch Mitglied
 
 Beiträge: 311 Registriert: 10.08.2002
|
erstellt am: 10. Jul. 2008 09:55 <-- editieren / zitieren --> Unities abgeben:          Nur für SOLID-master
HI In diesem Zusammenhang kannst Du über eine LISP-Funktion das Datum und Uhrzeit ermitteln und Dir daraus den Teilenamen zusammenbauen. Beim Zusammensetzen des Teilenamens nicht vergessen auf zulässige Zeichen im Teilenamen achten. Gruß Dieter ------------------ nichts ist unmöglich  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
     

 Beiträge: 2166 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: 10. Jul. 2008 10:16 <-- editieren / zitieren --> Unities abgeben:          Nur für SOLID-master
Wie schon in ein paar Threads erwähnt, ist es kein besonders guter Plan, sich auf den Teilenamen zu verlassen, weil der "flüchtig" ist! Besser ist da der Modellname (früher Inhalts-ID). Wenn man dann in der Strukturliste unbedingt was Vernünftiges stehen haben will, kann man a) den Browser so einstellen, dass der Modellname auch angezeigt wird (otimal) b) die Teile makrogestützt je nach den Modellnamen umbenennen ------------------ meine LISP-Makros sind auf osd.cad.de Disclaimer Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SOLID-master Mitglied Consultant/Trainer CAD/PDM/ERP

 Beiträge: 88 Registriert: 20.04.2004
|
erstellt am: 14. Dez. 2009 15:06 <-- editieren / zitieren --> Unities abgeben:         
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! hallo alle zusammen,
musste mich solange mit lsp und co. beschäftigen die idee von dieter ist nicht schlecht. 1. teil erstellen 2. dann die konstruktion 3. z.b. beim extrudieren wird das aktive teil gewählt und extrudiert
meine frage ist jetzt: wie kann man ein dialog schreiben der jedes mal beim ausführen zusatz-lisp startet(für teile anlage) mit ":after-initialization" ist es schon zuspät wie es aussieht. gibt es vielleicht ":befor-initialization"? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dieter Kotsch Mitglied
 
 Beiträge: 311 Registriert: 10.08.2002
|
erstellt am: 14. Dez. 2009 15:33 <-- editieren / zitieren --> Unities abgeben:          Nur für SOLID-master
|
SOLID-master Mitglied Consultant/Trainer CAD/PDM/ERP

 Beiträge: 88 Registriert: 20.04.2004 hp Z210, W7 64bit - PTC Creo Elements/Direct Modeling 23 - AutoCAD/Mechanical MDT6/2010 - ZwCAD 2010 - IBSCAD Mech.
|
erstellt am: 14. Dez. 2009 15:53 <-- editieren / zitieren --> Unities abgeben:         
anbei die syntax: ############################################# (use-package :OLI) (sd-defdialog 'TestDialog :dialog-title "ExpressExtrude" :initial-value '( (load (format nil "~A/foo.lsp" (oli::sd-sys-getenv "SDSITECUSTOMIZEDIR"))) (create_part :name TeileName wner "/") ) :variables '( (neuesTeil :value-type art-incl-new) (ArbeitsEbene :value-type :wp-with-profile) (Abstand :value-type :distance) ) k-action '(sd-call-cmds (extrude art neuesTeil :wp ArbeitsEbene :distance Abstand)) ) ########################################################
ich will ja ein teil vorher erstellen lassen, damit das dann als teilename(da aktiv) vorgeschlagen wird. achtung: der "TeileName" kommt als vari aus der foo.lsp datei Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SOLID-master Mitglied Consultant/Trainer CAD/PDM/ERP

 Beiträge: 88 Registriert: 20.04.2004
|
erstellt am: 14. Dez. 2009 16:21 <-- editieren / zitieren --> Unities abgeben:         
ohh sorry kleine kor. ########################## (use-package :OLI) (sd-defdialog 'TestDialog :dialog-title "ExpressExtrude" :after-initialization '(sd-call-cmds (progn (load (format nil "~A/foo.lsp" (oli::sd-sys-getenv "SDSITECUSTOMIZEDIR"))) (create_part :name TeileName wner "/") ) ) :variables '( (neuesTeil :value-type art-incl-new) (ArbeitsEbene :value-type :wp-with-profile) (Abstand :value-type :distance) ) k-action '(sd-call-cmds (extrude art neuesTeil :wp ArbeitsEbene :distance Abstand)) ) #########################################
mit ":after-initialization " kommt es wie gesagt einwenig zu spät oder die variable "neuesTeil" kann es in dem moment nicht anwenden.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
     
 Beiträge: 2296 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.5737 ● Drafting V17~V20.7@job ● Modeling V17~V20.7@job ● Windchill 12.1.2.6@job ● UWGM Client 13.0.0.1@job ● Taschenrechner ● Stift+Zettel V8.42
|
erstellt am: 14. Dez. 2009 16:34 <-- editieren / zitieren --> Unities abgeben:          Nur für SOLID-master
Ich finde den Ansatz den Du da verfolgst ziemlich <räusper> schräg. Dieter hat dich schon auf den :initial-value hingewiesen. Der initial value ist, der von Deiner variable (!). Du koenntest dich auch mal ueber ':Precondition' informieren. Die Datei foo.lsp immer und immer wieder NEU zu laden erscheint mir sehr merkwürdig. Sie soll ja scheinbar nur einen Teilename liefern. WAS enthält foo.lsp? Frage: Warum erzeugst du ein PART (in der Initial phase) wenn du nur den Teilename benötigst?
Lies auch mal ueber: sd-gen-obj-basename. Da wird dir schnell auffallen, das du ein :PARENT benötigst, denn sonst wird dir dein Part mal hier und mal da in der aktuellen Struktur erzeugt, ziemlich zufällig. Ausserdem (in deinem LISP konstukt), wenn Du bei "neuesTeil" nach dem Erscheinen des UI's einen neuen namen händisch eingibst, hast du am Ende auch noch ein leeres Teil in der Gegend rumhängen (weil du explizit ein CREATE_PART aufrufst).
Du solltest Dir (vermute ich) eine FUNKTION schreiben, die Dir einen Partname generiert (in der gewünschten Art und Weise) und diesen nur als String zurückliefert, aber selbst nicht schon etwas erzeugt oder so. Diese Funktion rufst du dann innerhalb deines Dialogs an geeigneter Stelle auf.
Das es im Dialog Generator Manual schon ein Beispiel fuer 'Quick Extrude' gibt, ist dir aber schon bekannt? Ja ich werfe wohl mehr Fragen auf.... das liegt wohl an der IMHO schwammigen Problemstellung. ----------------- unsere Beiträge haben sich gerade zeitlich ueberschnitten. Ich habe in deinen Code-schnipseln auch noch :OWNER "/" gesichtet. Also eine Frage weniger.
[Diese Nachricht wurde von der_Wolfgang am 14. Dez. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SOLID-master Mitglied Consultant/Trainer CAD/PDM/ERP

 Beiträge: 88 Registriert: 20.04.2004
|
erstellt am: 14. Dez. 2009 20:58 <-- editieren / zitieren --> Unities abgeben:         
Ich finde den Ansatz den Du da verfolgst ziemlich <räusper> schräg. -->relativ Dieter hat dich schon auf den :initial-value hingewiesen. Der initial value ist, der von Deiner variable (!). -->ja die idee mit ":initial-value" muss ich nochmal testen. Du koenntest dich auch mal ueber ':Precondition' informieren. -->??meinst du für LSP?? oder für def.dialog?? Die Datei foo.lsp immer und immer wieder NEU zu laden erscheint mir sehr merkwürdig. Sie soll ja scheinbar nur einen Teilename liefern. -->stimmt , war ein schnellschuss.(defun) & dann immer passend abrufen. WAS enthält foo.lsp? -->lese datum, uhrzeit und erzeuge eine vari. Frage: Warum erzeugst du ein PART (in der Initial phase) wenn du nur den Teilename benötigst? -->alternative? "highway45 --> art "/Teil" und dann statt /teil die vari? Lies auch mal ueber: sd-gen-obj-basename. Da wird dir schnell auffallen, das du ein :PARENT benötigst, denn sonst wird dir dein Part mal hier und mal da in der aktuellen Struktur erzeugt, ziemlich zufällig. -->wie? und was ist mit root "/" Ausserdem (in deinem LISP konstukt), wenn Du bei "neuesTeil" nach dem Erscheinen des UI's einen neuen namen händisch eingibst, hast du am Ende auch noch ein leeres Teil in der Gegend rumhängen (weil du explizit ein CREATE_PART aufrufst). -->warum sollte der user den namen ändern wenn der schon def. ist? soll ja schließlich ExpressExtrude werden ;-). sonst hast du recht.
Du solltest Dir (vermute ich) eine FUNKTION schreiben, die Dir einen Partname generiert (in der gewünschten Art und Weise) und diesen nur als String zurückliefert, aber selbst nicht schon etwas erzeugt oder so. Diese Funktion rufst du dann innerhalb deines Dialogs an geeigneter Stelle auf. -->dieser zeileneintrag ist produktiv. dafür gibt es units Das es im Dialog Generator Manual schon ein Beispiel fuer 'Quick Extrude' gibt, ist dir aber schon bekannt? --> Generator Manual? Quick Extrude schon. Ja ich werfe wohl mehr Fragen auf.... das liegt wohl an der IMHOIn my humble oppinion (Meiner Meinung nach) schwammigen Problemstellung. --> relativ, manchmal sollte man die software nicht bewundern wie sie funktioniert, sondern einfach nutzen, auch wenn die syntax "<räusper> schräg" wird.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
     

 Beiträge: 2166 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: 14. Dez. 2009 22:44 <-- editieren / zitieren --> Unities abgeben:          Nur für SOLID-master
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist!
Zitat: Original erstellt von SOLID-master:
gibt es vielleicht ":befor-initialization"?
Genial, eine Software, die reagiert, bevor sie aufgerufen wird Zitat: Original erstellt von SOLID-master:
-->dieser zeileneintrag ist produktiv. dafür gibt es units
Sehr grosszügig! Bevor du uns restlos den Nerv ziehst ein Rat von mir garantiert ohne Aussicht auf Unities: RTFM------------------ meine LISP-Makros sind auf osd.cad.de Disclaimer Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dieter Kotsch Mitglied
 
 Beiträge: 311 Registriert: 10.08.2002
|
erstellt am: 15. Dez. 2009 08:53 <-- editieren / zitieren --> Unities abgeben:          Nur für SOLID-master
Hallo Natürlich ist die entsprechende Option für sd-defdialog gedacht. Frage: 1.) Was ist mit Namen für Behälter und Baugruppen? 2.) Was ist mit dem Umbenennen? Wahrscheinlich wird es die einfachste Lösung sein, mit einem Befehl eine eindeutige Benennung zu erzeugen und diese mit manuell mit Cut&Paste manuell zu übernehmen. oder auf eine Funktion zu Namensgenerierung auf das Rechte Mausmenü der entsprechenden Befehle zu legen. oder im MM einfach einen Nummerngenerator einsetzen. Gruß Dieter Gruß Dieter
------------------ nichts ist unmöglich  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
     
 Beiträge: 2296 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.5737 ● Drafting V17~V20.7@job ● Modeling V17~V20.7@job ● Windchill 12.1.2.6@job ● UWGM Client 13.0.0.1@job ● Taschenrechner ● Stift+Zettel V8.42
|
erstellt am: 15. Dez. 2009 14:51 <-- editieren / zitieren --> Unities abgeben:          Nur für SOLID-master
Zitat: Original erstellt von Dieter Kotsch: Wahrscheinlich wird es die einfachste Lösung sein, mit einem Befehl eine eindeutige Benennung zu erzeugen und diese ....
... via sd-put-buffer in das gerade active extrude / rotate / create_part / whatever Kommando hinzuschubsen. Dann behält mach auch die ganzen hübschen Dinge der Original Kommandos, wie Feedback / draggen etc. Wir sehen uns dann im Juni 2011 in diesem Thread wieder ------------------ ● Seamonkey Firefox Thunderbird ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |