| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| E-Book: Simulation für Hightech Innovationen |
Autor
|
Thema: Machbarkeits- und Umfangsfrage für Makroprogramierung (2408 / mal gelesen)
|
HollowMan Mitglied
Beiträge: 9 Registriert: 10.03.2016
|
erstellt am: 17. Mai. 2016 18:18 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich stelle diese Frage da ich aktuell ein komplettes Makro programmieren soll ohne das ich mich damit auch nur im geringsten auskenne. Habe auch keine Grundkenntnisse in Visual Basics oder C/C++ (was wohl hilfreich wäre). Daher würde ich gerne eine Abschätzung haben ob das Vorhaben zum einen überhaupt realisierbar ist und mit welchem zeitlichen Aufwand man kalkulieren müsste. Also zur Aufgabenstellung: Das Makro soll einen Körper (mit immer ähnlicher Geometrie) welcher mittels 3D-Scanner erfasst wurde automatisiert vermessen. Die Vermessung beschränkt sich auf Winkelmaße auf einzelnen Schnittebenen zwischen einer Senkrechten und den Tangenten an den Schnittkurven in einem bestimmten Abstand. Hoffe die Bilder helfen das nachvollziehen zu können. Manuell ist das ganze kein Hexenwerk und besteht aus folgenden Schritten: -3D-Modell sinnvoll im Koordinatensystem positionieren -Schnittkurve längs des Modells Erstellen -Schnittkurve um Abstand vertikal nach oben verschieben -Querschnitte erzeugen -Ebenen auf Querschnitte legen -senkrechte linie ziehen -Tangenten konstruieren -messen Ziel des ganzen soll sein, dass man nur das 3D-Modell läd und das makro die gemessenen Werte automatisch tabellarisch ausgibt. Für die Ausrichtung wäre es möglich kleine Markierungspunkte auf der Gesamtstruktur anzubringen, aber kann Solidworks die automatisiert überhaupt erkennen? Könnte mir da jemand eine grobe Einschätzung über den Umfang und Aufwand geben? Habe bisher das Vorgehen einfach mal aufgezeichnet und komme auf ein Makro mit 1300+ Zeilen, davon ist aber glaube ich vieles nur um den Blickwinkel zu ändern, aber auch wenn ich das lösche bleiben über 300 Zeilen. Und wenn ich das Makro einfach nochmal starke kommt es schon zu Problemen, ist also nicht wiederholbar :-/ Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 17. Mai. 2016 18:52 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
Hallo, ich frag mal, warum Du so etwas programmieren (lassen) möchtest? Hast Du Dir auch schon mal Alternativen angesehen? z.B.: GOM Inspect Das gibt es als kostenlose Version, GOM Inspect oder als GOM Inspect Professional schau Dir einfach mal den Funktionsumfang und vergleich unter dem obigen Link an. Vielleicht deckt das ja schon Deine Bedürfnisse. Ich muss aber dazu sagen, dass wir nicht damit arbeiten, es wurde mal bei einer Demo vorgestellt. ------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jörg.jwd Ehrenmitglied V.I.P. h.c. CAD-PDM Administrator
Beiträge: 3109 Registriert: 05.11.2003
|
erstellt am: 17. Mai. 2016 19:15 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
Hallo, bei den von dir angegbenen Grundkenntnissen halte ich es für nahezu unmöglich dass du so ein komplexes Makro selber hinbekommst. Nicht böse sein, aber das ist meine ehrliche Meinung. ------------------ Grüße Jörg da ich weiß daß ich nichts weiß weiß ich immer noch mehr als die die nicht wissen daß sie nichts wissen (weiß nicht von wem) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 18. Mai. 2016 08:13 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
Hallo Hollowman, damit du auch noch eine weitere Meinung dazu bekommst: Zitat: Original erstellt von HollowMan: ich stelle diese Frage da ich aktuell ein komplettes Makro programmieren soll ohne das ich mich damit auch nur im geringsten auskenne. Habe auch keine Grundkenntnisse in Visual Basics oder C/C++ (was wohl hilfreich wäre). [...] Ziel des ganzen soll sein, dass man nur das 3D-Modell läd und das makro die gemessenen Werte automatisch tabellarisch ausgibt.
Das halte ich für machbar, ein erfahrener Programmierer, der auch noch SolidWorks kennt und eure speziellen Vorgehensweisen und Besonderheiten könnte das in ein paar Wochen schaffen. Ich persönlich würde es mir selbst allerdings nicht zutrauen (außer ich würde dafür abgestellt und die ganze Zeit bezahlt, auch wenn es eben Wochen dauert und vielleicht nichts Gescheites dabei rauskommen würde ) und einem unerfahrenen Neuling würde es vermutlich schlaflose Nächte und Horror-Alpträume von Kurven, die mit tangentialen Schnittlinien auf einem grauen Glibberberg tjosten, bereiten. Und meiner Meinung nach auch mehr als ein paar Wochen in Anspruch nehmen, so lange brauchst es ggf. schon in den Grundlagen von VB/VBA/C# sicher zu werden. Das Schwierige dabei ist nicht unbedingt die Arbeitsschritte zu automatisieren, sondern die einzelnen Dinge einem tauben, blinden, absolut dummen und dummerweise auch noch absolut gehorsamen Algorithmus beizubringen. Allein schon "immer ähnliche Geometrie" heißt im Klartext keins sieht aus wie das andere und "3D Modell sinnvoll im Koordinatensystem platzieren" würde auch nicht so einfach sein, wenn du die Augen zumachst und ansonsten nur den Dateinamen von deinem Blob kennst ... Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HollowMan Mitglied
Beiträge: 9 Registriert: 10.03.2016
|
erstellt am: 18. Mai. 2016 19:33 <-- editieren / zitieren --> Unities abgeben:
Hallo, und erstmal vielen Dank für eure ehrliche Einschätzung. Hintergrund ist derer, dass das ganze ein Forschungprojekt im Rahmen meines Studiums sein soll und ich schon befürchtet habe, dass dies den Rahmen von 50 Stunden Workload sprengen wird. Aber darin sehe ich mich jetzt bestätigt und laufe nicht Gefahr, dass mein Betreuer mir das Makro in einem halben Tag zusammenschreibt ^^ Nehme aber dennoch gerne weitere (gegenteilige) Einschätzungen entgegen @nahe: Danke für den Hinweis, ich lade mir das Programm gerade runter, und werde mich mit dem Funktionsumfang mal vertraut machen. ;-) Danke nochmals an alle :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 19. Mai. 2016 09:08 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
Hallo HollowMan, Zitat: Original erstellt von HollowMan: [...] das ganze ein Forschungprojekt im Rahmen meines Studiums sein soll und ich schon befürchtet habe, dass dies den Rahmen von 50 Stunden Workload sprengen wird.
Forschung dient doch dazu etwas herauszufinden, da kannst du doch schon mal 50 Stunden investieren und die Grundlagen schaffen, ohne eine einzige Zeile Code zu schreiben Schon die mathematischen Grundlagen dafür den eingelesenen Blob zu analysieren, wie der wohl im Raum liegt um ihn dann zu verschieben und rotieren um ihn "sinnvoll im Koordinatensystem zu positionieren" könnte doch der erste Teil des Forschungsprojektes sein, da könnte ich mir schon vorstellen, dass das schnell 50 Stunden in Anspruch nehmen kann Also: wenn es wirklich um Forschung und Grundlagen geht ran an den Speck, wenn es hauptsächlich um eine anspruchsvollere Ausarbeitung geht solltest du vielleicht als Nicht-Programmierer vielleicht lieber etwas ohen Programmieren suchen Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 19. Mai. 2016 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
>>Forschung dient doch dazu etwas herauszufinden ... Nun ja, ich vermute, das hier angefragte Makro ist nur ein Hilfswerkzeug, nicht das Hauptziel der Arbeit. Dürfen wir wissen, um was es geht? Vielleicht fällt ja jemandem ein völlig anderer Lösungsweg ein. Sind die Ausgangsdaten denn überhaupt das Resultat einer Konstruktion mit SWX? Die Bilder erwecken den Eindruck, dass es sich um Scannerdaten handelt. ------------------ Rainer Schulze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 19. Mai. 2016 11:41 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
Hallo Rainer, Zitat: Original erstellt von Rainer Schulze: Sind die Ausgangsdaten denn überhaupt das Resultat einer Konstruktion mit SWX? Die Bilder erwecken den Eindruck, dass es sich um Scannerdaten handelt.
Da würde ich auch von ausgehen ;)
Zitat: Original erstellt von HollowMan: Das Makro soll einen Körper (mit immer ähnlicher Geometrie) welcher mittels 3D-Scanner erfasst wurde automatisiert vermessen
Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 19. Mai. 2016 13:02 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
Zitat: Original erstellt von Rainer Schulze: Sind die Ausgangsdaten denn überhaupt das Resultat einer Konstruktion mit SWX? Die Bilder erwecken den Eindruck, dass es sich um Scannerdaten handelt.
Wer lesen kann... Zitat: Original erstellt von HollowMan: einen Körper (mit immer ähnlicher Geometrie) welcher mittels 3D-Scanner erfasst wurde
Gruß, Jens ------------------ CSWA, CSWP =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 19. Mai. 2016 15:04 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
>>Wer lesen kann... Ja, ja - ihr habt ja Recht. Aber für eine Datenanalyse benötigt man kein CAD-System. Selbst EXCEL bietet da schon einige Möglichkeiten. MathCAD von PTC ist besser. Vermutlich gibt es auch noch einige andere gute Lösungen. Aber da ist weniger Programmierkunst gefragt als Kenntnis der Mathematik.
------------------ Rainer Schulze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HollowMan Mitglied
Beiträge: 9 Registriert: 10.03.2016
|
erstellt am: 22. Mai. 2016 15:25 <-- editieren / zitieren --> Unities abgeben:
Hallo, leider hat mein Betreuer des Projektes ein lauffähiges Programm als Ziel des Projektes ausgeschrieben und aktuell will er mir nicht glauben, dass das den Rahmen sprengen würde, daher wollte ich mich hier Rückversichern. Meine Absicht war auch, dann "nur" die Grundlagen und prinzipiellen Vorgehensweisen zu erfassen und die Programmierung dann einem Programmierer zu überlassen. Quasi ein Lastenheft zu schreiben, aber von der Idee war mein Betreuer nicht so angetan. Zum weiteren Hintergrund des Projektes: Bei der eingescannten (! ;-) ) Geometrie handelt es sich um einen Pferderücken. Diese werden aktuell mechanisch vermessen um maß-gefertigte Sattel herstellen zu können. Diese Vermessung ist jedoch relativ Umständlich und nicht ohne weiteres bei jedem Pferd durchzuführen (lassen sich nicht gerne anfassen/ haben Angst vor dem Messgerät ect. ). Aus diesem Grund soll ein berührungsloses Messverfahren überprüft werden (iSense-Scanner für ein iPad). Bisher haben sich die 3D-Scanns als ausreichend präzise herausgestellt und nun soll im nächsten Schritt die identischen Daten ermittelt werden, welche das mechanische Messsystems liefert. @ Reiner Schulze: Wäre eine solche Anwendung auch mit den von dir angeführten Programmen machbar? Auch da würde ich an Anhieb nicht wissen wie ich da überhautp starten könnte. Ich bin aber um jede weitere Idee zur Umsetzung sehr dankbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 23. Mai. 2016 10:03 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
Zitat: Original erstellt von HollowMan: ... Manuell ist das ganze kein Hexenwerk und besteht aus folgenden Schritten: -3D-Modell sinnvoll im Koordinatensystem positionieren -Schnittkurve längs des Modells Erstellen -Schnittkurve um Abstand vertikal nach oben verschieben -Querschnitte erzeugen -Ebenen auf Querschnitte legen -senkrechte linie ziehen -Tangenten konstruieren -messen ...
Nur mal als Idee für einen anderen Ansatz: - angenommen es ist schon ein Volumenkörper (sonst Fläche Dicke zuweisen) - (einmalig) 1 Strebe erstellen mit Gelenkachse am Ende. - Baugruppe erstellen mit n V-förmig verknüpften Strebenpaaren, Ausgangslage gespreizt, in jeder gewünschten Ebene ein Paar. - Pferderücken in Baugruppe einfügen und irgendwie ausrichten. - Achsen der V-Streben auf gewünschte Höhe legen. - Streben "herunterziehen" oder "fallen lassen" mit Stop bei Kollision. - Gesteuertes Winkelmaß ablesen. Könnte mit der Funktion "Komponente verschieben" oder mit Simulation express funktionieren und verzichtet auf selbstentwickelte Mathematik. Gruß, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 30. Mai. 2016 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
Hallo Christian, interessanter Ansatz, ich würde aber da genauso sagen, dass ein vollautomatisches Programm auch damit nicht von einem Anfänger innerhalb von 50 Stunden mitsamt der ganzen Vor- und Nachbereitung inkl. Testen umzusetzen ist. Nicht mal annähernd. Ciao, Stefan PS @Hollowman: nur so als Tipp von einem Hobbyprogrammierer an einen Anderen: wenn du das wirklich umsetzen willst/muss/solltest, gib um deiner Seele Frieden willen nicht das Nutzungsrecht aus der Hand und die Erlaubnis, dass das kommerziell von irgendjemand anderen außer dir eingesetzt werden darf (außer du bekommst entsprechende Lizenzgebühren ) ! Im Ernst, bei dem Hintergrund würde ich ein vollautomatisch lauffähiges Programm für eine mittlere Goldgrube halten. Gute Sattler gibt es nicht wie Sand am Meer, Freizeitreiter dafür umso mehr. Und maßgeschneiderte Sättel, die auf einem relativ streßfreien "Scannen" des Pferdes beruhen, welches beim nächsten Hufbeschlag miterledigt werden kann, dürften ein hohes Potential haben. Gerade Freizeitreiter tun schon eine Menge (auch in finanzieller Hinsicht) für das Wohlergehen ihrer Tiere
------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 30. Mai. 2016 13:32 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
Zitat: ... ich würde aber da genauso sagen, dass ein vollautomatisches Programm auch damit nicht von einem Anfänger innerhalb von 50 Stunden mitsamt der ganzen Vor- und Nachbereitung inkl. Testen umzusetzen ist. ...
Hallo Stefan, das sehe ich so ähnlich: vorab - gründliche Beleuchtung der Aufgabenstellung mit Darstellung / Bewertung möglicher Lösungsansätze. - Einarbeitung in SolidWorks und Programmieren (macht evtl schon mal 200h?) danach ist der Rest evtl in 50h zu schaffen ... wenn man fix ist ... Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 30. Mai. 2016 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
>>leider hat mein Betreuer des Projektes ein lauffähiges Programm als Ziel des Projektes ausgeschrieben Eine Studienarbeit? Manche Studenten benutzen die Programmiersprache Python für 3D-Programmierung. Aber ohne entsprechende Vorkenntnisse ist es gleichgültig, welchen Weg Du gehen willst. Alleine der erste Schritt "3D-Modell sinnvoll im Koordinatensystem positionieren" wird sich nicht alleine durch SWX-Befehle realisieren lassen. Es gilt ja, einen Nullpunkt und eine Achsenorientierung zu definieren. Wenn man sich da nicht auf feste Regeln beim Scannen verlassen kann, ist "oben links Mitte" schon eine fragwürdige Definition für den Nullpunkt. Ich neige dazu, Christians Schätzung von >250h zuzustimmen.
------------------ Rainer Schulze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 30. Mai. 2016 15:31 <-- editieren / zitieren --> Unities abgeben: Nur für HollowMan
Zitat: ... Aber ohne entsprechende Vorkenntnisse ...... Alleine der erste Schritt "3D-Modell sinnvoll im Koordinatensystem positionieren" wird sich nicht alleine durch SWX-Befehle realisieren lassen. Es gilt ja, einen Nullpunkt und eine Achsenorientierung zu definieren...
Hallo nochmal vielleicht kann man zum Positionieren Schwerpunkt und Trägheitsachsen (mit-) benutzen. Da könnte durchaus was gehen. Welcher Kunde hat daran Interesse? Gruß, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |