Ergänzungs-Set Lineartrieb

Ein Baukasten-System mit genormten (Metall-)Bauteilen für Entwicklung und Prototyping von kleineren Maschinen. / A Metal Construction Set for prototyping and fast devolpment of small devices.
Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: Ergänzungs-Set Lineartrieb

Beitrag von J.R.I.B. » Do 6. Feb 2014, 07:41

case hat geschrieben: ich hab die Teile zunächst mit einem Emptie als Parent evrsehen und das ganze anschliessend nochmal ge-group
Gut. Wozu das Empty als Parent? Hab ich noch nie benutzt, gibt das einen Vorteil? Ich gruppiere immer einfach, denn beim Einfügen einer GruppenInstanz wird das 'Empty' automatisch erstellt (die Gruppeninstanz ist sogar das Empty und nur das Empty und sonst im Grunde nichts: die Gruppenobjekte werden als Hologramm auf das Empty projiziert.). Wichtig ist dagegen, dass die Teile/Objekte, die gruppiert werden, im globalen Nullpunkt (CTRL+C) stehen. Jeder Abstand zum Nullpunkt spiegelt sich in der eingefügten Gruppeninstanz wider. Ist nicht weiter schlimm, aber sorgt für Verwirrung und ist unhandlich.
Jetzt kann ich es auch komplett duplizieren und woanders hinbewegen. Aber wenn ich das Ding selektieren will, dann selektiert er immer nur auf die Einzelteile, also etwa eine Schraube, zumindest solange ich beim selektieren nicht direkt den lokalen Ursprung anklicke.
Welche Art von Duplizieren hast du verwendet (es gibt streng genommen drei)?
Die da wären:
1) ALT+D: Duplizieren als Referenz, d.h. Knoten und Kanten bleiben gemeinsam, Position, Skalierung und Rotation ist für jede Kopie extra.
2) CTRL+D: Duplizieren, d.h. Knoten und Kanten bleiben gemeinsam, Position, Skalierung und Rotation ist für jede Kopie extra.

Die Erfahrung hat gezeigt, dass diese Art von Duplizieren für Assemblies nicht optimal ist. So hab ich das aber bis vor kurzem auch noch gemacht als ich Blenders Potential, die Gruppen-Funktionalität als vollwertige Assembly-Funktionalität zu verwenden, noch nicht so richtig wahrgenommen hatte.
3) SHIFT+A --> "Group instance .." für weniger Performanceraub und erhöhte Flexibilität. Das ist das Äquivalent zu FreeCADs geplanten Assembly-Modul. Praktisch auch, dass jedes Objekt in beliebig vielen Assemblies (lies: Gruppen) sein kann. Gruppennamen deswegen in blender allgemein halten, denn die Bemaßungen berechnet mein Bill-Of-Materials-Add-on automatisch und fasst gleichgroße Teile dann automatisch zusammen. Also besser z.B. für eine Schraube M3 eine Gruppe "Schraube" erstellen anstatt "M3", denn will man später von M3 auf M4 umrüsten, sorgt der Gruppennamen für Verwirrung. Wie gesagt, das BoM-Addon kann die Gruppeninstanzen/Assemblies auflösen nach den Objekten, aus denen das Assembly (lies: die Gruppe) zusammengesetzt ist. Solange das Objekt also Bolt_M3 heißt, kommt am Ende in der Teileliste auch "<X> mal Bolt M3" heraus.

Diese Schraubengruppe füge ich dann als Gruppeninstanz auf dem aktiven Layer (=Ebene) ein und verwende also anstelle des Bolt_M3-Objekts diese "Schraube"-Gruppeninstanz (in den meisten Fällen sogar mehrere davon, also Gruppeninstanz kopieren mit SHIFT+D oder ALT+D, hier egal, beides den selben Effekt).
So mach ich das normalerweise für jedes Objekt, das man oft und schnell austauschen können will. Den Rest packe ich direkt als Objekt mit in die Gruppe, die ich dann z.B. "Assembly--Platte_mit_Schrauben" oder "Assembly--Motorblock_mit_Schrauben" nenne. Dieses Assembly landet dann auf der Ebene, wo alles zusammengebaut wird (zum Layer wechseln und das Assembly mittels SHIFT+A einfügen).


Alles was man einfügt, wird beim 3D Cursor eingefügt. Positioniere den 3D Cursor einfach irgendwo wo du ihn haben willst (z.B. im globalen Zentrum mittels SHIFT+C) und füge mit SHIFT+A --> "Group instance" das eben erstellte Assembly ein, also die Gruppe "Assembly--Motorblock_mit_Schrauben".

Btw. gibts eigentlich eine Möglichkeit den lokalen Ursprung nachträglich noch zu verändern ? Ich hatte beim erzeugen des Empties einfach irgendwo neben den Teilen geklickt und das ist hässlich, schöner wäre, wenn der Ursprung auf einer Ecke des T-Verbinders liegt.
Den Ursprung kann man auch immer nachträglich setzen mittels ALT+CTRL+SHIFT+C.
Dies öffnet ein Pop-Up mit folgenden Auswahlmöglichkeiten:
  • Geometry to Origin. (auch nützlich, wenn Gruppeninstanzen an seltsamen Positionen eingefügt werden, weil die Gruppenmitglieder (die einzelnen Objekte) nicht alle ihren Ursprung im Nullpunkt haben.)
  • Origin to Geometry.
  • Origin to 3D Cursor <-- damit kann man den Ursprung recht genau setzen. Dazu:
    • Tab in Edit Mode
    • RMB (Rechtsklick) auf den Knoten in der Ecke, bei dem du den Ursprung haben willst.
    • SHIFT+S --> u (3D Cursor to Selected),
    • Tab in Object Mode.
    • ALT+CTRL+SHIFT+C --> Origin to 3D Cursor.
Das ist nur ein möglicher Weg, man könnte alternativ auch im Edit Mode alle Knoten auswählen (A, notfalls zweimal, falls beim ersten Mal alles deselektiert wird), dann so verschieben (G), dass der gewünschte Knoten auf dem Ursprung liegt. Das ist natürlich nicht sehr genau, lässt sich aber durch das einfügen eines Knotens am Platz des Ursprungs beheben, weil man dann beim Verschieben auf den Knoten 'snappen'/fangen kann, wenn man gleichzeitig während des Verschiebens CTRL gedrückt hält [und man vorher mittels CTRL+SHIFT+Tab das Snapping auf Vertex eingestellt hat]. (CTRL = STRG)

Apropos, vielleicht sollen wir in Blender ein Auto-Snapping/einen Auto-Fang-Modus einbauen? Obwohl, eigentlich ist 'Vertex', also Knoten schon ein universeller Fangmodus, denn man kann jede Operation ja mittels den Tasten X, Y, Z auf einzelne Achsen beschränken und trotzdem jeden beliebigen Knoten snappen/fangen.
Zuletzt geändert von J.R.I.B. am Do 6. Feb 2014, 18:34, insgesamt 3-mal geändert.

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: Ergänzungs-Set Lineartrieb

Beitrag von J.R.I.B. » Do 6. Feb 2014, 08:33

Case hat geschrieben:Die Bemaßung funxt in FreeCad noch nicht, aber das könnte sich in einem der nächsten Releases ändern. Bis dahin muss man sich sonstwie behelfen, notfalls die Masspfeile von Hand reinzeichnen mit irgendeinem Grafikprogramm.
Achje. Hoffentlich funktioniert das bald. So gut wie das bei Yorik immer aussieht, glaube ich einfach nicht, dass es nicht funktioniert. Hast du das PPA vom wöchentlichen Build in Ubuntu hinzugefügt? Weil, die normalen FreeCAD releases aus dem Ubuntu-Repository sind weit weeeiiit hinterher. Deswegen wird mein nächstes System Archlinux - rolling release, keine OS-Versionen mehr, also kein Update von 12.04 auf 13.04 ... o.ä. nötig. Rolling release rocks. Auch weil da nur wöchentliche oder tägliche Builds von jeder Package verwendet werden. (Okay, man muss es ja nicht übertreiben, aber man kann sich ja immer noch verwehren und eben nicht täglich sudo pacman update ausführen.)

Ich hab mir jetzt übrigens auch eine Grafikkarte geholt, Nvidia GT640 mit 2GB GDDR5-Ram. Nicht gerade das neuste und schnellste Modell, aber in etwa das maximale, was ich in der von mir angestrebten Preisklasse finden konnte.
Cool, damit bist du mir weit voraus, ich habe gar keine Grafikkarte. Einfach viel günstiger. Beim Rendern von Videos/Animationen mit Blender kommen meine zwei Helferleins (AMD DualCore) allerdings mächtig ins Schwitzen.


Merkst du einen Unterschied in Blender? (Man muss glaube ich auch auf CUDA umstellen, damit man einen Unterschied merkt, aber vielleicht geht das alles automatisch. Blender sollte man nicht unterschätzen, für die winzige Dateigröße steckt da mächtig was dahinter ...)
Wie macht man denn in Blender die Bemaßung ?
Es gibt intern seit neuestem (seit der 3D Drucker Export-Unterstützung) den Ruler/Protractor. T für Toolshelf --> "Grease Pencil" --> Ruler/Protractor . Das müsste man eigentlich nur so erweitern, dass es permanent erhalten bleibt (anstatt temporär wie es momentan ist) und vielleicht sogar noch eine Option zum automatischen Bemaßung aller einmaligen (um Redundanz zu vermeiden) Längen, Winkel und Abstände zwischen Objekten hinzufügen -- und dann wäre es bereits das ultimative Bemaßungstool.

Auch gibt es für temporäre Ansicht im Edit Mode die Möglichkeit unter den Eigenschaften (toggle using N) ziemlich weit unten die Möglichkeit "Edge length" anzuzeigen. Das ist oft beim Erstellen von Objekten hilfreich.

Es gibt weiter mindestens 3 Addons die relevant sind.
Temporäre Vermessungen:
Einmal das Measurement Panel, das ich zum Messen zwischen zwei beliebigen Punkten, Objekten oder zum Messen über mehrere Kanten hinweg verwende.

Permanente Bemaßungen, die auch gerendert werden können:
Beide zwar noch nicht automatisiert, aber das haben wir geplant.
  • Macouno's Caliper-Addon,
  • Wolf's Caliper-Addon.

Aktivieren aller hier aufgeführten Addons möglich via ALT+CTRL+U:
  • Reiter Addons,
  • activate addon type "Testing" too using SHIFT+LMB (Linker MausKnopf), alle drei Arten (Official, Community, Testing) von Addons sollten aktiviert sein, dann hat man mehr Chancen auch etwas zu finden.
  • Filtere nach "Measurement" ... setze Haken rechts beim aufgetachten Addon, um es zu aktivieren.
  • Filtere nach "Caliper" ...
Das Measurement Panel findet man gaaaanz unten in den Eigenschaften (N) des 3D Views (also Maus über 3D View). Dann Activate klicken!
Am besten legt man sich einen eigenen Short-Cut für den erschienen Button "Update" an:
  • Also Rechtsklick auf den "Update"-Schalter des Measurement panels,
  • dann "Add Shortcut",
  • und z.B. ALT+CTRL+SHIFT+Y wählen.
Ein paar Worte zur Verwendung des Caliper-Addons:
  • Aktivieren in den Settings ALT+CTRL+U.
  • Zum 3D View wechseln.
  • Bemaßung einfügen mittels SHIFT+A --> "Caliper" (ganz unten im Popup). Caliper werden immer im globalen Nullpunkt eingefügt. (Wohl aus dem selben Grund der auch für das Erstellen von Assemblies/Gruppen gilt). Es wurden auch Hooks eingefügt, mindestens end und start. Damit kann man jetzt die Bemaßung positionieren.
  • Dazu Vertex-Snapping (Knoten-Fang-Modus) aktivieren: CTRL+SHIFT+Tab --> Vertex.
  • Jetzt in großen Szenen mit vielen Objekten am besten im Outliner ganz rechts oben in Blender das kleine Minus klicken, damit das Suchfeld Platz findet, notfalls SHIFT+SPACE/Leertaste den Outliner vergrößern. Dann nach "hook" oder "caliper" suchen. Damit erscheint eine Liste aller Bemaßungselemente (caliper) und der zugehörigen start- und end-Hooks (Haken).
  • Den richtigen start-Hook auswählen mittels LMB/Linksklick im Outliner und die Operation Verschieben mittels G aktivieren
  • CTRL gedrückt halten, um mit der Maus den gewünschten Zielknoten fangen zu können. Mit LMB/Linksklick oder <Enter> abschließen.
  • Für den End-Haken analog vorgehen.
