Neueste Meldungen
Unreal Engine Path Tracer: Innenraum-Rendering in 5 SchrittenArchitekturvolumen und Meshes mit dem Modeling Mode in Unreal Engine bearbeitenGrasshopper-Python-3-Leitfaden: Datenzugriff, Type Hints und AusgabenSketchUp-Szenen für Präsentationen und Animationen exportierenUVs mit dem Unreal Engine UV Editor erstellen: Schritt-für-Schritt-AnleitungGemini API mit OpenAI-kompatiblem Client nutzen: Python- und JavaScript-AnleitungFehlerhafte Geometrie in Rhino 8 finden und beheben: eine praktische AnleitungUnreal Engine Pixel Streaming einrichten: Projekte im Browser bereitstellenWiederkehrende Architekturelemente mit Blender Geometry Nodes platzierenRhino 8: Architekturmodelle mit Auswahl, History und Blöcken bearbeiten
TutorialsSketchUp

Einstieg in die Plugin-Entwicklung mit der SketchUp Ruby API: Schritt für Schritt

Die SketchUp Ruby API ermöglicht die Interaktion mit Modellen und der Anwendung über Plugins, die direkt in SketchUp laufen. Dieser Leitfaden erläutert die Voraussetzungen für den Einstieg sowie Entwicklungsressourcen und Testmöglichkeiten.

Schlichter Schreibtisch in einem Designstudio mit einem Architektur-InnenraummodellKI-Bild
Symbolbild, mit KI erzeugt.Bild: 3dsınıfı / FCA AI

Kurz gesagt

  1. Die SketchUp Ruby API läuft nicht eigenständig, sondern muss innerhalb der SketchUp-Anwendung verwendet werden.
  2. API-Interaktionen müssen im Hauptthread stattfinden, um unerwartetes Verhalten und Instabilität zu vermeiden.
  3. TestUp bietet Minitest-basierte Tests, die in SketchUp laufen, sowie eine grafische Oberfläche zu ihrer Verwaltung.
  4. Mit der LayOut Ruby API lassen sich seit SketchUp 2018 LayOut-Dokumente erstellen und bearbeiten.

Was erfahren Sie in diesem Leitfaden?

Die SketchUp Ruby API ist eine Schnittstelle zur Interaktion mit SketchUp-Modellen und der Anwendung. Laut der offiziellen SketchUp-Dokumentation kann die API innerhalb der SketchUp-Anwendung verwendet werden; sie ist kein eigenständig ausführbares Werkzeug. Der erste Schritt bei der Entwicklung besteht daher darin, festzulegen, wie sich die zu automatisierende Aufgabe in ein Plugin für SketchUp umsetzen lässt.

Dieser Leitfaden konzentriert sich darauf, die Grenzen der API kennenzulernen, geeignete offizielle Einstiegsressourcen auszuwählen, IDE und Debugging vorzubereiten und anschließend den Testprozess einzurichten. Da die Quellen weder die API-Kompatibilität für bestimmte SketchUp-Versionen noch Installationsschritte ausführlich beschreiben, werden hier keine Versionen oder Menüpfade angenommen.

Voraussetzungen und Vorbereitung

  • SketchUp: Die Ruby API läuft innerhalb von SketchUp und kann nicht eigenständig verwendet werden. Für Entwicklung und Tests wird daher die SketchUp-Anwendung benötigt.

  • Ruby-Kenntnisse: Die Quellen beschreiben die API als Ruby-basiert. Fortgeschrittene Ruby-Kenntnisse werden nicht ausdrücklich vorausgesetzt; der Code des zu entwickelnden Plugins verwendet jedoch Ruby.

  • Entwicklerressourcen: Die offiziellen SketchUp Ruby API-Dokumente, die Ruby API Overview und das SketchUp Developer Center gehören zu den Ressourcen für den Einstieg.

  • IDE und Debugging: SketchUp stellt eine Debugging-Schnittstelle bereit, die sich mit IDEs und Editoren verwenden lässt, welche das Ruby Debug Protocol unterstützen. Für RubyMine gibt es ein Einrichtungsbeispiel, für VSCode ein Projektbeispiel.

  • Tests: Code, der innerhalb von SketchUp läuft, lässt sich möglicherweise nur schwer mit den üblichen Testabläufen prüfen, die für eine Ruby-Konsole außerhalb von SketchUp konzipiert sind. TestUp bietet hierfür einen auf Minitest basierenden Wrapper sowie eine grafische Oberfläche zur Verwaltung von Tests.

Die Quellen enthalten keine Angaben zu Kosten, Konten oder einer Kompatibilitätstabelle für sämtliche SketchUp-Versionen. Prüfen Sie daher vor Projektbeginn zusätzlich die offiziellen API-Dokumente und Beispiele für die angestrebte SketchUp-Version.

Entwicklungsschritte mit der SketchUp Ruby API

1. Zu automatisierende Aufgabe definieren

