| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| MAIT übernimmt Kundenstamm von GMCAD, eine Pressemitteilung
|
Autor
|
Thema: Aufspannen einer Freiformfläche (2413 mal gelesen)
|
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 27. Aug. 2003 11:58 <-- editieren / zitieren --> Unities abgeben:
Hallo an alle, in nächster Zeit steht für mich eine "Neuland-Aufgabe" an. Es soll eine Freiformfläche erstellt werden, die aus sehr vielen (wohl >1000) 3D-Punkten besteht (Zur Info nebenbei: Die Punkte kommen aus einer Koordinatenmeßmaschine). Diese Punkte würde ich dann gerne als Stützpunkte zum Auspannen einer Fläche nehmen. Die Punkte werde ich wahrscheinlich in Form einer Exceltabelle bekommen. Nun meine Frage: Gibt es eine Möglichkeit diese Fläche mit dem OSD zu erstellen und vor allem aus einer Exceltabelle (ich muß mit HP-UX arbeiten)??? Wäre nett, wenn mir jemand eine "Starthilfe" geben könnte. Danke im Voraus, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
woho Mitglied im (Un)Ruhestand
Beiträge: 1479 Registriert: 05.09.2000 von SolidDesigner ab 1.0 ueber Precision Engineering Dynamic Modeling ueber CoCreate Modeling bis Creo Elements/Direct 20.x
|
erstellt am: 27. Aug. 2003 12:56 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, 3D-Punkte zu einer Flaeche umwandeln ist so ein Thema fuer sich. Da gibt es eigene spezielle Programme dafuer, die zum Teil auch so arbeiten, dass Flaechenabschnitte in Form von angenommenen ebenen, Zylinder-, Kegel- oder Torusflaechen definiert werden und dazwischen werden dann weitere Flaechen eingebaut. Wenn Du eine Excel-Datei erhaeltst, so kannst Du diese sicherlich als reine Textdatei ausgeben. Per Makro laesst sich dann schnell mal eine Punktewolke im OSDM erzeugen. Dann haengt es von den Punkten ab, wie weiter verfahren werden soll. Wenn diese Punkte einen schoenen Rand bilden, so koennte man ueber eine Anzahl von Punkten 3D-Splines drueberziehen, spaeter ueber diese 3D-Splines eine Flaeche bespannen. Das haengt aber von den Punkten ab. Aber Achtung: Viele Punkte knabbern an der Performance. Ich hatte schon mal einen Fall, da ging das problemlos, bei einem anderen Fall war ueberhaupt nicht ersichtlich, wie die Flaeche aussehen soll, da es dort jede Menge Punkte als Streuung gegeben hat, die eigentlich mit der Flaeche ueberhaupt nichts zu tun hatten aber in die Liste irgendwie reingerutscht sind. Gruss WoHo
[Diese Nachricht wurde von woho am 27. August 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 27. Aug. 2003 13:27 <-- editieren / zitieren --> Unities abgeben:
|
baumgartner Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 715 Registriert: 05.01.2001 Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10. * ME10-Makros * ME10-Makroschulungen
|
erstellt am: 27. Aug. 2003 13:40 <-- editieren / zitieren --> Unities abgeben: Nur für MC
hallo, ich würde ein LISP-Makro schreiben, das die Daten mittels DDE aus Excel ausliest. In meiner Lisp-Schulung habe ich so etwas gemacht. Kann jetzt zeitbedingt leider nur den Tipp geben. Dann würde ich neben jeder UX-Installation auf einem PC OSD installieren. Einfach um solche Dinge zu machen. Die PC-Version zieht ja die gleiche Lizenz und kann ja nur für solche Fälle schnell gestartet werden.
------------------ Grüsse aus dem Schwarzwald www.Andreas-Baumgartner.de 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: 27. Aug. 2003 15:23 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, Excel kann auch eine CSL (Comma Seperated List)ausgeben und diese Liste kann dan per LISP File I/O im SolidDesigner als Liste eingelesen werden. Mit Hilfe dieser Liste (besser Listen in Listen wenn es sich um Koordinaten handelt) im SolidDesigner abarbeiten. Sollte die zu erwartende Ebene nicht "eben" sein muss der Weg über 3D-Splines beschritten werden. Danach das Bespannen durchführen. Wichtig: Modul Surfacing ist hier von Vorteil. Das ist das Ultimative: Das Wissen "Wie" die Punkte angelifert werden. - Das hat auch WOHO schon geschrieben Grüßle ------------------ Klaus Lörincz 0174 3439 428 Sindelfingen Germany 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: 27. Aug. 2003 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo nochmal, also wenn niemand ein Makro zum Einlesen bereitstellen kann - Hier ist mal wirklich ein bisserl LISP gefordert. Hier ein Beispiel (Teilstück aus Code) Code:
(let* ((filename "some filename in UX notation") (input-stream (open filename :direction :input :if-does-not-exist nil))) ;; reset list (lets start a list to wirte into right here) ;; check for existing file (if input-stream (let ((filecontent) (token) (error-str)) ;; read file (setf token (read input-stream nil "")) (if (string= token "%T") (loop ;(display (format nil "~A" (read input-stream))) (setf token (read input-stream nil 'eof)) (if (string= token "%N") ;; overread this line (read-line input-stream) ;; search for a comma unless eof is reached (let ((dummy (if (eq token 'eof) "," (read-char input-stream nil 'eof)))) ;; ignore a comma (unless (or (string= dummy ",") (eq dummy 'eof)) (unread-char dummy input-stream) ) ;; add to result list / stop on eof (if (eq token 'eof) (return) (setf filecontent (append filecontent (list token))) ) ) ; let dummy ) ; if line starts with %N ) ; loop the file input (setf error-str (format nil "fehlerhafte Datei:~%~S~%~%Es wurden keine VerÌnderungen in SolidDesigner vorgenommen!" filename)) ) ; if file starts with "%T" ;; close the file (close input-stream)
Öh die UBB CODE Formatierung ist ein bisserl komisch - oder ? Grüßle ------------------ Klaus Lörincz 0174 3439 428 Sindelfingen Germany Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
woho Mitglied im (Un)Ruhestand
Beiträge: 1479 Registriert: 05.09.2000 von SolidDesigner ab 1.0 ueber Precision Engineering Dynamic Modeling ueber CoCreate Modeling bis Creo Elements/Direct 20.x
|
erstellt am: 27. Aug. 2003 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, ein Makro hab ich wohl noch (siehe Anhang). Entzippen und als Lisp-Datei laden. Dann gibt es in der Toolbox zwei neuen Eintraege. Da koennen aus einer Textdatei Koordinaten nach dem Schema x,y,z gelesen und sofort dargestellt werden bzw. dies Punkte auch mit einem 3D-Spline verbunden werden. Voraussetzung ist Surfacing. Hab das Makro gerade mal getestet und es funktioniert. Gruss WoHo 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: 27. Aug. 2003 16:09 <-- editieren / zitieren --> Unities abgeben: Nur für MC
|
Heiko Engel Moderator Teamleiter
Beiträge: 3240 Registriert: 11.06.2001 Herr, stärke mich in Geduld, aber ZACK ZACK!!
|
erstellt am: 27. Aug. 2003 16:11 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Woho, wie müssen denn die Zahlen in der txt-Datei stehen? Bei mir kommt die Fehlermeldung "Fehler in Zeile 1 in der Eingabedatei" wenn ich schreibe: 20 40 60 80 100 120 Und "Fehler in Zeile 1 in der Eingabedatei Fehler in Zeile 2 in der Eingabedatei Fehler in Zeile 3 in der Eingabedatei Fehler in Zeile 4 in der Eingabedatei Fehler in Zeile 5 in der Eingabedatei Fehler in Zeile 6 in der Eingabedatei" wenn ich schreibe: 20 40 60 80 100 120 Gruß ------------------ DIE inoffizielle Hilfeseite zum OneSpace Designer http://osd.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Engel Moderator Teamleiter
Beiträge: 3240 Registriert: 11.06.2001 Herr, stärke mich in Geduld, aber ZACK ZACK!!
|
erstellt am: 27. Aug. 2003 16:18 <-- editieren / zitieren --> Unities abgeben: Nur für MC
|
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 28. Aug. 2003 06:49 <-- editieren / zitieren --> Unities abgeben:
Hallo an alle, mein Chef hat sich bezüglich des Datenformates noch nicht so richtig schlau gemacht, also besteht die evtl. Möglichkeit, daß ich sagen kann was ich brauche. Das Makro von WoHo werde ich mal ausprobieren. Danke! Also eine Ebene wird es garantiert nicht ergeben. Ich hatte gehofft, daß man auch ohne manuelle Nacharbeit (Splines durch die Punkte erstellen) eine Fläche über die Punkte "werfen" kann. Na mal sehen. Wenn ich was neues weiß stelle ich evtl. nochmal ne dumme Frage. Soweit erstmal vielen Dank an alle "Wisser" Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000 System: DELL Precision 5770, 32GB RAM nVidia RTX A2000 Win10 Enterprise 64bit SOLIDWORKS 2022 Premium SP5.0 Creo Elements/Direct Modeling (x64) 19.0 M030
|
erstellt am: 24. Nov. 2003 09:32 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich muß den Thread nochmal hervorholen, da ich jetzt die Meßpunkte habe. In diesem Fall wurde ein Zylinder vermessen, von dem man in der angehängten Datei mit dem Spitzen-Lispprogramm "Kurven und Punkte" auch 2 Kreise und einige wilde Punkte zu sehen bekommt. Jetzt habe ich mit einem 3D-Spline die Punkte jeweils zu Kreisen gemacht und würde gerne eine Fläche ausspannen, die eben die beiden Kreise als Rand hat. Wie kann man das denn jetzt machen? Surface-Modul habe ich, aber ich bekomme die Meldung "Kein gültiges Netz". Hat jemand eine Idee? Vielen Dank im Voraus, Michael ------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Engel Moderator Teamleiter
Beiträge: 3240 Registriert: 11.06.2001 Herr, stärke mich in Geduld, aber ZACK ZACK!!
|
erstellt am: 24. Nov. 2003 10:11 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, ich hab "Punkte lesen" verwendet und mit 2 geschlossenen (!) Splines den oberen und unteren Deckel und die Mantelfläche als Flächenmodel mit "Oberfläche einfügen" erstellt. Hoffe dies hilft dir etwas weiter. Gruß Heiko ------------------ DIE inoffizielle Hilfeseite zum OneSpace Designer http://osd.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 24. Nov. 2003 10:26 <-- editieren / zitieren --> Unities abgeben:
Hi Heiko! Ja prima, das hilft. Auf "Oberfläche einfügen" bin ich nicht gekommen. Leider ist der Zylinder noch die einfachste Fläche in den "Gesamtkunstwerk". Mal sehen wie weit ich noch komme. Soweit erstmal Danke! Michael
------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000 System: DELL Precision 5770, 32GB RAM nVidia RTX A2000 Win10 Enterprise 64bit SOLIDWORKS 2022 Premium SP5.0 Creo Elements/Direct Modeling (x64) 19.0 M030
|
erstellt am: 24. Nov. 2003 12:57 <-- editieren / zitieren --> Unities abgeben:
Soooooo, es geht langsam voran, aber manchmal bekomme ich eine Meldung, daß eine Zylinder-Fläche nicht herstellbar sei (kann mich leider nicht an die Meldung erinnern und sie läßt sich auch im Moment nicht wiederholen). Es scheint aber daran zu liegen, daß die Startpunkte der beiden Splines in Längsachsenrichtung nicht übereinanderliegen. Ein extremes Beispiel, bei dem allerdings nicht gemeckert wurde, ist im Anhang zu sehen. Kann man beim Erzeugen der Zylinder-Mantelflächen denn den Anfang der Splines irgendwie ignorieren? Gruß, Michael ------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Engel Moderator Teamleiter
Beiträge: 3240 Registriert: 11.06.2001 Herr, stärke mich in Geduld, aber ZACK ZACK!!
|
erstellt am: 24. Nov. 2003 14:35 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, was ist denn das Ziel der ganzen Aktion? Willst du am Ende nen Volumenkörper oder nur Flächenteile? Du kannst z.B. mit verdicken den Deckel um 60mm bis zum nächsten Deckel verdicken = Volumenmodel. Dann kann man (ich denke nicht dass bei einem geschlossenen Spline Start und Ende relevant sind) den Spline nochmals neu zeichnen. Wie hast du denn den "Eierbecher" erstellt?. Gruß Heiko ------------------ DIE inoffizielle Hilfeseite zum OneSpace Designer http://osd.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 24. Nov. 2003 15:21 <-- editieren / zitieren --> Unities abgeben:
Hallo, also das Ziel ist, aus den Punkten einerseits Flächenteile zu erstellen, andererseits auch Zylinder, die dann von einem Volumenteil (aus den Flächen erstellt) abgezogen werden. Das Verdicken geht zwar, aber dann bräuchte ich ja nur einen Kreis. Der 2. Kreis stammt ja auch aus Meßergebnissen einer 3D-Koordinatenmeßmaschine, die durch erstellen eines Volumenkörpers überprüft werden sollen (den exakten Hintergrund kenne ich allerdings auch noch nicht). Ich muß also schon alle Meßpunkte in das Erstellen der Geometrie mit einbauen. Den Eierbecher habe ich so erstellt, wie Du das erste Beispiel. Nur das ich offensichtlich den jeweils 1. Splinepunkt nicht in Achsrichtung übereinanderliegen hatte (man sieht es in dem Bild evtl. an den grünen Linien). ------------------ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Engel Moderator Teamleiter
Beiträge: 3240 Registriert: 11.06.2001 Herr, stärke mich in Geduld, aber ZACK ZACK!!
|
erstellt am: 24. Nov. 2003 21:03 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, komme bis zum Freitag nicht mehr dazu nach ner Lösung zu suchen, sorry. Die Anfangspunkte der Splines hab ich nun gleichgesetzt. Durch die Punkte und die Splines wirst du nie nen runden Kreis erhalten der dazu noch Deckungsgleich mit dem anderen Kreis ist. D.h. ein Volumen zu erstellen geht nur durch leichte Veränderungen die dann etwas vom Messergebnis abweichen würden. Wenn du "Kurve lesen" mal testest siehst du anhand der Bahnen dass die Punkte auch nie Deckungsgleich übereinander liegen sondern immer leicht zueinander versetzt sind. Man kann schon nen Volumenkörper erzeugen, aber ob das von dir mit leichten Modifikationen so gewünscht wird weiß ich nicht. Versuch dich evtl. nochmals mit den neuen Daten im pkg-File. Gruß Heiko ------------------ DIE inoffizielle Hilfeseite zum OneSpace Designer http://osd.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |