Hallo!
Ich habe mir die Smartparts bereits in der 2012er Version angesehen, 
wegen der schlechten Dokumentation, aber schnell das Interesse verloren. 
Vor Kurzem entdeckte ich die Seite  http://www.selfGDL.de  im Web, und seit dem 
beschäftige ich mich wieder intensiver mit den Smartparts. Da sich 
Smartparts aber doch von ArchiCAD GDL-Objekten unterscheiden, bleiben 
einige Fragen trotzdem unbeantwortet, vielleicht kann jemand helfen:
1. Infodialog: 
Wie kann man in Strings einen Zeilenumbruch verwenden, wie im 
Standarddialog von Nemetschek in Zeile 3 [= str5] ("\n" wie in anderen 
Sprachen geht nicht!)?
2. Array-Parameter: 
Kann ich die Array-Größe eines Parameters skriptgesteuert ändern, z.B. 
Redimensionierung mit DIM x[array_size] (so geht's nicht).
3. Array-Parameter in der Palette: 
Wie bekomme ich den Bearbeitungsdialog für Arrays (den [ ... ] Button), 
da anscheinend nur dort Arrayelemente hinzugefügt oder gelöscht werden 
können (siehe Frage 2), in der Palette angezeigt?
probiert: I_INFIELD "x"... , I_INFIELD "x[]"... , I_INFIELD "x[1]"... 
und das ganzen auch mit I_INFIELD_2 ... - es wird immer nur ein 
Bearbeitungsfeld für einen Wert erzeugt, oder nichts bei fehlerhafter 
Syntax.
4. PREV_MODE: 
Was ist der Vorteil/Sinn der Funktionen PREV_LINE2 und PREV_ARC2, da ich 
ja auch die normalen Funktionen LINE2 und ARC2, aber auch alle anderen 
Zeichenfunktionen benutzen kann?
Ab hier gehts direkt an Nemetschek:
5. SPLINE2: (Programmfehler?)
status=1 (geschlossener Spline) funktioniert nicht, auch nicht in der 
Variante 1+2.
6. Bewehrungsfunktionen: 
Wird es jemals eine verwendbare Dokumentation (eine gute erwarte ich eh nicht) 
zu den Bewehrungsfunktionen geben, oder muss ich das alles 
aus den mitgelieferten Smartparts lernen?
7. Fehlersuche: (Wunsch)
Weder die PRINT noch BREAKPOINT Funktion sind sehr hilfreich. PRINT 
funktioniert im PREV_MODE anscheinend nicht, und BREAKPOINT funktioniert 
nur im Editor, womit eine Interaktion mit der Eingabepalette schwer zu 
testen ist, z.B. die Auswertung von GLOB_UI_BUTTON_ID. Vieles ist 
natürlich über Umwege machbar, ich würde mir aber ein Debugfenster für 
das laufende Script wünschen, in das einfache Ausgaben über einen Befehl 
z.B. "DEBUG_PRINT" erfolgen können, oder fragt einfach eure 
Smartpart-Entwickler die haben warscheinlich ähnliche Probleme, oder 
bessere Entwicklungswerkzeuge, als wir normalen Anwender.
So das wars fürs Erste.
Großer Dank geht an die Macher der Seite http://www.selfGDL.de, die Ihre Seite 
kostenlos zu Verfügung stellen und dafür viel Freizeit investiert haben.
Ich möchte meine Erfahrungen mit den Smartparts auf der Seite 
 smartparts.tzb-moitzi.at  mit allen teilen, damit die Einstiegshürde für 
andere vielleicht etwas niedriger wird.
Noch besteht die Seite zum Großteil aus einfachen Übersetzungen der 
englischen Dokumentation, ergänzt um Erklärungen von der Seite 
http://www.selfGDL.de, aber es soll mehr werden.
Mit freundlichen Grüßen,
Manfred Moitzi