Legen Sie zunächst fest, welche wiederkehrende Aufgabe das Plugin vereinfachen soll. Das SketchUp Developer Center weist darauf hin, dass Plugins Arbeitsabläufe automatisieren und Integrationen mit externen Daten ermöglichen können. Das ist ein hilfreicher Ausgangspunkt für die Festlegung des Projektumfangs. Wie sich die konkrete Aufgabe mit der API umsetzen lässt, muss jedoch anhand der entsprechenden Dokumentation geprüft werden.

Ein kleiner Umfang erleichtert es zu Beginn, die Eingaben des Plugins und die Ergebnisse für die Nutzerinnen und Nutzer zu definieren. Dies ist eine Empfehlung für die Projektplanung und keine bestimmte API-Funktion oder Menüfolge in SketchUp.

2. Mit offiziellen Übersichten und Beispielen arbeiten

Die Ruby API Overview in der SketchUp Ruby API-Dokumentation ist ein zentraler Orientierungspunkt. Die offizielle Dokumentation verlinkt außerdem auf Beispiele und Tutorials, die gängige Szenarien und Konzepte erläutern. Sehen Sie sich bei der ersten Umsetzung die Beispiele an und wählen Sie diejenigen aus, die zum Ziel des Plugins passen. Statt Klassen, Methoden oder Verhaltensweisen anzunehmen, die in der Dokumentation nicht aufgeführt sind, sollten Sie deren Beschreibung überprüfen.

Auch das SketchUp Developer Center bündelt Einstiegsinhalte, Beispielerweiterungen und API-Ressourcen. Diese Inhalte können helfen, den Ansatz zu verstehen, mit dem eine Erweiterung neue Werkzeuge und Funktionen in SketchUp bereitstellt. Wenn die Erweiterung geteilt werden soll, bietet das Developer Center auch die Veröffentlichung über die Extension Warehouse als Option an.

3. IDE für die API einrichten

Ruby-Stubs werden bereitgestellt, damit die Entwicklungsumgebung die SketchUp API kennt. In den offiziellen Ressourcen finden Sie eine Anleitung zur Projekteinrichtung für RubyMine und ein Projektbeispiel für VSCode. Wählen Sie das passende Beispiel für Ihre IDE und folgen Sie den dokumentierten Einrichtungsschritten.

Zum Debuggen kann die SketchUp Ruby Debugger-Schnittstelle verwendet werden. Sie ist für die Zusammenarbeit mit den Debugging-Funktionen von Editoren und IDEs ausgelegt, die das Ruby Debug Protocol unterstützen. Die Quellen schreiben keine bestimmte IDE vor; die Auswahl kann sich daher nach den vorhandenen Werkzeugen des Entwicklungsteams richten.

4. API-Aufrufe im Hauptthread ausführen

Die offizielle API-Dokumentation weist darauf hin, dass alle Interaktionen mit der Ruby API im Hauptthread ausgeführt werden müssen. Andernfalls kann es zu unerwartetem Verhalten und Instabilität der Anwendung kommen. Berücksichtigen Sie diese Vorgabe bereits beim Entwurf des Plugins. Vor allem wenn ein Arbeitsablauf in mehrere Teile zerlegt werden soll, muss anhand der offiziellen Dokumentation geprüft werden, wie die jeweiligen Vorgänge ausgeführt werden.

Dieser Hinweis ist kein Detail, das erst vor der Veröffentlichung geprüft werden sollte, sondern gehört in den Entwicklungs- und Testplan. Auch wenn das Plugin das erwartete Ergebnis liefert, darf die Vorgabe zum Hauptthread nicht außer Acht gelassen werden.

5. Tests innerhalb von SketchUp ausführen

Laut der offiziellen Quelle reichen Ruby-Tests, die außerhalb von SketchUp laufen, möglicherweise nicht aus, um Code zu prüfen, der innerhalb der Anwendung ausgeführt werden muss. TestUp begegnet diesem Problem als auf Minitest basierende Lösung und bietet eine grafische Oberfläche zur Verwaltung von Tests. Erstellen Sie Testfälle, mit denen sich das angestrebte Verhalten des Plugins überprüfen lässt, und führen Sie die Tests unter den Bedingungen aus, unter denen das Plugin in SketchUp verwendet wird.

Die Quellen enthalten keine ausführlichen Beispiele dafür, wie die einzelnen Testarten mit TestUp geschrieben werden. Orientieren Sie sich beim Einrichten der Testinfrastruktur daher an den Erläuterungen im offiziellen Repository des Tools und an den API-Tutorials. So vermeiden Sie Annahmen zu einer Tests syntax oder einem automatischen Installationsschritt, die in der Dokumentation nicht belegt sind.

6. Bei Bedarf den LayOut-Umfang prüfen

