| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Beistand ! Wie ME10 Makro in Lisp? (3997 mal gelesen)
|
tograh Mitglied Konstrukteur
Beiträge: 74 Registriert: 22.08.2003
|
erstellt am: 27. Mai. 2004 09:39 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, hab jetzt das Forum schon ein paarmal durchgelesen und noch nichts passendes gefunden. Also hier mal mein Problem. Hab hier ein wunderschönes ME10 Makro, das ich gerne in LISP umsetzen würde. einfachste Grundkenntnisse in LISP sind vorhanden und in das Makro hab ich mich auch reingedacht. Was ich also suche, wäre jemand der mit mir dieses Makro durchleuchtet und mir zeigt wie man so eine Übersetzung angeht. Also wer traut sich so etwas zu ? Bis bald Torsten ------------------ Dominus vobis cum 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. Mai. 2004 09:46 <-- editieren / zitieren --> Unities abgeben: Nur für tograh
Hallo Torsten, das kommt drauf an, was das Makro denn so macht. Den ganzen interaktiven Teil kann man nur mit Hilfe von LISP und dem DialogGenerator aus dem IntegrationKit machen, eventuelle Geometriefunktionen lassen sich vielleicht direkt als ME10-Makro aufrufen. Lass mal sehen worums geht! ------------------ meine LISP-Makros sind auf Heikos Hilfeseite Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tograh Mitglied Konstrukteur
Beiträge: 74 Registriert: 22.08.2003
|
erstellt am: 27. Mai. 2004 10:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Walter, hab es als Text-Anhang beigefügt. (Hoffentlich klappts) Da ich frisch von einem Lisp-Kursus komme hatte ich diese Problematik dort angesprochen. Der Leiter hat sich dann auch so wie du dazu geäußert. ;-) Also wäre gut wenn du das Makro mal laufen lassen könntest. Wäre bestimmt auch für andere sehr nützlich. Bis dann Torsten ------------------ Dominus vobis cum 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. Mai. 2004 11:07 <-- editieren / zitieren --> Unities abgeben: Nur für tograh
Hallo Torsten, tja das sieht auf den ersten Blick ja ganz easy aus ABER die Tücke steckt im Umfeld:
- Das Makro setzt voraus, dass der Bezugspunkt für die Koordinatenliste auf 0,0 liegt, das kriegt man in Anno allerdings auch hin
- die Tabelle wird eiskalt ins TOP gezeichnet, das verträgt Anno nun überhaupt nicht
- bei masstäblicher Darstellung von Ansichten misst Anno trotzdem im TOP und zwar sturheil 1:1, das muss man also umrechnen
Summasummarum wird so aus ein paar Zeilen ME10-Code in LISP ein ganzer Roman draus. Es wäre allerdings schwer zu wünschen, dass so eine Koordinatenbemassung als Standard von CC zur Verfügung stünde ------------------ meine LISP-Makros sind auf Heikos Hilfeseite Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tograh Mitglied Konstrukteur
Beiträge: 74 Registriert: 22.08.2003
|
erstellt am: 27. Mai. 2004 11:18 <-- editieren / zitieren --> Unities abgeben:
Hallo Walter, hmpf, also doch wohl etwas schwieriger. Wie könnte denn sowas aussehen? Bei mir hapert das schon mit dem Nullpunkt setzen. "die Tabelle wird eiskalt ins TOP gezeichnet" könnte mann das nicht in etwa so lösen, wie Du das im am_posnum.lsp gemacht hast (da blicke ich nämlich gar nicht durch) "bei masstäblicher Darstellung von Ansichten misst Anno trotzdem im TOP und zwar sturheil 1:1, das muss man also umrechnen" Und wenn man hier im measure Befehl direkt die Ansicht angeben würde? Irgendwie möchte ich das schon gern lösen. Bis bald Torsten ------------------ Dominus vobis cum Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klaus Lörincz Mitglied Consultant
Beiträge: 533 Registriert: 06.08.2003 OSD M = aktuell OSD D = aktuell OS M = aktuell auf WIN und HP-UX
|
erstellt am: 28. Mai. 2004 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für tograh
Hallo zusammen, also: 1) mann kann bezogen auf einen Ursprung den man selber definiert Maße ausgeben lassen. 2) Den Massstab der Zeichunng/Ansicht lässt sich durch Abfragen im Annotation von LISP Seite abdecken. 3) Die Makros Kommando/Funktion kann mann interaktiv aus LISP nach Annotation übermitteln und damit Werte aus Makros wieder im LISP verwenden. 4) Funktionen zum Zeichnen von Tabellen und füllen gleicher sin d In Annotation schon vorhanden - Siehe die Seite Annotation Cusomization Page. 5) Nach Betrachtung des Makros würde ich sogar sagen - alles in die Lispschale legen - auch das Abfragen der Punkte die in die Tabelle müssen - Setzen des Bezugspunkts für die Tabellen Masse - Zeichen der Tabelle mit den von Anno gelieferten Funktionen. Grüßle
------------------ Klaus Lörincz 0174 3439 428 Sindelfingen Germany Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tograh Mitglied Konstrukteur
Beiträge: 74 Registriert: 22.08.2003
|
erstellt am: 28. Mai. 2004 10:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus, danke für deine Antwort, hab jetzt mal ein paar fragen zur Selbsthilfe. Wie finde ich das in der Hilfe? (Stichworte etc.) Wie komme ich auf solche Funktionen? Und warum gibt es sowas nicht im Standard ? ;-) Besten Dank im voraus Torsten ------------------ Dominus vobis cum Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tograh Mitglied Konstrukteur
Beiträge: 74 Registriert: 22.08.2003
|
erstellt am: 01. Jun. 2004 11:45 <-- editieren / zitieren --> Unities abgeben:
|
Dieter Kotsch Mitglied
Beiträge: 311 Registriert: 10.08.2002
|
erstellt am: 01. Jun. 2004 15:35 <-- editieren / zitieren --> Unities abgeben: Nur für tograh
HI Im Integration Kit gibt es einen separaten Bereich für das Programmieren im Annotation. In deinem Makro sind im Detail wie alle sagen ein paar Fallen eingebaut. Tips: Die Eingaben mußt Du in einem separaten Dialog unterbringen. Deine Tabelle erzeugst Du am besten getrennt, in einem separaten Teil auf Blattebene. Gruß Dieter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klaus Lörincz Mitglied Consultant
Beiträge: 533 Registriert: 06.08.2003 OSD M = aktuell OSD D = aktuell OS M = aktuell auf WIN und HP-UX
|
erstellt am: 08. Jun. 2004 09:17 <-- editieren / zitieren --> Unities abgeben: Nur für tograh
Hallo Torsten, bin etwas im Verzug - Hatte keine Zeit fürs Forum. Hier eine Anleitung für den Ursprung: 1) Du kannst ein Koordinatensystem im 3D erzeugen. Dieses Koordinatensystem wird auch ins Annotation übertragen. Dort kann mann die Elemente über den I-Kit abfragen. Die Masse für die Tablle kann man dann über dieses Koordinatensystem berechnen. 2) Du Kannst ein Koordinatensystem im Annotation festlegen. Punkt - INFO an den Punkt (zB.. Koordinate des Punkts und Name) Messen der restlichen Punkte über eine Vergleich zu diesem Punkt welcher über die INFO "Eindeutig" wurde. 3) Kommandos - Hilfe - zu Produkt - OSD Developer Kit - Referece Guide.
4) Bei vorhandenen LISP Kenntnissen geben Dir diese Beschreibungen Auskunft. 5) Im Notfall kann ich das für Dich Programmieren - ist aber nicht Kostenfrei. Grüßle
------------------ Klaus Lörincz 0174 3439 428 Sindelfingen Germany Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tograh Mitglied Konstrukteur
Beiträge: 74 Registriert: 22.08.2003
|
erstellt am: 08. Jun. 2004 11:07 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus, erstmal danke, das du überhaupt schreibst. Aller einfachste Lisp Kenntnisse sind vorhanden. Mir fehlt aber schon ein Ansatz, wie ich den Ursprungspunkt festlegen kann. Hab wirklich lange in der Hilfe und im I-Kit nachgeblättert. Aber so richtig wußte ich nicht wo nach ich suchen sollte. Irgendeine Idee wie das in Englisch heisst? Danke Torsten ------------------ Dominus vobis cum Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Michael Kahle Mitglied Programmierer
Beiträge: 75 Registriert: 10.05.2002
|
erstellt am: 30. Jun. 2004 16:38 <-- editieren / zitieren --> Unities abgeben: Nur für tograh
Da Annotation eigentlich immer im unskalierten Sheet ist, entfaellt dieses Problem schonmal. Anders waere es, wenn man Referenzlinien von der Nummer zum Teil ziehen woellte - oder wenn man wirklich in der View messen will, dann sollte man die View auswaehlen und einfach dorhin wechseln. Ausserdem waere es schoener, die Tabelle in einen Sketch zu zeichnen. Den Zweck von MEASURE_COORDINATE hab ich nicht verstanden. Falls es ein Catch auf Geo machen soll, wuerde ich fuer Koo_pnt den :value-type :docupoint in :selection (s_docu_geo) umwandeln... Noch ein paar Rezepte: * Jedes READ muss sich in einer Dialog-Variablen wiederfinden. * Loops erreicht man mit :next-variable * Ob man direkt ME10-Befehle ausfuehrt (LINE, TEXT, wie hier) oder IKIT-Funktionen verwendet (sd-am-create-geo-straight, sd-am-create-text, ...) ist eher Geschmacksache. Genauso haette man die draw-table Funktion auch komplett als Drafting-Makro definieren koennen und die Koordinatenumrechnung dort statt in OSDM zu erledigen. * Dialog-Generator-Link: ..\help\osdm\Common\documentation\integration_kit\reference\dg_manual.html * Annotator-IKIT-Link: ..\help\osdm\Common\documentation\integration_kit\reference\annotation\anno_function_index.html
------------------ Viele Gruesse, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Michael Kahle Mitglied Programmierer
Beiträge: 75 Registriert: 10.05.2002
|
erstellt am: 30. Jun. 2004 16:41 <-- editieren / zitieren --> Unities abgeben: Nur für tograh
|
tograh Mitglied Konstrukteur
Beiträge: 74 Registriert: 22.08.2003
|
erstellt am: 01. Jul. 2004 07:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, danke dem Retter in der Not, programmiere seit dem letzten Thread daran herum, aber habe auch rein garnichts auf die Latte gebracht! Dein Lisp-Programm sieht spitze aus Unities sind unterwegs. Eine Sache kitzelt mich aber dennoch. Wie lege ich den Ursprungspunkt so fest, das der Punkt 0 auch wirklich null ist und die Maße sich auf diesen auch beziehen? Gibt es da auch eine Lösung für? Lese jetzt schon seit Wochen in der Hilfe und finde dazu nichts. Viele Grüße (ich schweb jetzt schon im siebten Bemaßungshimmel) Torsten ------------------ Dominus vobis cum Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Michael Kahle Mitglied Programmierer
Beiträge: 75 Registriert: 10.05.2002
|
erstellt am: 01. Jul. 2004 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für tograh
|
tograh Mitglied Konstrukteur
Beiträge: 74 Registriert: 22.08.2003
|
erstellt am: 01. Jul. 2004 15:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, JA! JA! JA! JA! JA! JA! JA! JA! JA! Das ist mehr als klasse, genauso hab ich mir das vorgestellt. Vielen herzlichen Dank. Werde es jetzt mal mit verschiedenen Maßstäben testen. Nochmals vielen Dank und Unities für Dich. Werd mich nochmal bei dir melden Torsten ------------------ Dominus vobis cum Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |