Dynamische Komponente
-
Hallo zusammen,
ich habe gerade ein Projekt zugeteilt bekommen und muss für dieses wissen wie man dynamische Komponenten in Ruby ansprechen kann.
Ich denke am besten wäre es natürlich die Attribute und die dazugehörigen Funktionen, die man letztendlich anweden kann, über Ruby ansprechen zu können.
Ich habe hier schon sehr viele Themen durchstöbert und habe aber noch keine solcher Diskussionen gelesen.
Eine Antwort auf diesen Umstand wäre die Lösung für dieses Projekt
Gruß, Rob
-
Jede Komponente kann mit Ruby angesprochen werden. Dazu muss man die Komponente kennen und wissen was passieren soll. Ist es ein einfaches kopieren, verschieben oder das Ansprechen der dynamischen Funktion.
Um wirklich helfen zu können, sind wesentlich mehr Informationen nötig oder mal das Buch "Automatic SketchUp" von Matthew Scarpino kaufen. -
Hi hermannausowl,
danke für deine Antwort und danke für den Hinweis auf das Buch.Mein Projekt besteht darin dynamische Komponenten zu erstellen, damit sie Attribute wie "Errichtungszeit","Kosten" oder "Gewicht" beinhalten.
Diese einzelnen Komponenten sollen welche eines Gerüsts sein, um letzendlich aus mehreren Komponenten ein ganzes Gerüst bauen zu können.Diese Komponenten zusammengefügt zu einem gesamten Gerüst sollen letztendlich vervielfach werden und somit auch die gesamtsumme der Attribute "Errichtungszeit","Kosten" und "Gewicht". (Gerüstvervielfachung an der Fassade von dem Haus)
Die Komponenten habe ich schon in Ruby erstellt, nur ist mir noch unklar wie ich in dem Ruby-Skript die dynamischen Attribute erstellen,bearbeiten und anpassen kann,damit man die beschriebenen Faktoren erreicht.
PS: Kann man in Ruby so eine Art "Fluchtpunkt" erstellen? Also nicht die vorgegeben Punkte die man schon hat. Ich müsste ja folglich dass Gerüst auch aufstocken können und da wären solche Fluchtpunkte nicht schlecht um nicht jeden einzelnen Pixel anpassen zu müssen.
Danke für mögliche Hilfstellungen!
-
Teil 1
Einzelnen Gruppen/ Komponenten können alle möglichen Attribute mitgegeben werden. Über Ruby Schleifen , wie mit each, ist eine Auswertung möglich.Teil 2
Für diesen Teil musst du dich mit den Methoden boundingbox und transform auseinander setzen.
Hier ein Beispiel:
Du erstellst dein erstes Element, ermittelst über boundingbox die Positionen, erzeugst ein neues Element und verschiebst es mit der transform Methode an die gewünschte Ecke der boundingbox, usw. -
Okay, auf jeden Fall schon mal danke für die Infos!
Ich habe mir die freie PDF von AutomaticSketchup besorgt und mir das Kapitel Attributes and AttributeDictionaries durchgelesen.
Mein Problem ist jedoch wie man die Funktionen anspricht, sodass sich das Gerüst nach der Skalierung einer bestimmten Länge vervielfacht.Ich habe mal ein bisschen rumprobiert und habe zwar die Komponente mit den Attributen erstellen können, jedoch konnte ich die Attribute nicht bei den "Komponenteattribute"-Fenster finden. Entweder wurde nur die Komponente erstellt und die Attribute wurden nicht "übertragen" oder die Attribute werden nicht in dieser Liste angezeigt.
Für die Funktion, damit sich das Gerüst bei skalierung verdoppelt braucht man ja eine Funktion die aus der Tabellenkalkulation heraus entworfen wird oder geht das über andere Funktionen bei Ruby??.. Schön wärs natürlich die Tabellenkalkulation zu umgehen
Ich schaue mir auf jeden Fall mal die Methode boundingbox an. Es fehlt mir noch etwas an Erfahrung um einzelne Methoden zu kennen und deren Funktion zu nutzen
Ich habe auch noch eine interessante Methode gefunden. Die InsertionPoint methode könnte mir bei einem Fluchtpunkt auch weiterhelfen.
-
Wenn du schon mit Ruby arbeitest, dann denk doch einmal über eine andere Ablaufstruktur nach.
Nutze deine Komponenten und setze sie automatisch zu einem Gerüst deiner vorgegebenen Größe zusammen.
Ihr arbeitet doch mit bestimmten Rasterhöhen und -breiten. Somit kannst du jede Wand mit einer Abfrage starten, die die Breite und Höhe erfragt, und evtl. sonstigen Besonderheiten.
Anschliessend erstellt das Programm aus deinen Bedingungen und Komponenten das Gerüst für diese Wand.
Gegenüber einer dynamischen Komponente, kannst du besser auf Besonderheiten Einfluss nehmen, wie das setzen von Attributen, usw.
Und wenn du dich ganz intensiv eingearbeitet hast, erstellst du mit einfachen Mitteln dein Psydogebäude und überlässt den Rest deinem Programm.
-
Genau das habe ich eigentlich auch machen wollen und habe das Programm auch schon mit Interface fertig geschrieben, jedoch ist der Kunde König und dieser wollte, dass ich es durch Ansprechung der dynamischen Komponente mache.
Am 24.10. habe ich ein Meeting mit dem betreffenden Kunden und vllt. kann ich ihn an diesem Tag ja zurechtweisen.
Ich finde deinen Denkansatz mit der Abfrage der Wand interessant. Meinst du mit sonstigen Besonderheiten Rotation oder eben die Attribute wie Gewicht etc.?
Danke für deine Antworten!
Gruß Rob
-
Unter dem folgenden Link findest du ein Beispiel aus unserer Anwendung.
Der Programmstand wird von uns Ende Oktober veröffentlicht.
Advertisement