Seit SketchUp 2018 unterstützt die Ruby API auch das Erstellen und Bearbeiten von LayOut-Dokumenten. Es wird darauf hingewiesen, dass auch die LayOut Ruby API nur innerhalb von SketchUp verwendet werden kann. Wenn das Plugin LayOut-Dokumente bearbeiten muss, sollten Sie dies als separate Anforderung behandeln und die LayOut API Overview lesen. Da die Quellen keine ausführlicheren Angaben zu Versionskompatibilität oder Anwendungsschritten enthalten, ist hierzu die entsprechende offizielle Dokumentation heranzuziehen.

Häufige Fehler

  • Versuch, die API eigenständig auszuführen: Die Ruby API ist kein eigenständiges Werkzeug, das ohne SketchUp verwendet werden kann.

  • Hinweis zum Hauptthread übersehen: API-Interaktionen müssen im Hauptthread stattfinden. Andernfalls kann die Anwendung instabil werden.

  • Tests außerhalb von SketchUp für ausreichend halten: Prüfen Sie für Code, der innerhalb von SketchUp läuft, Optionen für Tests in der Anwendung wie TestUp.

  • Nicht dokumentierte Details annehmen: Prüfen Sie Versions-, Methoden- und Kompatibilitätsangaben in der offiziellen API-Dokumentation.

  • IDE-Konfiguration überspringen: Ruby-Stubs, IDE-Beispiele und Debugging-Anleitungen stehen als Ressourcen zur Vorbereitung der Entwicklungsumgebung zur Verfügung.

Nächste Schritte

Nach Fertigstellung des ersten Plugins können Sie die Veröffentlichung in Betracht ziehen, wenn es dem vorgesehenen Anwendungszweck entspricht. Das SketchUp Developer Center weist darauf hin, dass Erweiterungen in der Extension Warehouse geteilt werden können. Wenn eine Verteilung außerhalb der Extension Warehouse geplant ist, verweist das Developer Center auch auf den Prozess für digitale Signaturen und Sicherheitszertifikate.

Für komplexere Funktionen enthalten die offiziellen Ressourcen auch Beispiele für Ruby-C-Erweiterungen. Sie werden als Option für komplexere Funktionen und mögliche Leistungsverbesserungen vorgestellt, sind jedoch nicht für jedes Projekt erforderlich. Ein kontrollierterer Entwicklungsablauf ergibt sich, wenn zunächst die Grenzen einer Lösung mit der Ruby API bestimmt und anschließend die entsprechenden Beispiele geprüft werden.

Quellen und Lizenz

Dieser Leitfaden wurde auf Grundlage der offiziellen Dokumentation zur SketchUp Ruby API und der Entwicklerressourcen im SketchUp Developer Center ins Türkische übertragen und angepasst. In den Quellenangaben sind beide Seiten als „frei“ gekennzeichnet; eine bestimmte Creative-Commons-Lizenz wird nicht genannt.

Quellen

2 Quellen
R
ruby.sketchup.comruby.sketchup.com
Zusammenfassung
D
developer.sketchup.comdeveloper.sketchup.com
Zusammenfassung

Quelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.

Die Einschätzung von 3dsınıfı
3dEinschätzung der Redaktion

Für Architektur- und Innenarchitekturbüros in der Türkei bietet die Ruby API das Potenzial, wiederkehrende Modellierungsaufgaben oder Prozesse mit externen Daten in Plugins umzusetzen. Wenn im Team regelmäßig dieselben Schritte ausgeführt werden, kann bereits eine kleine Automatisierung den Arbeitsablauf strukturieren.

Bei der Bewertung des Nutzens sollte nicht nur die Entwicklungszeit berücksichtigt werden, sondern auch die Kompatibilität des Plugins mit der angestrebten SketchUp-Version sowie der Bedarf an Tests und Wartung. Die Quellen machen keine Angaben zu Kosten oder Hardwareanforderungen; Kosten- oder Leistungsvorteile anzunehmen, wäre daher nicht gerechtfertigt. Die Vorgabe zum Hauptthread und die Notwendigkeit von Tests innerhalb der Anwendung sollten vor dem produktiven Einsatz besonders sorgfältig geprüft werden.

Häufige Fragen

Läuft die SketchUp Ruby API eigenständig?

Nein. Laut der offiziellen Dokumentation kann die SketchUp Ruby API innerhalb der SketchUp-Anwendung verwendet werden und läuft nicht eigenständig.

Lassen sich LayOut-Dokumente mit der SketchUp Ruby API bearbeiten?

Ja. Laut Quelle können seit SketchUp 2018 LayOut-Dokumente erstellt und bearbeitet werden. Auch die LayOut Ruby API kann nur innerhalb von SketchUp verwendet werden.

Wie lassen sich SketchUp Ruby-Plugins testen?

TestUp ist eine auf Minitest basierende Option. Das Tool bietet eine grafische Oberfläche zur Verwaltung von Tests, die innerhalb von SketchUp laufen.

Kommentare und Forum sind auf Türkisch.Mitdiskutieren
+

Verwandte Meldungen