Kurz gesagt
- Die SketchUp Ruby API läuft nicht eigenständig, sondern muss innerhalb der SketchUp-Anwendung verwendet werden.
- API-Interaktionen müssen im Hauptthread stattfinden, um unerwartetes Verhalten und Instabilität zu vermeiden.
- TestUp bietet Minitest-basierte Tests, die in SketchUp laufen, sowie eine grafische Oberfläche zu ihrer Verwaltung.
- 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 QuellenQuelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.
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.