Man kann das Aussehen des Bemaßungspfeils ändern. Aber ich hab vergessen wo.

Falls jetzt nur "Text" erscheint, wo eigentlich die Bemaßung, also Länge, erscheinen sollte. Dann sollte man das Addon neu laden mittels "Reload Trusted" ganz oben in Blenders Statusleiste rechts neben dem Warnsymbol.


Übrigens, ich habe gesehen, dass Macouno aus Holland sogut wie fertig mit seinem GCode-Exporter ist. Die Funktionalität hatten wir schonmal vor ein paar Jahren von einem polnischen Kollegen von CNCzone, aber ich bin noch nicht dazu gekommen, es für höhere Blender-Version
en umzuschreiben. Jetzt hat das Macouno anscheinend schon gemacht!! juhuu .

Ich hoffe, das hilft ...

Benutzeravatar
case
Beiträge: 733
Registriert: Mi 13. Jun 2012, 01:12

Re: Ergänzungs-Set Lineartrieb

Beitrag von case » Fr 7. Feb 2014, 00:35

Hi Jan,

danke für die ausführlichen Beschreibungen, das matcht ziemlich genau den Kern dessen, was ich in den letzten zwei Tagen an Blender zu verstehen versuche.

Nämlich, wann und mit welchen Ausswirkungen ich Groups, Parents und sonstige verwenden muss, um um ein Assembly aus T-Verbindern mitsamt Schrauben zu bekommen.

Und was meine Frage mit der Selektierbarkeit des gesamten Assembly angeht, so scheint der Knackpunkt wohl tatsächlich das "Add"en einer Gruppeninstanz gewesen zu sein, d.h., ich hatte vorher ein gegrouptes Parent-Children Objekt (wird bei Selektion grün statt orange angezeigt) mit Shift D kopiert, da waren die einzelnen Assembly-Bestandteile noch einzeln selektierbar. Bei einer Instranz von derselben zugrundeliegenden Gruppe, und auch Kopien davon, wird nunmehr auf Rechtsklick das gesamte Assembly selektiert.

Problem solved.

Btw. gibts eigentlich eine Möglichkeit den lokalen Ursprung nachträglich noch zu verändern ? Ich hatte beim erzeugen des Empties einfach irgendwo neben den Teilen geklickt und das ist hässlich, schöner wäre, wenn der Ursprung auf einer Ecke des T-Verbinders liegt.
Den Ursprung kann man auch immer nachträglich setzen mittels ALT+CTRL+SHIFT+C.
[*]Origin to Geometry.
...
Jau, das hat dann auch funktioniert.

Das weitere, was Du beschreibst, bezügl. der Auswahl einzelner Punkte als Referenz klingt sehr interessant, das muss ich mal ausprobieren.

Jedenfalls hab ich jetzt damit die Konstruktion eines Grundrahmens fertiggestellt, aber dazu mehr unter OSE3DDrucker.

Gruss, Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Benutzeravatar
case
Beiträge: 733
Registriert: Mi 13. Jun 2012, 01:12

Re: Ergänzungs-Set Lineartrieb

Beitrag von case » So 19. Feb 2017, 07:41

Hi.

Was im UniProKit Ergänzungsset Lineartrieb bislang noch fehlte, war eine Variante mit lm8uu-Linearkugellager-Führung auf einem Rundstab mit 8mm Durchmesser. An genau so einem universellen Lineartrieb wird gerade bei OSE-US gearbeitet. Da die Sache auf mich einen guten Eindruck macht habe ich sie as-is ins UniProKit übernommen.

Siehe https://wiki.opensourceecology.de/Erg% ... C3.BChrung

Eine sehr schöne Darstellung der gesamten Achse gibt es unter http://opensourceecology.org/wiki/Unive ... Axis#WebGL

Darin kann man mit der Maus navigieren und bei betätigen des explode-Reglers eine Explosions-Ansicht darstellen lassen. Diese Darstellung basiert auf WebGL, welches mittlerweile standardmässig in gängigen Brwosern implementiert ist.

Gruss, Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Antworten