Willkommen

Mein Name ist Manfred Moitzi, ich bin selbstständiger Konstrukteur für Stahlbetonbau und für den Inhalt dieser Website verantwortlich. Anregungen, Kritik oder Hinweise auf Fehler sind erwünscht, E-Mails bitte an folgende Adresse senden: smartparts@tzbm.atSmartparts sind parametrische Bauteile die in Allplan Version 2012 eingeführt wurden. Das interessante an diesen "intelligenten" Objekten ist die Möglichkeit selbst Bauteile zu entwickeln. Diese Bauteile müssen in der Programmiersprache SmartPart-Script programmiert werden.

SmartPart-Script ist eine BASIC ähnliche Programmiersprache und basiert auf der GDL (Geometric Description Language) und wurde um Allplan spezifische Funktionen erweitert. Mit SmartPart-Script können parametrisierte 2D- und 3D-Objekte erstellt werden.

Um SmartPart-Script zu Erlernen ist es von Vorteil, wenn man bereits Erfahrung mit einer Programmiersprache gesammelt hat, obwohl, wenn man bereits mit "richtigen" Programmiersprachen gearbeitet hat, fühlt man sich bei SmartPart-Script in die Zeit der C64- oder Sharp-1401 Programmierung zurückversetzt, zumindest geht es mir so. Nach dem Abklingen der nostalgischen Erinnerungen überwiegt aber eher der Horror über die fehlenden Features einer modernen Sprache.

Aber die Entscheidung über die Wahl der Programmiersprache ist seitens der Fa. Nemetschek nun mal gefallen, und wir müssen mit dieser Entscheidung leben, wahrscheinlich war die Kompatibilität zur GDL der ausschlaggebende Punkt, und wir können uns auf viele hervorragende in GDL entwickelte Bauteile freuen, die nur noch schnell in SmartParts konvertiert werden. Aber leider ist der Import von GDL-Objekten seit Allplan 2012-1 nicht mehr möglich.

Bei der Suche nach einer brauchbaren Dokumentation zu SmartPart-Script bin ich über Seite www.selfGDL.de gestolpert, diese Seite befasst sich zwar ausschließlich mit der ArchiCAD Variante der GDL, aber einige Beschreibungen (z.B. CUTPLANE kann man erst dadurch verstehen) sind auch für SmartPart-Script gültig.

Diese Seite soll kein umfassendes Kompendium zum Thema SmartPart-Script werden, aber ich möchte so viele Bereiche der Smartpart-Programmierung abdecken wie es meine Freizeit zulässt, wobei die einzelnen Kapitel einfache Übersetzungen der original englischen Dokumentation sind, ergänzt durch Informationen der Seite www.selfGDL.de und persönlichen Erfahrungen und Beispielen.

Außerdem gibt es viele von mir entwickelte SmartParts zum Download, und da ich ein Fan vom Open Source Software bin, stehen alle von mir entwickelten SmartParts unter der General Public License (GPL) V3, wodurch das experimentieren mit diesen Objekten möglich und erwünscht ist, sofern der geänderte Quellcode ebenfalls wieder der Öffentlichkeit zugänglich gemacht wird, das ist aber nur notwendig wenn die geänderten SmartParts weitergegeben werden.

Von Nemetschek wurde auch der Schutz des geistigen Eigentums in den SmartParts vorgesehen, indem der Quelltext verschlüsselt werden kann. Hoffentlich nutzen nicht all zu viele Entwickler diese Möglichkeit, den erstens ist es mit den beschränkten Möglichkeiten der Programmiersprache nicht einfach einen leicht zu lesenden und selbsterklärenden Programmierstil zu pflegen, womit die Verschlüsselung eigentlich hinfällig ist, und zweitens wird damit die Möglichkeit des Lernens anhand von realen Beispielen eingeschränkt, was Schade ist, den Wissen gehört zu jenen Gütern, die sich vermehren wenn man sie teilt.